Hallo alle...
Ich brauche mal einen Rat.
Gegeben:
* Windows 10, DX
* Programm 1 startet mit Adminrechten (
UAC fragt nach)
* Programm 1 soll mit ShellExecute die Datei "bdcedit.exe" aus System32 starten
Fehler:
ResultCode = 2 -> Datei nicht gefunden. (In jeder Variante gleich)
Codes: (jede Zeile ist immer alternatives Probieren)
Delphi-Quellcode:
ResultCode:= ShellExecute(0, 'open', PChar('bcdedit.exe'), PChar('/set TESTSIGNING ON'), nil, SW_HIDE);
ResultCode:= ShellExecute(0, 'runas', PChar('bcdedit.exe'), PChar('/set TESTSIGNING ON'), nil, SW_HIDE);
ResultCode:= ShellExecute(0, 'open', PChar('cmd.exe'), PChar('/K bcdedit.exe /set TESTSIGNING ON'), nil, SW_HIDE);
ResultCode:= ShellExecute(0, 'runas', PChar('cmd.exe'), PChar('/K bcdedit.exe /set TESTSIGNING ON'), nil, SW_HIDE);
Herausgefunden:
Wenn man die normale CMD normal startet und man sich im System32 befindet, findet das System die Datei nicht. Mit als Admin gestarteter CMD schon.
Deswegen gehe ich mit dem Shellexecute von einem Rechteproblem aus. Da ich das Programm 1 schon als Admin gestartet habe komm beim "runas" auch keine
UAC Frage mehr.
Frage:
Warum findet er die nicht? Wie kriege ich die Datei gestartet?
Danke...