Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.10;
Скачать: CL | DM;

Вниз

список всех открытых в системе файлов   Найти похожие ветки 

 
KykQx   (2003-03-30 07:22) [0]

Здравствуйте!
Я по Delphi не чайник, но недавно у меня возникла странная проблема.
Можно ли как нибудь получить список всех открытых в системе файлов? Елси да, то как?


 
Intell ©   (2003-03-30 09:36) [1]

private
{ Private declarations }
public
procedure KillProgram(ClassName: PChar; WindowTitle: PChar);
{ Public declarations }
end;
//----------------------------------------------------------------
procedure TForm1.KillProgram(ClassName: PChar; WindowTitle: PChar);
const
PROCESS_TERMINATE = $0001;
var
ProcessHandle : THandle;
ProcessID: Integer;
TheWindow : HWND;
begin
TheWindow := FindWindow(Classname, WindowTitle);
GetWindowThreadProcessID(TheWindow, @ProcessID);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
TerminateProcess(ProcessHandle,4);
end;

procedure TForm1.FormShow(Sender: TObject);
var
ProcessID : DWORD;
ProcessHandle : THandle;
ThreadHandle : THandle;
begin
SendMessage(Listbox1.Handle, LB_SETHORIZONTALEXTENT, 500, Longint(0));
ProcessID := GetCurrentProcessID;
ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION,
false,
ProcessID);
SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_CLASS);
ThreadHandle := GetCurrentThread;
SetThreadPriority(ThreadHandle, THREAD_PRIORITY_TIME_CRITICAL);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
button1click(form1);
end;

procedure TForm1.Button1Click(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)or checkbox1.checked) AND {-Невидимые окна}
((GetWindow(Wnd, gw_Owner) = 0)or checkbox2.checked) AND {-Дочернии окна}
(GetWindowText(Wnd, buff, sizeof(buff)) <> 0) {-Окна без заголовков}
THEN
BEGIN
GetWindowText(Wnd, buff, sizeof(buff));
ListBox1.Items.Add(StrPas(buff));
END;
Wnd := GetWindow(Wnd, gw_hWndNext);
END;
ListBox1.ItemIndex := 0;
end;

Причём Button невидимый, он нужен только для отображения файлов в списке.



Страницы: 1 вся ветка

Текущий архив: 2003.04.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
3-30288
gonta
2003-03-20 15:35
2003.04.10
Мастера помогите с Fast Reportom


1-30400
LyzD
2003-03-30 16:15
2003.04.10
Как можно управлять окном имея его заголовок???


1-30412
апр
2003-03-30 20:36
2003.04.10
Создание отчёта в Excel


1-30340
nejest
2003-03-31 15:50
2003.04.10
Перемещнеие каталога с подкаталогами и файлами


14-30542
Дмитрий К.К.
2003-03-24 12:37
2003.04.10
Именинники 24 марта