![]() |
FindWindow in einem Service unter Vista
Hi.
Hier ist mein Code:
Delphi-Quellcode:
Es funktioniert in einer normalen Application (sowohl vista als auch xp).
procedure SendMessageToWindow(msg: LongWord;value:longword=0);
var Wnd: THandle; begin Wnd := FindWindow('myClass', NIL); if Wnd > 0 then begin if IsWindowResponding(Wnd,100) then SendMessage( HWND_BROADCAST, RegisterWindowMessage('myAppMessage'), msg, value ) else Error('hung!!'); end; end; Es funktioniert in einem Service unter XP. Es funktioniert NICHT in einem Service unter Vista. Wnd ist da immer 0. Anscheinend funktioniert FindWindow in einem Service unter Vista nicht mehr. Gibt es eine andere Möglichkeit Nachchrichten an ein Fenster zu schicken? (damit es z.B. in den Vordergrund kommt). Danke im Voraus! |
Re: FindWindow in einem Service unter Vista
Interaktive Dienste gibt es unter Vista aus Sicherheitsgründen nicht mehr, und auch bei XP musste man das ggf. erlauben.
|
Re: FindWindow in einem Service unter Vista
Der Dienst ist nicht als Interaktiv gekennzeichnet! (funktioniert also unter XP mit ausgeschalteter Interaktivität).
|
Re: FindWindow in einem Service unter Vista
|
Re: FindWindow in einem Service unter Vista
Zitat:
|
Re: FindWindow in einem Service unter Vista
Luckie, wieso funktioniert es dann unter XP? Ist es nur Zufall dass es dort in der gleichen WS ist?
|
Re: FindWindow in einem Service unter Vista
Das kann unter XP nur mit einem interaktiven Service funktionieren.
|
Re: FindWindow in einem Service unter Vista
Hallo,
unter welchem Account läuft denn der Dienst unter XP ? Vielleicht ist bei dem benutzten Account interaktiv automatisch "freigeschaltet". Heiko |
Re: FindWindow in einem Service unter Vista
Gibt es keinen Workaround um eine Nachricht aus dem Service zu der App zu schicken? In die andere Richtung geht es ja, über den ServiceManager.
|
Re: FindWindow in einem Service unter Vista
Ich habe das über ein MemoryMapped-File und ein Event/Mutex/whatever gebaut. Ist relativ einfach und funktioniert gut, Source kann ich leider keinen posten, da nicht zuhause :)
HTH |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 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