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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
3-16114
Penza19
2004-01-15 23:26
2004.02.06
Сортировка значений таблицы согласно выбранного столбца DBGrid


1-16244
denis24
2004-01-26 17:14
2004.02.06
strringlist


14-16720
Kerk
2004-01-15 16:30
2004.02.06
Расширение .sit


1-16468
Pbulbo
2004-01-27 22:02
2004.02.06
Большой массив, как?


14-16700
Igorek
2004-01-16 13:50
2004.02.06
А что, html код при скачивании не сжимается?