![]() |
Messages unter Windows 10
Unter Windows 10 scheint das Versenden von Nachrichten zwischen verschiedenen Prozessen nicht mehr zu funktionieren.
Ich verwende das in einem Programm, um ein Autohotkey Skript mit einem Delphi Programm zu koppeln (manche Dinge sind per AHK ungeich einfacher zu machen als per Delphi) Unter Delphi 10 reagiert das AHK-Skript nicht mehr auf eine solche Message, unter Windows 7 funktioniert das gleiche einwandfrei.
Code:
Die entsprecchenden Werte - Fensterhandle des AHK Skripts und Message Nummer - werden im Ini-File vom AHK-Skript richtig hinterlegt, das habe ich schon überprüft. Aber unter Windows 10 kommt die Message anscheinend nicht an. Sind euch in dem Bereich irgend welche Änderungen seitens Microsoft bekannt?
ahkHandle:=inifile.ReadInteger('Scan','AHK',0);
PostMessage(ahkHandle,inifile.ReadInteger('Scan','AHKMsg',0),2,0); |
AW: Messages unter Windows 10
Gehts damit?
Delphi-Quellcode:
var
ahkHandle: HWND; //<--- wichtig! begin ahkHandle := inifile.ReadInteger('Scan', 'AHK', 0); PostMessage(ahkHandle, UINT(inifile.ReadInteger('Scan', 'AHKMsg', 0)), WPARAM(2), LPARM(0)); end; |
AW: Messages unter Windows 10
Mit dem window Detective kannst du auch sehen ob die Messages nicht ankommen oder ob falsche Werte drin sind.
|
AW: Messages unter Windows 10
Laufen die Prozesse in unterschiedlichen Rechte-Kontexten? Vereinfacht gesagt: wird einer davon als Administrator ausgeführt?
MfG Dalai |
AW: Messages unter Windows 10
Ich habe mir den Window detective heruntegeladen und installiert, dnke für den Hinweis. Es wird von meinem Delphi-Programm offenbar keine Message an das AHK-Fenster geschickt, zumindest zeigt auch der window detectivbe nichts an.
Die Fensterhandle, die ich an das sendmessage übergebe, ist genau der Wert, den auch der window detective anzeigt (es ist natürlich nach jedem Neustart des AHK-Skripts ein anderer Wert, aber der wird vom Skript richtig im Ini-File hinterlegt). Zitat:
Als Messagenummer habe ich willkürlich den Wert 8193 festgesetzt - Hat sich am Bereich der erlaubten Messagenummern von Win7 auf win10 etwas geändert? @Dalai Beide Prozesse werden im noralen Userkontext ausgeführt, zumindest sollten sie das. Dass das AHK-Skript normalerweise schon im Windows autostart geladen wird, sollte daran ja nichts ändern, oder? Kann ich das für laufende Prozesse irgendwie überprüfen? edit: @Dalai Danke, das war es. Ich dürfte das Skript irgendwann beendet haben und dann von meinem Total Commander aus gestartet haben, der immer mit Adminrechten läuft. Danach lief es natürlich im Admin-Kontext. Bei Win 7 und ausgeschalteter UAC war das anscheinend kein Problem. Unter win10 dürfte man die aber nicht mehr loswerden, oder? |
AW: Messages unter Windows 10
Zitat:
|
AW: Messages unter Windows 10
Zitat:
|
AW: Messages unter Windows 10
Zitat:
Natürlich ist das in vielen Umgebungen nicht empfehlenswert. Aber was ist das (mit einer sehr sehr geringen Wahrscheinlichkeit behaftete) Risiko in meinem privaten Netzwerk, als dass ich schlimmstenfalls den PC neu aufsetzen und die gesicherten Daten vom Vortag zurückspielen muss, wenn ich über das Internet einen ganz neuen, ganz bösartigen Virus erwische, den mein Antivirus noch nicht kennt, der die Kontrolle über den PC übernimmt? Dem stehen unnötige Rückfragen der UAC am laufenden Band gegenüber. Und allein dieses unnötige Zwischenspiel mit der blockierten Message hat mich in Summe genauso viel, wenn nicht mehr Ärger und mehr Zeit an Fehlersuche gekostet, als so ein worst case mich kosten könnte. |
AW: Messages unter Windows 10
Du kannst alles abschalten und deaktivieren. Wo ist da die Bevormundung? Auf der anderen Seite wird sich immer beschwert, dass dich Sicherheitseinstellungen von Windows zu locker sind. :roll:
|
AW: Messages unter Windows 10
Zitat:
Und wenn's nur um Dich gehen sollte - die Krypto-Schadsoftware wird auch immer gerissener und befällt - je nach Backup-Methode natürlich - selbst Backups. Dass Dich die Geschichte mit den Messages Ärger gekostet hat, ist ärgerlich - aber ist nunmal Standard-Ursache Nummer 1 für fehlgeschlagene Window Message-IPC. Beschwer Dich lieber bei den Entwicklern, die Programme so entwickeln, dass sie unnötigerweise immer mit Admin-Rechten laufen wollen. Microsoft hat da eigentlich in allen Logo-Programmen immer gegengesteuert - wenn ein Programm "works with" oder "certified for" (oder moderne Varianten davon) sein soll, darf das Hauptprogramm keine Elevation benötigen (kann sich natürlich trotzdem selber bei Bedarf später elevaten). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz