Registry eintrag in Local Machine als Admin

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Moorhenne.

    Registry eintrag in Local Machine als Admin

    Hallo Leute,

    Ich habe mir ein kleines Programm Programmiert mit dem ich dann über mein Handy den Pc sperren lassen könnte..
    aber ich bin leider beim starten des Programms gescheitert.. :)

    Ich würde mein Programm gerne vor dem explorer starten.. heißt so viel wie:

    VB.NET-Quellcode

    1. My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "Shell", "programm.exe")


    (ich starte es in Local Machine dass mein Bruder und meine Schwester nichts daran ändern können)

    Wenn ich jetzt über Shell versuche den Explorer zu starten, kommt leider nur der "Explorer" als Fenster.
    Ich habe herausgefunden, dass wenn ich den Registry-Eintrag währen der Pc anmeldet dann von meinem Programm zurück auf den Explorer änder und dann den Explorer starte, der Explorer als Desktop erscheint.

    => Ich muss den Eintrag kurz ändern habe aber die nötigen rechte nicht.. :( (nichtmal als Admin konnte mein Programm die Einträge ändern... was mach ich falsch?

    Wäre super wenn mir jemand weiterhelfen könnte...
    Mfg, Moorhenne

    kleiner Ansatz

    Ich habe jetzt nochmal sehr lange im Internet gesucht, bin jetzt auch etwas weiter gekommen, aber die Methode finde ich nicht sehr schön..

    VB.NET-Quellcode

    1. Try
    2. Dim p As New ProcessStartInfo("c:\reg.exe")
    3. p.UseShellExecute = False
    4. p.Domain = "WORKGROUP"
    5. p.UserName = "XXXXX"
    6. p.WindowStyle = ProcessWindowStyle.Minimized
    7. p.Password = New System.Security.SecureString()
    8. For Each c As Char In "-----"
    9. p.Password.AppendChar(c)
    10. Next
    11. Process.Start(p)
    12. Catch eex As Exception
    13. MsgBox("reg.exe konnte nicht mit adminrechten gestartet werden.", MsgBoxStyle.Exclamation, "Fehler!")
    14. End Try
    15. System.Threading.Thread.Sleep(1000)
    16. Shell("C:\windows\explorer.exe")
    17. System.Threading.Thread.Sleep(1000)
    18. Try
    19. Dim p As New ProcessStartInfo("c:\prog.exe")
    20. p.UseShellExecute = False
    21. p.Domain = "WORKGROUP"
    22. p.UserName = "XXXXX"
    23. p.WindowStyle = ProcessWindowStyle.Minimized
    24. p.Password = New System.Security.SecureString()
    25. For Each c As Char In "-----"
    26. p.Password.AppendChar(c)
    27. Next
    28. Process.Start(p)
    29. Catch eex As Exception
    30. MsgBox("prog.exe konnte nicht mit adminrechten gestartet werden.", MsgBoxStyle.Exclamation, "Fehler!")
    31. End Try


    die reg.exe enthältt diesen Code:

    Quellcode

    1. regedit /s C:\ex.reg


    und die ex.reg enthält diesen Code:

    Quellcode

    1. Windows Registry Editor Version 5.00
    2. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
    3. "Shell"="explorer.exe"


    die prog.exe ist das gegenteil von der reg.exe die dann wieder mein Programm vor dem Explorer starten lässt.. also:

    Quellcode

    1. Windows Registry Editor Version 5.00
    2. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
    3. "Shell"="C:\\Users\\XXXXX\\Documents\\Visual Studio 2010\\Projects\\Software\\Software\\bin\\Debug\\Software.exe"


    Das ganze funktioniert wenn ich mein Antivirensystem ausschalte.. :/
    Hat keiner eine leichtere Methode unter Windows7 in Local Machine zu schreiben?
    Warum startest Du den Rechner nicht mit einem persönlichen Passwort und gibst Deinen Geschwistern nur ein LogIn mit Gast-Rechten?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Die beiden haben keine Admin-Rechte.. das Programm dient ja hauptsächlich dazu dass ich den pc dann vom Handy sperren lassen kann.. d.h:
    mein Programm startet vor dem Explorer und wenn ich des per Handy eingestellt habe dass er den Benutzer sperren soll, sperrt mein programm..
    Das mit dem Handy hab ich alles schon ich scheitre nur noch daran, dass ich nicht mal mit Admin-Rechten nicht in Local-Machine reinschreiben kann..