Hallo,
ich suche jetzt bestimmt schon seit 2 Stunden nach einem Beispiel, aber ich finde einfach nichts verwertbares (bin noch zimlicher Anfänger in Purebasic, ich programmiere aber schon etwas länger in anderen Sprachen). Das einzigste, was ich gefunden habe ist die WinAPI Funktion CreateprocesswithlogonW, damit kann ich allerdings nicht viel Anfangen
Ich möchte ein Programm als Administrator (lokal) starten, das Passwort habe ich natürlich. Wie könnte ich dies jetzt am besten lösen?
Betriebsystem:
Windows XP, nach möglichkeit auch Win2K
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Ja, das klappt zwar schon, aber ich möchte nicht diesen Dialog haben, sondern, dass das ganze Programmintern gemacht wird (Pass liegt in einer Variable)
GetLastError gibt immer 2 zurück (ERROR_FILE_NOT_FOUND; The system cannot find the file specified.) .
Die Datei existiert allerdings...Auch die explorer.exe konnte er nicht finden
Danke für eure Hilfe im vorraus
Ok, das hab' ich jetzt soweit verstanden (klappt auch super), allerdings muss ich das ganze als ANSI haben, weil ich die Procedure als DLL in einem anderem Programm brauche, welches nur ANSI unterstütz (ich weiß nicht wieso, aber PureBasic-DLLs mit Unicode klappen da nicht )
Laut WinAPI gibt es auch keinCreateProcessWithLogonA; was könnte man da jetzt machen?
Barratator hat geschrieben:
Laut WinAPI gibt es auch keinCreateProcessWithLogonA; was könnte man da jetzt machen?
Vielen Dank im vorraus!
Gruß
Bastian
Stichwort: Prototype, Pseudotype p-unicode
DLL Funktionen sollten sowieso immer geprototyped werden! Um den
Lerneffekt zu erhalten, kein Beispiel
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Jetzt gibt es aber das Problem, dass selbst wenn die Benutzernamen und Passwörter richtig sind, das ganze als "User" (aktueller Benutzername) ausgeführt wird.
Wenn ich jetzt aber die Benutzernamen und Passwörter ändere, sodass sie nichtmehr richtig an die Funktion übergeben werden, wird trotzdem 1 (Erfolgreich) zurückgegeben und das Programm als "User" geöffnet o.O