Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Anwendung in den Vorgrund holen (anhand der ProcessID) (https://www.delphipraxis.net/33579-anwendung-den-vorgrund-holen-anhand-der-processid.html)

UweR 9. Nov 2004 13:24


Anwendung in den Vorgrund holen (anhand der ProcessID)
 
Hallo Leute,

ich habe das folgende Problem ich möchte ein laufendes ACCESS-Programm in den Vordergrund holen. Ich habe die ProcessID und wollte das ganz einfach über EnumWindows machen und mir mit GetWindowThreadProcessId diese holen, vergleichen und sobald ich den richtigen WindowHandle habe das Fenster dazu veranlassen bitte in den Vordergrund zu treten. Leider kriege ich nicht nur einen Windowhandle sondern direkt ne ganz Kollektion angeboten und ich stehe vor der Frage welches denn nun das richtige ist.
Kann mir jemand ne Lösung nennen oder nen Tip geben wie ich sowas am besten anfange.

Luckie 9. Nov 2004 13:30

Re: Anwendung in den Vorgrund holen (anhand der ProcessID)
 
Tja. Ein Prozess kann eben mehrere Fenster haben. Kannst du das fenster nicht an Hand seiner Caption näher bestimmen?

UweR 9. Nov 2004 14:03

Re: Anwendung in den Vorgrund holen (anhand der ProcessID)
 
Zitat:

Tja. Ein Prozess kann eben mehrere Fenster haben. Kannst du das fenster nicht an Hand seiner Caption näher bestimmen?
Tja, wenn ich das könnte würde ich es ja tun. Da ich aber nicht nur eins, sondern auch mehrere ACCESS-Programme habe und die Caption mir nicht unbedingt bekannt ist würde ich diesen Weg nur sehr ungern gehen.

Es muß jedoch irgendwie möglich sein mich zum Fenster des Hauptformulars zu führen und dabei irgendwelchen Irrwegen wie einen Handle auf ein Fenster DDE-Server auszuweichen.

By the way
Gibt es alternative zu WinSight was einem die Forschung erleichtern würde. Ich habe irgendwann mal ein brauchbares ausgegraben, das habe ich dann aber wieder intern so gut verbuddeld das ich es jetzt nicht mehr wieder finde.

Sprint 9. Nov 2004 19:43

Re: Anwendung in den Vorgrund holen (anhand der ProcessID)
 
Zitat:

Zitat von UweR
Gibt es alternative zu WinSight was einem die Forschung erleichtern würde. Ich habe irgendwann mal ein brauchbares ausgegraben, das habe ich dann aber wieder intern so gut verbuddeld das ich es jetzt nicht mehr wieder finde.

Microsoft Spy++ zum Beispiel. Vielleicht helfen dir auch die Programme WinSpy und X-Spy weiter. Diese Programme wurden von zwei aktiven Forenmitgliederen entwickelt.

Zu deinem Problem: Mehr Infos wären nicht schlecht. :wink:

atreju2oo0 9. Nov 2004 19:59

Re: Anwendung in den Vorgrund holen (anhand der ProcessID)
 
Hab leider keinen konkretten Lösungsvorschlag aber ne Idee...
Müßte das Hauptfenster nicht als erstes erzeugt worden sein?
Wenn man also die Zeit die die Prozesse existieren überpfrüft und das mit der
längsten vorholt ... :gruebel:

Falls das nicht geht dann vergesst es einfach wieder... :wall:

UweR 10. Nov 2004 08:00

Re: Anwendung in den Vorgrund holen (anhand der ProcessID)
 
Hallo Leute,

erst mal danke für eure Antworten. Ich Frage jetzt den CLassName als weiteres Kriterium ab, damit sollte es funktionieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:53 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