Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fremde Application nach minimieren ansprechen (https://www.delphipraxis.net/54441-fremde-application-nach-minimieren-ansprechen.html)

Angel4585 4. Okt 2005 13:54


Fremde Application nach minimieren ansprechen
 
Hallo nochmal,

Ich mach das mal als extra Thread weil ich woanders schonmal probleme bekommen habe als ich in nen alten Thread ne neue Frage gestellt hab

Also ich hab ein weiteres kleines Problem.

Ich minimiere eine fremde Anwendung mit:

Delphi-Quellcode:
ParentHandle:=FindWindow(nil,'Fremde Anwendung');
//Minimieren der zweiten AW
SendMessage(ParentHandle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
Wenn ich jetzt mit
Delphi-Quellcode:
ParentHandle:=FindWindow(nil,'Fremde Anwendung');
//Wiederherstellen der zweiten AW
SendMessage(ParentHandle, WM_SYSCOMMAND, SC_RESTORE, 0);
das ganze Wiederherstellen will springt die fremde Anwendung nicht darauf an.
auch nicht wenn ich das erneute FindWindow weglasse

Danke nochmal

Baeuerle 4. Okt 2005 14:04

Re: Fremde Application nach minimieren ansprechen
 
Versuch es doch mal mit WM_SHOWWINDOW

:wink:

Olli 4. Okt 2005 14:09

Re: Fremde Application nach minimieren ansprechen
 
Oder MSDN-Library durchsuchenShowWindow

Angel4585 4. Okt 2005 14:11

Re: Fremde Application nach minimieren ansprechen
 
Hab jetzt

SendMessage(ParentHandle, WM_SYSCOMMAND, WM_SHOWWINDOW, 0);

und

SendMessage(ParentHandle, WM_SHOWWINDOW, 0, 0);

ausprobiert, geht aber beides irgendwie nicht.

ShowWindow(ParentWindow,1);

Funktioniert, Danke alle beide :-D

Olli 4. Okt 2005 14:14

Re: Fremde Application nach minimieren ansprechen
 
Zitat:

Zitat von Angel4585
[...] SendMessage(ParentHandle, WM_SHOWWINDOW, 0, 0);

ausprobiert, geht aber beides irgendwie nicht.

Auch MSDN-Library durchsuchenWM_SHOWWINDOW hat Parameter ;)

Zitat:

Zitat von Angel4585
ShowWindow(ParentWindow,1);

Bitte eine der SW_*-Konstanten benutzen. Literale Werte sind eine Unsitte bei sowas ;)

Baeuerle 4. Okt 2005 14:19

Re: Fremde Application nach minimieren ansprechen
 
Musst die L / WPARAM auch übergeben nicht einfach 0,0 !

SendMessage(ParentHandle, WM_SHOWWINDOW, True, SW_PARENTOPENING);

Immer schön die Hilfe lesen :gruebel:

Angel4585 4. Okt 2005 14:28

Re: Fremde Application nach minimieren ansprechen
 
WOW ein Zauberer... :-D

Wie kanns du als WPAram 'true' übergeben? Bei mir bringt der Compiler da ne Fehlermeldung

Baeuerle 4. Okt 2005 14:35

Re: Fremde Application nach minimieren ansprechen
 
True = 1
False = 0

Schonmal gelesen ???? :wall:

Zitat:

The WM_SHOWWINDOW message is sent to a window when the window is about to be hidden or shown.

WM_SHOWWINDOW
fShow = (BOOL) wParam; // show/hide flag
fnStatus = (int) lParam; // status flag


Parameters

fShow

Value of wParam. Specifies whether a window is being shown. It is TRUE if the window is being shown or FALSE if the window is being hidden.

fnStatus

Value of lParam. Specifies the status of the window being shown. The fnStatus parameter is zero if the message is sent because of a call to the ShowWindow function; otherwise, fnStatus is one of the following values:

Value Meaning
SW_OTHERUNZOOM Window is being uncovered because a maximize window was restored or minimized.
SW_OTHERZOOM Window is being covered by another window that has been maximized.
SW_PARENTCLOSING Window's owner window is being minimized.
SW_PARENTOPENING Window's owner window is being restored.
Das ist ein orginal Auszug aus der Delphi Hilfe !!!

Angel4585 4. Okt 2005 14:44

Re: Fremde Application nach minimieren ansprechen
 
Reg dich doch auf..

Hab jetzt SendMessage(ParentHandle, WM_SHOWWINDOW, 1, SW_PARENTOPENING);

Geht aber imernochnicht...obwohl es eigentlich glaub gehen sollte

Olli 4. Okt 2005 17:15

Re: Fremde Application nach minimieren ansprechen
 
Zitat:

Zitat von Baeuerle
True = 1
False = 0

Schonmal gelesen ???? :wall:

Jo, und dennoch hat er recht, denn korrekterweise muß es ord(True) oder eben ord(False) heißen. Alternativ tut's auch ein Typecast nach WPARAM.


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