Einzelnen Beitrag anzeigen

Mirco

Registriert seit: 7. Mai 2006
71 Beiträge
 
#12

Re: Anstatt ID den Namen verwenden?

  Alt 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
  Mit Zitat antworten Zitat