Registriert seit: 17. Jan 2007
1.169 Beiträge
Turbo Delphi für Win32
|
Re: Programme aus der Taskleiste aufrufen?
7. Apr 2007, 21:00
Zitat von smart:
Wie komme ich an das Handle?
Bei deinem Problem würde sich wohl EnumWindows() anbieten:
Delphi-Quellcode:
function EnumWin(hWnd: THandle; FindWin: PString): Boolean; stdcall;
var
WinText: AnsiString;
begin
Result := True;
if IsWindowVisible(hWnd) and not boolean(GetWindowLong(hWnd, GWL_HWNDPARENT)) then
begin
SetLength(WinText, SendMessage(hWnd, WM_GETTEXTLENGTH, 0, 0));
SendMessage(hWnd, WM_GETTEXT, Length(WinText)+ 1, integer(WinText));
if (length(WinText)> 0) and (WinText <> 'Program Manager') then
begin
if IsIconic(hWnd) then//ist das Fenster minimiert
if WintExt = FindWin^ then//DEMO
ShowWindow(hWnd, SW_RESTORE);//SW_MAXIMIZE
//Form1.ListBox1.Items.Add(WinText);
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
FindWin: String;
begin
FindWin:= 'Unbenannt - Editor';
EnumWindows(@EnumWin, integer(@FindWin));
end;
Gruß bitsetter
"Viele Wege führen nach Rom" Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
|
|
Zitat
|