selamat malam kawan, udah lama saya gak ngeposting Artikel di blog ini
Pada kesempatan kali ini saya akan berbagi ilmu
bagaimana mendapatkan Directory Aktif di delphi
nah biasanya ya
fitur ini itu buat kesempurnaan fitur RTP pada suatu antivirus
tapi kebanyakan mereka dibuat dari Visual Basic 6
Oke langsung saja!
-buat 1 buah kotak textbox atau biasa disebut edit text
-buat 1 buah timer dengan interval 1000
masukkan code dibawah ini
procedure TForm1.Timer1Timer(Sender: TObject);
var wnd, wnd2: HWND;
Buffer : array[0..255] of Char;
begin
wnd := FindWindow('CabinetWClass', nil);
if wnd <> 0 then begin
wnd2 := FindWindowEx(wnd, 0, 'WorkerW', nil);
if wnd2 <> 0 then
begin
wnd2 := FindWindowEx(wnd2, 0, 'ReBarWindow32', nil);
if wnd2 <> 0 then
begin
wnd2 := FindWindowEx(wnd2, 0, 'Address Band Root', nil);
if wnd2 <> 0 then
begin
wnd2 := FindWindowEx(wnd2, 0, 'msctls_progress32', nil);
if wnd2 <> 0 then
begin
wnd2 := FindWindowEx(wnd2, 0, 'Breadcrumb Parent', nil);
if wnd2 <> 0 then
begin
wnd2 := FindWindowEx(wnd2, 0, 'ToolbarWindow32', nil);
SendMessage(wnd2, WM_GETTEXT, 255, integer(@Buffer));
Edit1.Text := Buffer;
edit1.Text := copy(edit1.Text, 10, length(edit1.Text)-4);
end;
end;
end;
end;
end;
end;
end;
var wnd, wnd2: HWND;
Buffer : array[0..255] of Char;
begin
wnd := FindWindow('CabinetWClass', nil);
if wnd <> 0 then begin
wnd2 := FindWindowEx(wnd, 0, 'WorkerW', nil);
if wnd2 <> 0 then
begin
wnd2 := FindWindowEx(wnd2, 0, 'ReBarWindow32', nil);
if wnd2 <> 0 then
begin
wnd2 := FindWindowEx(wnd2, 0, 'Address Band Root', nil);
if wnd2 <> 0 then
begin
wnd2 := FindWindowEx(wnd2, 0, 'msctls_progress32', nil);
if wnd2 <> 0 then
begin
wnd2 := FindWindowEx(wnd2, 0, 'Breadcrumb Parent', nil);
if wnd2 <> 0 then
begin
wnd2 := FindWindowEx(wnd2, 0, 'ToolbarWindow32', nil);
SendMessage(wnd2, WM_GETTEXT, 255, integer(@Buffer));
Edit1.Text := Buffer;
edit1.Text := copy(edit1.Text, 10, length(edit1.Text)-4);
end;
end;
end;
end;
end;
end;
end;
maka hasilnya akan seperti dibawah ini
Konsep
FindWindow ==> FindWindowEx..sampai yang terakhir class tempat ==> SendMessage[WM_GETTEXT]
FindWindow = dapatkan class explorernya
FindWindowEx = dapatkan childclass
SendMessage[WM_GETTEXT] = dapatkan tulisannya
Telah diUji coba di Windows 7
0 comments:
Post a Comment
Pembaca yang baik pasti akan meninggalkan jejak dengan cara meninggalkan komentar
berkomentarlah dengan bijak :)