hay,
zu dem stichwort findwindows hab ich unter
dsdt was gefunden:
Delphi-Quellcode:
type
PFindWindowStruct = ^TFindWindowStruct;
TFindWindowStruct = record
Caption: string;
ClassName: String;
WindowHandle: THandle;
end;
function EnumWindowsProc(hWindow: hWnd; lParam: LongInt): boolean; stdcall;
var lpBuffer: PChar;
WindowCaptionFound: boolean;
ClassNameFound: boolean;
begin
GetMem(lpBuffer, 255);
result:=true;
WindowCaptionFound:=false;
ClassNameFound:=false;
try
if GetWindowText(hWindow, lpBuffer,255)>0 then
if Pos(PFindWindowStruct(lParam).Caption, StrPas(lpBuffer))>0
then WindowCaptionFound:=true;
if PFindWindowStruct(lParam).ClassName='' then
ClassNameFound:=true
else if GetClassName(hWindow, lpBuffer, 255)>0 then
if Pos(PFindWindowStruct(lParam).ClassName, StrPas(lpBuffer))>0
then ClassNameFound:=true;
if (WindowCaptionFound and ClassNameFound) then begin
PFindWindowStruct(lParam).WindowHandle:=hWindow;
result:=false;
end;
finally
FreeMem(lpBuffer, sizeof(lpBuffer^));
end;
end;
function FindAWindow(WinCaption: string; WinClassName: string): THandle;
var WindowInfo: TFindWindowStruct;
begin
with WindowInfo do begin
caption := WinCaption;
className := WinClassName;
WindowHandle := 0;
EnumWindows(@EnumWindowsProc, LongInt(@WindowInfo));
result := WindowHandle;
end;
end;
procedure TForm1.Button1Click(sender: TObject);
var TheWindowHandle: THandle;
begin
TheWindowHandle:=FindAWindow('Netscape -', '');
if TheWindowHandle=0 then
ShowMessage('Window not found!')
else
BringWindowToTop(TheWindowHandle);
end;
aber wo kommt da der code rein der für das fenster gillt, falls es existiert?
und den code für das "fremde" fenster kann ich auch normal benutzen z.b. combobox1.text:='blabla';, aber ich weiss bei dem fenster ja nicht wie die objekte heissen.
ich weiss nicht mal in welcher sprache das programm gecodet wurde...
mfG toredo