Ich habe wohl Schwierigkeiten mich verständlich auszudrücken.
... den status zurück ob es mit "runas" gestartet wurde oder nicht.
Das ist mein Problem. Die Programme können jeweils selbst in ein Log schreiben.
Ich hätte gerne
Delphi-Quellcode:
...
function IsStartedWithRunas():Boolean;
begin
...
end;
und diese soll False liefern wenn das Programm normal gestartet wurde und True wenn mit "runas".
Nochmal!
Das geht nur wenn du den Status aus Anwendung A selbst nach Anwendung B schickst auf welche art auch immer.
Beispiel habe ich genannt.
Verwende die WinProc und oder einen MessageHandler um die Message in Anwendung B zu empfangen.
Und schicke sie aus Anwendung A abhängig davon ob runAs verwendet wird oder nicht.
Delphi-Quellcode:
type
TForm1 = class(TForm)
private
...
protected
procedure ProcMessage(var Msg: TMessage);
public
...
end;
const
WM_MYRUNASCHECK = WM_User + 10;
//create..
FMessageHandle := Classes.AllocateHWnd(ProcMessage)
//destroy..
if FMessageHandle <> 0 then
Classes.DeallocateHWnd(FMessageHandle);
procedure TForm1.ProcMessage(var Msg: TMessage);
begin
if Msg.Msg = WM_MYRUNASCHECK then
begin
// schreibe dein Log (Msg.WParam = True oder False)
end
else
Msg.result := DefWindowProc(FMessageHandle, Msg.Msg, Msg.wParam, Msg.LParam);
end;