Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
6-16548
stud
2003-12-03 17:01
2004.02.06
сети,сети.....


14-16622
LSV
2004-01-15 03:16
2004.02.06
Подскажите, какие книги по Delphi 7 самые лучшие?


4-16803
Asteroid
2003-11-28 03:20
2004.02.06
Поворот DC


8-16517
Alexey123
2003-10-03 19:08
2004.02.06
Вывод на печать графического объекта


3-16137
Ольга
2004-01-14 19:47
2004.02.06
dbgrid и заголовки к полям




   Наверх