Registriert seit: 7. Mai 2006
71 Beiträge
|
Re: Anstatt ID den Namen verwenden?
29. Jun 2006, 13:21
Hallo Christian,
ich hab schonmal folgendes gemacht, bekomme aber immer nur die erste Checkbox zurück.
Bin ich mit dem Beispiel schon auf dem richtigen Weg?
Grüsse Mirco
Delphi-Quellcode:
const
WinName = 'Fax 1.1';
WinClass = nil;
implementation
{$R *.dfm}
function EnumProc(StHandle: HWND; lines: TStrings): boolean; stdcall;
var
buffer, desc: array[0..100] of char; // max. 101 Zeichen
begin
GetClassname(StHandle, buffer, 100); // 100
GetWindowText(StHandle, desc, 100); // 100
lines.add(format('ID: %d, Class: %s, Text: %s', [GetDlgCtrlID(StHandle), buffer, desc]));
end;
procedure TForm1.Button1Click(Sender: TObject);
var
hwnd: dword;
begin
Memo1.clear;
hwnd := FindWindow(WinClass, WinName);
if hwnd <> 0 then
begin
showmessage(IntToStr(hwnd));
if (hwnd = 0) then
begin
messagebox(0, 'Programm nicht im Speicher!', 'Warning!', 0);
exit;
end;
EnumChildWindows(hwnd, @EnumProc, Integer(Memo1.Lines));
end;
end;
Mirco Hallenga
|
|
Zitat
|