Hallo,
ich versuche, bei Zone Alarm die Sicherheitsabfrage per Fensterhandle automatisch zu beantworten. (ist für eine Demo wie unsicher Windows ist dank der FensterN)
Bei der Windows Firewall klappt dies auch ohne anstand, aber bei ZoneAlarm komme ich über SetFocus nicht hinaus,
d.h. der Button "Zulassen" wird zwar focussiert, aber er klickt sich nicht
Hier der Code (vorwiegend WinSpy generiert):
Delphi-Quellcode:
function FindWindowEx2(hParent: HWND; ChildClassName: string; ChildNr: Word): HWND;
var
i: Word;
hChild: HWND;
begin
hChild := 0;
Result := 0;
ChildNr := ChildNr - 1;
for i := 0 to ChildNr do
begin
hChild := FindWindowEx(hParent, hChild, PChar(ChildClassName), nil);
if hChild = 0 then
Exit;
Result := hChild;
end;
end;
Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
var wnd: HWND;
begin
wnd := FindWindow('
#32770','
ZoneAlarm-Sicherheitswarnung');
wnd := FindWindowEx2(wnd,'
ZaButton', 3);
if wnd <> 0
then
begin
//ShowMessage('Window found. Handle: ' + IntToStr(wnd));
SendMessage(wnd, WM_SETFOCUS, 0, 0);
PostMessage(wnd, WM_LButtonDown, MK_LBUTTON,0 );
PostMessage(wnd, WM_LButtonUp, 0, 0); }
end;
Im Anhang ist noch ein Screenshot vom ZA-Fenster und von WinSpy.