Ich habe ein weiteres Problem mit zwei kommunizierenden Programmen, wenn eines im Admin-Mode läuft (ja, es gibt Anwender die das aus welchen Gründen auch immer tun).
Das erste Programm (C++) sendet an das zweite Kommandos per SendNotifyMessage (non-blocking mit anschliessendem Timeout):
Code:
SendNotifyMessage(hSendMessageToClient,WM_COMMAND,0,kWM_COMMAND);
waitResult = WaitForSingleObject(hCommand1Done,250);
Das zweite Programm verwendet dazu dann einen Handler mit
Delphi-Quellcode:
const
WM_COMMAND = WM_USER + 77;
...
procedure CommandHandler(var Msg: TMessage); message WM_COMMAND1;
...
procedure TMainForm.CommandHandler(var Msg: TMessage);
begin
case Msg.LParamLo of
kWM_COMMAND1:
begin
ProcessCommand;
SetEvent(hCommand1Done);
end;
...
end;
end;
Das klappt alles. Prog2 antwortet innerhalb des TimeOuts und Prog1 läuft korrekt weiter.
Wenn nun aber das Prog2 im Admin-Mode läuft, dann wird der CommandHandler nicht mehr aufgerufen, bekommt also anscheinend die Message nicht mehr. Demzufolge erfolgt auch keine Rückmeldung und das Prog1 geht in den Fehlermodus.
Meine simple Frage hierzu: warum stopt der Admin-Mode das Messaging und was dagegen tun?
Grüsse
Uli
Er wollte so richtig in Delphi einsteigen. Nun steckt er ganz tief drin ...