![]() |
Word Handle OLE
Hallo,
Wie kann ich eine Word-Instanz aus meiner Taskleiste holen? ich habe es schon mit diesen versucht, aber leider kennt OLE diese Funktion nicht.
Delphi-Quellcode:
kurioser weise haut diese mit Excel wunderbar hin{* Prüfe ob instanz vorhanden ist *} Word := GetActiveOleObject('Word.Application'); //WordHandle := FindWindow('Microsoft Word',nil); WordHandle := Word.Hwnd; Word.WindowState := wsNormal; Word.Visible := True; SetForegroundWindow(WordHandle);
Delphi-Quellcode:
weiss jemand wie ich dieses Problem lösen kann?
Excel := GetActiveOleObject('Excel.Application');
ExcelHandle := Excel.Hwnd; {* Handle wird ermittelt *} Excel.WindowState := SW_SHOWNORMAL; {* Fenster wird aus der Taskleiste geholt *} SetForegroundWindow(ExcelHandle); {* Fenster wird in den Vordergrund geholt *} |
AW: Word Handle OLE
Fehler behoben
War mal wieder DAU. hier die Lösung
Delphi-Quellcode:
Hatte nach nen Klassennamen gesucht und nicht nach den Fensternamen.
WordHandle := FindWindow(nil,'Microsoft Word');
Sorry für den unsinnigen Thread. |
AW: Word Handle OLE
Vielleicht doch noch was: Du hast für die beidem Office-Programme komplett unterschiedliche herangehensweisen, wie du das Fenster wieder sichtbar machst (1. wsNormal + Visible, 2. nur SHOW_...). Da ja das gleiche Ziel zu erreichen gesucht ist, könntest du auch eine Funktion bauen, die entweder aus Konstanten-Arrays sich die Werte holt und du dann nur einen Enum (z.B. AppWord, AppExcel, ...) übergibst oder du baust eine Funktion, der du dann 'Word.Application' und den ganzen Rest mitgibst.
Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 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