Форум: "Основная";
Текущий архив: 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