Fórum gerenciador de tarefas do windows #323271
12/06/2006
0
alguém por favor sabe como eu pego no nome dos programas ativos no gerenciador?
agradeço a atenção!
Crcam
Curtir tópico
+ 0Posts
14/06/2006
Martins
Tente assim...
EnumWindows(lpEnumFunc: TFNWndEnumProc; {the address of the enumeration callback function}
lParam: LPARAM {a 32-bit application-defined value}
): BOOL; {returns TRUE or FALSE}
EnumWindowsProc(hWnd: HWND; {a handle to a top-level window}
lParam: LPARAM {the application-defined data}
): BOOL; {returns TRUE or FALSE}
function EnumWindowsProc(wHandle: HWND; lb: TListBox): Bool; stdcall; export;
var
Title, ClassName: array[0..255] of char;
begin
Result := True;
GetWindowText(wHandle, Title, 255);
GetClassName(wHandle, ClassName, 255);
if IsWindowVisible(wHandle) then
lb.Items.Add(string(Title) + ´-´ + string(ClassName));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
EnumWindows(@EnumWindowsProc, Integer(Listbox1));
end;
Boa sorte
Gostei + 0
14/06/2006
Crcam
eu usei esse codigo aqui
function EnumWindowsProc(wHandle: HWND; lb: TListBox): Bool; stdcall; export; var Title, ClassName: array[0..255] of char; begin Result := True; GetWindowText(wHandle, Title, 255); GetClassName(wHandle, ClassName, 255); if IsWindowVisible(wHandle) then lb.Items.Add(string(Title) + ´-´ + string(ClassName)); end; procedure TForm1.Button1Click(Sender: TObject); begin EnumWindows(@EnumWindowsProc, Integer(Listbox1)); end;
é ele retorna tudo que está ativo mas não seria bem isso ele vem com varias outras coisas.
agora ...
EnumWindows(lpEnumFunc: TFNWndEnumProc; {the address of the enumeration callback function}
lParam: LPARAM {a 32-bit application-defined value}
): BOOL; {returns TRUE or FALSE}
EnumWindowsProc(hWnd: HWND; {a handle to a top-level window}
lParam: LPARAM {the application-defined data}
): BOOL; {returns TRUE or FALSE}
não soube implementar!
para você endenda legal o que estou tentando fazer faça assim:
abra varios programas pastas no seu computador...
agora ctrl+alt+del
click em gerenciador de tarefas
veja o que tem na aba APLICATIVOS
............... é essa lista que procuro ...........
mas obrigadão pela ajuda!
Gostei + 0
16/06/2006
Crcam
coloco o código final p/ os colegas com a mesma dúvida não quebrem mais a cabeça
function EnumWindowsProc(wHandle: HWND; lAplicativos: TStringList): BOOL; stdcall; export; var Title: array[0..255] of char; begin Result := True; GetWindowText(wHandle, Title, 255); if (IsWindowVisible(wHandle)) and (Title <> ´Program Manager´) and (Title <> ´´) and (Title <> ´Oculta Aplicativos´) then lAplicativos.Add(StrPas(Title)); end;
procedure TForm1.Button1Click(Sender: TObject); var StringList: TStringList; begin StringList := TStringList.Create; StringList.Clear; Memo1.Lines.Clear; EnumWindows(@EnumWindowsProc, Integer(StringList)); Memo1.Lines := StringList; end;
agradecimentos também ao colega renato.pavan
quando precisarem de mim é só chamar!
Gostei + 0
13/02/2007
Janete
function EnumWindowsProc(wHandle: HWND; lAplicativos: TStringList): BOOL; stdcall; export; var Title: array[0..255] of char; begin Result := True; GetWindowText(wHandle, Title, 255); if (IsWindowVisible(wHandle)) and (Title <> ´Program Manager´) and (Title <> ´´) and (Title <> ´Oculta Aplicativos´) then lAplicativos.Add(StrPas(Title)); end;
procedure TForm1.Button1Click(Sender: TObject); var StringList: TStringList; begin StringList := TStringList.Create; StringList.Clear; Memo1.Lines.Clear; EnumWindows(@EnumWindowsProc, Integer(StringList)); Memo1.Lines := StringList; end;
Alguém pode me ajudar, estou tentando usar essa função, mas não sei o q está faltando, qdo compilo ele para na linha abaixo onde coloquei as reticências.
EnumWindows(@EnumWindowsProc,.......Integer(StringList));
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)