[VisualBasic] Bestimmte Windows Einstellungen verändern

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Brainstorm, 19. September 2007 .

  1. 19. September 2007
    Bestimmte Windows Einstellungen verändern

    Ich möchte gerne ein spezielles Programm in Visual Basic programmieren.
    Die Grundlagen in Visual Basic kann ich, aber wir hatten leider nur son Noob Lehrer in der Berufsschule. Eine andere Programmiersprache wäre mir zum Lernen halt auch lieber gewesen.
    Naja. Auf jeden Fall soll das Programm mit Visual Basic programmiert sein.
    Wenn ihr ein Paar Code Beispiele zu meinen Vorstellungen unten posten könntet wäre das echt sehr hilfreich und wir natürlich mit einer Bewertung belohnt.

    also hier mal meine Vorstellung von dem Programm:

    - Das Programm soll 2 Buttons haben. Einen AN und einen AUS Button
    - Das komplette Programm soll im Quellcode beinhalten, dass es alle Anweisungen mit dem Administrator Account des Computers ausführt. Das Passwort für den Administrator kann man ruhig mit einkompilieren.

    Wenn man auf den AN Knopf drückt soll folgendes passieren:

    1. Die aktuelle IP Adresse die im 172.16.126.* Netz Bereich liegt soll auf irgendeine Adresse im Bereich zwischen 172.16.127.200 bis 172.16.127.230 geändert werden.
    Meine Idee dazu ist wie ich dir schon gesagt habe, dass er nacheinander die Adressen auf die man wechseln will durch pingt und er dann die nächste freie nimmt von der keine Antwort zurückkommt.
    Hintergrund ist, dass wenn mehrere Leute das Programm starten, man natürlich immer nur eine freie IP verwenden kann. Bevor er die IP Adresse ändert, soll er die alte nehmen und in eine z.B Text Datei schreiben, damit man sie später wiederherstellen kann (mit dem AUS Button).

    2. Die Proxy Einstellungen sollen geändert werden auf 10.0.0.1 Port: 8090

    Das könnte man entweder über den folgenden Registrierungseintrag machen:

    [HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings]
    "ProxyServer"="10.0.0.1:8090"

    Oder man benutzt den "proxycfg" Befehl unter Windows mit dem Parameter "-p" um die neue Proxy Adresse festzulegen.

    Der proxycfg Befehl wäre wahrscheinlich sinnvoller, da das komplette Programm ja mit dem Administrator Account läuft und wenn man dann die Registrierung auführen würde, würde man nur die Einstellungen des Administrators unter "HKEY_CURRENT_USER" ändern können statt des eigenen Benutzers.
    Hintergrund ist, dass Windows die "HKEY_CURRENT_USER" Einstellungen in der Registrierung je nach Benutzer der die Registrierung ausführt dementsprechend läd und somit man immer nur die Einstellungen angezeigt bekommen kann von dem Benutzer der die Registrierung ausgeführt hat.
    Was natürlich dann nix bringt, denn man möchte die Einstellungen ja nicht beim Administrator verändern sondern beim eigenen Benutzer.


    Beim AUS Knopf soll dann folgendes passieren:

    1. Die IP Adresse aus der Text Datei soll wieder gesetzt werden und anschließend die Textdatei wieder gelöscht werden.

    2. Die Proxyeinstellungen sollen wieder auf die Adresse 172.16.126.1 Port:8080 gesetzt werden.
    Also wieder auf die gleiche Weise entweder über den Registrierungseintrag oder über den Befehl "proxycfg -p"


    Das ist dann auch schon alles ^^

    Danke schon mal für mögliche Antworten.

    Mfg

    Brainstorm
     
  2. 19. September 2007
    AW: Bestimmte Windows Einstellungen verändern

    IP ändern mit VB
    Code:
    Imports System 
    Imports System.Text 
    Imports Microsoft.Win32 
    
    Module ChangeIP 
    
     Sub Main() 
     Dim regKey As RegistryKey 
     Dim strServiceName As String 
    
     ' Open the key to read the network card details 
     regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\1") 
    
     ' Save the 'ServiceName' value 
     strServiceName = regKey.GetValue("ServiceName") 
     regKey.Close() 
    
     ' Open the 'Tcpip' key for this service 
     regKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Services\" & strServiceName & "\Parameters\Tcpip", True) 
    
     ' Set the value of the IP address, writing the bytes and NOT the string 
     regKey.SetValue("IPAddress", Encoding.ASCII.GetBytes("10.1.1.1\0\0")) 
     regKey.Close() 
    
     End Sub 
    
    End Module 
    
    Quelle:
    .NET | Dr Dobbs


    starten von proxycfg
    Code:
    Dosbox auslesen 
    
    Dieses Script gibt das Ergebnis einer Dosbox in einer Messagebox wieder. 
    Bei diesem Beispiel wird ein Ping ausgeführt und das Ergebnis ausgegeben. 
    
    
    strTarget = "127.0.0.1" 
    Set objShell = CreateObject("WScript.Shell") 
    Set objExec = objShell.Exec("ping -n 2 -w 1000 " & strTarget) 
    strPingResults = LCase(objExec.StdOut.ReadAll) 
    msgbox(strPingResults) 
    
    oder das hier
    cmd fenster bei WScript.Shell exec unterdrücken (Visual-Basic,Vba)



    mehr hab ich jetzt auf die schnelle mal nicht gefunden, ich hoffe das hilft dir etwas weiter
     
  3. 23. September 2007
    AW: Bestimmte Windows Einstellungen verändern

    Mal schnell die Hausaufgaben machen lassen?

    Das mit den beiden Schaltern sollte wohl jeder hinbekommen in VB.
    Das mit dem Admin sollte nicht gehen... kannst zuwar teile als admin Ausführen lassen aber nit das Programm an sich.

    mfg
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.