Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fremdes Programm (Excel) Focus setzen, Handle finden (https://www.delphipraxis.net/82458-fremdes-programm-excel-focus-setzen-handle-finden.html)

Ferber 13. Dez 2006 16:39


Fremdes Programm (Excel) Focus setzen, Handle finden
 
Zu diesem Thema habe ich diesen Beitrag gefunden:
http://www.delphipraxis.net/internal...cus+findwindow
Mein Problem ist, daß Excel den Fensternamen je nach geöffnetem Dokument ändert, somit 'findwindow' nicht funzt.
Dieser Code funktioniert solange Excel kein Dokument geöffnet hat:
Delphi-Quellcode:
procedure SetFocusTo(aWndName:String);
var AppHWnd:HWND;
begin
  AppHWnd := FindWindow(nil,PChar(aWndName));
  if IsWindow(AppHWnd) then
     SetForegroundWindow(appHWnd);
end;

procedure SetFocusToExcel;
begin
  SetFocusTo('Microsoft Excel');
end;
Wie finde ich AppHWnd auf alle Fälle ? :gruebel:

Ferber 13. Dez 2006 17:46

Re: Fremdes Programm (Excel) Focus setzen, Handle finden
 
Hab's mittlerweile selbst hingekriegt.
Nachdem das Prog als ComObjekt von Excel aus gestartet, und die Dialoge von VB aus aufgerufen werden,
gebe ich als Parameter 'ActiveSheet' mit und bekomme mit 'ActiveSheet.Application.ActiveWorkbook.Name' den
Namen des offenen Workbooks, damit funktioniert auch 'findwindow' :idea:


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