Jak przechwycić adres wpisany w explorerze Windows. Bym chciał o takie przechwytywanie jak w artykule : <url> Jak przechwycić adres WWW wpisany w przeglądarce </url> tylko żeby tak przechwycić z explorera Windows
0
0
Na 100% działa w Windows 98 a w XP nie sprawdziłem jak nie działa to pisz.
var
hWnd, hWorker: Cardinal;
lpBuf: array [0..MAX_PATH] of Char;
len: integer;
begin
//Okno Internet Explorera
//hWnd:= FindWindow('IEFrame',nil);
//Okno Exploratora Windows
hWnd:= FindWindow('ExploreWClass', nil);
//Okno przeglądanie folderów przez "Mój Komputer"
//hWnd:= FindWindow('CabinetWClass', nil);
//W Windows XP (chyba też 2000, 2003)
hWorker:= FindWindowEx(hWnd, 0, 'WorkerW',nil);
if (hWorker = 0) then
//W Windows 9x (chyba też Me)
hWorker:= FindWindowEx(hWnd, 0, 'WorkerA',nil);
hWnd:= FindWindowEx(hWorker, 0, 'rebarwindow32',nil);
hWnd:= FindWindowEx(hWnd, 0, 'comboboxex32', nil);
hWnd:= FindWindowEx(hWnd, 0, 'ComboBox',nil);
hWnd:= FindWindowEx(hWnd, 0, 'Edit',nil);
len:= SendMessage(hWnd, WM_GETTEXT, MAX_PATH, LONGINT(@lpBuf[0]));
lpBuf[len]:= #0;
ShowMessage(lpBuf);
end;
EDIT//
Adamo napisał(a)
zamiast WorkerA może być WorkerW - sprawdź A, jak zwróci 0 to pobierz W
Dzieki, poprawiłem
0
zamiast WorkerA może być WorkerW - sprawdź A, jak zwróci 0 to pobierz W