AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SendNotifyMessage und Admin Mode

Ein Thema von UliBru · begonnen am 20. Jun 2017 · letzter Beitrag vom 20. Jun 2017
Antwort Antwort
UliBru

Registriert seit: 10. Mai 2010
155 Beiträge
 
Delphi 11 Alexandria
 
#1

SendNotifyMessage und Admin Mode

  Alt 20. Jun 2017, 11:36
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 ...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: SendNotifyMessage und Admin Mode

  Alt 20. Jun 2017, 11:40
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.
Das ist AS Designed seit Vista. Viren und Würmer sei dank.


Meine simple Frage hierzu: warum stopt der Admin-Mode das Messaging und was dagegen tun?
Ich hoffe man kann dagegen gar nichts machen. Das wurd von MS eingebaut damit nicht eine Virus über fingierte Messages den Virenscanner/Firewall abschalten kann.
Du wirst dein Programm umbauen mussen damit andere (legitime) Kommunikationsmöglichkeiten verwendet werden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
UliBru

Registriert seit: 10. Mai 2010
155 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: SendNotifyMessage und Admin Mode

  Alt 20. Jun 2017, 12:26
Danke. Einleuchtend. Auf Basis der Antwort habe ich denn auch was dazu gefunden, Stichwort UIPI
Ich muss es auch nicht unbedingt ändern. Eine sinnvolle Erklärung für den Anwender reicht auch. Das Programm ist nicht für den Admin-Mode vorgesehen, er wird auch nicht benötigt.

Grüsse
Uli

PS: theoretisch/praktisch geht es wohl mit ChangeWindowMessageFilter, aber es wird davor gewarnt.
Er wollte so richtig in Delphi einsteigen. Nun steckt er ganz tief drin ...

Geändert von UliBru (20. Jun 2017 um 12:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: SendNotifyMessage und Admin Mode

  Alt 20. Jun 2017, 13:14
Ich hab vergessen wie die API heißt, aber man kann Messages freischalten, damit sie nicht gesperrt werden. (wird z.B. für Copy&Paste und Drag&Drop gern mal freigegeben)

[edit]
Vor dem Mittag vergessen abzusenden und nun steht's schon da.
ChangeWindowMessageFilter
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz