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

Вниз

Народ поморите   Найти похожие ветки 

 
Casper_   (2004-01-28 08:45) [0]

Уважаемые мастера
как можно получить список запущеных приложений(не процессов) я пробовал делать так:

procedure TForm1.Button1Click(Sender: TObject);
var
wnd:hwnd;
name:array[0..255] of char;
begin
wnd:=handle;
repeat
wnd:=getwindow(wnd,gw_hwndnext);
if (iswindowvisible(wnd)) and (getparent(wnd)=0) then begin
getwindowtext(wnd,name,sizeof(name));
listbox1.Items.Add(name);
end;
until wnd=0;
end;

но почемуто например делфи повторяется три раза:
Unit1.pas
delphi 7
delphi 7 - Project1[Running]
как можно исправить это


 
Digitman   (2004-01-28 08:51) [1]


> получить список запущеных приложений(не процессов)


как это "не процессов" ? работающее приложение и есть Win32-процесс !


> почемуто например делфи повторяется три раза


ты перечислил верхнеуровневые окна, созданные текущим процессом Делфи-приложения. не более того.


 
Casper_   (2004-01-28 09:18) [2]

мне нужно получить список приложений как в диспетчер задачь
как получить список процессов я знаю


 
MBo   (2004-01-28 09:19) [3]

что в твоем понимании есть "приложение" ?


 
Akvilon   (2004-01-28 09:20) [4]

воспользуйся enumwindow и enumchildwindow


 
pasha_golub   (2004-01-28 09:25) [5]


function EnumTopWindowsProc(WindowHandle : HWND; Data : Pointer) : BOOL; stdcall;
var
WinText : array[0..MAX_PATH] of char;
WinStyle, ExStyle : LongInt;
WindowOwner : HWND;
begin
WinStyle := GetWindowLong(WindowHandle, GWL_STYLE);
ExStyle := GetWindowLong(WindowHandle, GWL_EXSTYLE);
GetWindowText(WindowHandle, WinText, SizeOf(WinText));
WindowOwner := GetWindow(WindowHandle, GW_OWNER);
if (WindowOwner = 0) AND
((ExStyle AND WS_EX_TOOLWINDOW) = 0) AND
((WinStyle AND WS_VISIBLE) <> 0) then
Form1.Memo1.Lines.Append(WinText);
Result := true;
end;

procedure TForm1.Button1Click(Sender:Tobject);
begin
EnumWindows(EnumTopWindowsProc);
end;


 
Maxud   (2004-01-28 09:28) [6]

http://www.delphikingdom.com/asp/viewitem.asp?UrlItem=/helloworld/wininf.htm


 
Casper_   (2004-01-28 09:30) [7]

как в Ctrl+Alt+Del там есть приложения и есть процессы мне нужно получить именно список приложений


 
akvilon   (2004-01-28 09:35) [8]

просто бывают процессы с окнами и без окон, но всё оно процессы
используй enumwindow -- самый верный вариант!!!


 
Alexander666   (2004-01-28 11:23) [9]

Есть такая фишка, как Пачеко с Тейксейрой (книга, ессесно) - вот там и почитай. В Интернете ссылки на нее есть, найдешь сам.



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

Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.032 c
14-16701
ИМХО
2004-01-17 06:09
2004.02.06
HEX редактор


1-16492
Islander
2004-01-27 22:17
2004.02.06
Где хранить настройки в 200x/XP?


14-16618
Sirgey
2004-01-15 02:04
2004.02.06
Защита программки


1-16342
Наташенька
2004-01-24 19:51
2004.02.06
Звук


3-16159
maxon
2004-01-14 14:26
2004.02.06
форматировать datetime





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