Jak wychwycić moment kliknięcia na ikonę dysku lokalnego lub ikonę jakiegoś określonego pliku?
0
0
Czyba się da ale dla określonego okna np. Mój Komputer można dostac jego uchwyt, z reszztą co jea będe pisał zobacz ten kod:
function EnumChildProc(wnd: HWND; Param: LPARAM): Bool; stdcall;
var
pc: array[0..$FFF] of Char;
begin
GetClassName(wnd, pc, sizeof(pc));
form1.Memo1.Lines.Add(inttostr(wnd) + ' : ' + pc);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
h: Cardinal;
begin
Memo1.Lines.Clear;
h:= FindWindow('CabinetWClass', 'My Computer');
caption:= inttostr(h);
EnumChildWindows(h, @EnumChildProc, 0);
end;
możemy dostać także uchwyty kontrolek na oknie teraz trzeba zdeterminować na której kontrolce klikamy i podmienić jej WndProc
0
Nie da się zrobić tego Podmianą WndProc ale da się coś pokombinować z SetWindowsHookEx i przechwytywać interesujące komunikaty. Ikonki są na SysListviev32 trzeba znaleŹć komunikaty którymi można pobrać informacje. Te komunikaty są typu LVM_* np LVM_GETNEXTITEM
0
Wielkie dzięki. Popróbuje może się coś uda.