|
#1
|
|||
|
|||
Открыта ли папка?
Как узнать открыта ли данная папка?
|
#2
|
|||
|
|||
поподробнее
А поподробнее?Открыта где-в какой программе?
|
#3
|
|||
|
|||
Да хоть где. Скажем, открывает пользователь папку Windows, а тут ему бац - некое сообщение.
|
#4
|
|||
|
|||
Вот такое у меня решение:
procedure TForm1.Timer1Timer(Sender: TObject); VAR Wnd : hWnd; buff: ARRAY [0..127] OF Char; begin ListBox1.Clear; Wnd := GetWindow(Handle, gw_HWndFirst); WHILE Wnd <> 0 DO BEGIN {Не показываем:} IF (Wnd <> Application.Handle) AND {-Собственное окно} IsWindowVisible(Wnd) AND {-Невидимые окна} (GetWindow(Wnd, gw_Owner) = 0) AND {-Дочернии окна} (GetWindowText(Wnd, buff, sizeof(buff)) <> 0) THEN BEGIN GetWindowText(Wnd, buff, sizeof(buff)); if StrPas(buff)='Программы' then begin showmessage('Вы открыли папку "Программы"'); timer1.Enabled:=false; end; ListBox1.Items.Add(StrPas(buff)); END; Wnd := GetWindow(Wnd, gw_hWndNext); END; end; |