Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];

Вниз

Новый вопрос на старую тему - список всех задач   Найти похожие ветки 

 
M O'Hare   (2001-12-13 11:24) [0]

Хочу вывести список всех задач в NT. Для Win98 код примерно таков:

procedure TForm1.Button1Click(Sender: TObject);
var Wnd : hWnd;
buff: array [0..127] of char;
begin
Wnd := GetWindow(Handle, gw_HWndFirst);
while Wnd <> 0 do begin {Не показываем:}
if (Wnd <> Application.Handle) and
(GetWindow(Wnd, gw_Owner) = 0) and
(GetWindowText(Wnd, buff, sizeof(buff)) <> 0)
then begin
ListBox2.Items.Add(StrPas(buff));
GetWindowModuleFileName(Wnd, buff, sizeof(buff));
ListBox1.Items.Add(ExtractFileName(StrPas(buff)));
end;
Wnd := GetWindow(Wnd, gw_hWndNext);
end;
end;

Так вот этот код не работает в NT. Вернее работает, но криво: для windows commander"a пишет имя ехешника "project1.exe", ака для многих других запущенных прог.
Во многих статьях есть фразы "эта функция не пашет в NT", но ни слова о том, чем ее можно заменить.


 
Fellomena   (2001-12-17 10:54) [1]

Во-первых: что значит всех задач ? Всех окон ? Всех процессов ? Всех загруженных модулей ? thread-ов, fiber-ов....
Как я поняла из кода - речь идёт о окнах...
(потому как что бы получить список всего загруженного в Win9x необходимо использовать ф-ию Create32ToolHelp32SnapShot,
которая создаёт "слепок"/dump системы, а далее Process32First, Process32Next, Module32First.....; )
Для NT используется NTQuerySystemInformation...
Как дальше - разберёшься ?



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

Форум: "WinAPI";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.004 c
14-42862
Макс
2001-12-24 13:08
2002.02.14
Help по EhLib


1-42781
Romul
2002-01-31 15:29
2002.02.14
Проблема с Excel


7-42888
Русский
2001-11-10 00:35
2002.02.14
Поделитесь кодом а :)))


3-42663
MVova
2002-01-18 14:00
2002.02.14
Вопрос: Как переустановить 2.5 поверх 2.6?


3-42670
Mikhail
2002-01-18 21:42
2002.02.14
Ответте хоть ради смеха...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский