Главная страница
    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.45 MB
Время: 0.007 c
6-30498
timer
2003-02-19 15:15
2003.04.10
как можно листануть файлы на удалееноой...


14-30523
Александр Г.
2003-03-21 09:07
2003.04.10
Хук на нажатие кнопок в НТ?


4-30652
Дмитрий_М
2003-02-10 16:23
2003.04.10
WaitForMultipleObjects


8-30467
ferrik
2003-01-06 22:22
2003.04.10
3D MAX


3-30287
Сергей
2003-03-22 13:23
2003.04.10
Как выдернуть с помощью SELECT (TQuery) поле с именем





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский