Idenditicando nome de programas no Windows

Delphi

17/03/2005

Galera.. primeiramente, desculpe se estou postando no lugar errado mas é que não encontrei praticamente nada relativo ao que eu estou tentando entender.
Então, a minha dúvida é: Como pegar o nome de um aplicativo qualquer que esteja sendo execultado no windows dinamicamente, isto é, independente de que janela esteja ativa e atribuir esse valor a uma string. Grato por quem puder me ajudar.


Xdigitalx

Xdigitalx

Curtidas 0

Respostas

Xdigitalx

Xdigitalx

17/03/2005

? ninguem ai pode me ajudar ?


GOSTEI 0
Rômulo Barros

Rômulo Barros

17/03/2005

[color=indigo:c76b9586c3][b:c76b9586c3]Amigo, neste caso você terá q capturar as mensagens do windows que atuam sobre os processos do windows.[/b:c76b9586c3][/color:c76b9586c3]

[color=darkblue:c76b9586c3]Dê uma olhada [url=http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_reference.asp]NESTE LINK[/url] que fala sobre WMI .[/color:c76b9586c3]

_____________________________________________
[b:c76b9586c3][color=blue:c76b9586c3]Utilize a Ferramenta de Pesquisa do Fórum[/color:c76b9586c3][/b:c76b9586c3]

Pesquisar pelos termos
_____________________________________________
[b:c76b9586c3]Veja como[url=http://forum.clubedelphi.net/viewtopic.php?t=16976] OBTER RESPOSTAR RÁPIDAS[/url][/b:c76b9586c3]
[b:c76b9586c3]Veja as novas [url=http://forum.clubedelphi.net/viewtopic.php?t=59817]MUDANÇAS NA ESTRUTURA[/url] do site[/b:c76b9586c3]
[b:c76b9586c3]Leia sempre as [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]REGRAS DE CONDUTA[/url][/b:c76b9586c3]


GOSTEI 0
Kapak

Kapak

17/03/2005

É p/ Windows NT/XP ?


GOSTEI 0
Xdigitalx

Xdigitalx

17/03/2005

é para windows xp pro...

caro Undeclared Identifier... li mas não entendi muito sobre o link que você me mandou. O que entendi foi que há a necessidade de se verificar as mensagens dos processos q estão operando... +- isso... no delphi, para trabalhar com essas mensagens.. ql seria o metodo ou função q poderia me auxiliar nesse trabalho.


GOSTEI 0
Kapak

Kapak

17/03/2005

Bom, se for NT/XP, declare no uses: PSApi;
var rId:array[0..999] of DWord; i,NumProc,NumMod:DWord;
    HProc,HMod:THandle; sNome:String;
begin
  SetLength(sNome, 256);
// Aqui vc pega os IDs dos processos em execução
  EnumProcesses(@rId[0], 4000, NumProc);

// Aqui vc faz um for p/ pegar cada processo
  for i := 0 to NumProc div 4 do
  begin
// Aqui vc seleciona o processo
    HProc := OpenProcess(Process_Query_Information or Process_VM_Read, FALSE, rId[i]);
    if HProc = 0 then
      Continue;
// Aqui vc pega os módulos do processo
// Como vc só quer o nome do programa, então será sempre o primeiro
    EnumProcessModules(HProc, @HMod, 4, NumMod);
// Aqui vc pega o nome do módulo; como é o primeiro, é o nome do programa
    GetModuleBaseName(HProc, HMod, @sNome[1], 256);
    Memo1.Lines.Add(sNome); // Coloque um TMemo no formulário
// Aqui vc libera o handle do processo selecionado
    CloseHandle(HProc);
  end;
end;



GOSTEI 0
Marco Salles

Marco Salles

17/03/2005

blz


GOSTEI 0
Marco Salles

Marco Salles

17/03/2005

Sera que não teria jeito de Limitar esta Busca , pelos Processos que São Janelas no windows..
Por exemplo, a dica do nosso amigo kapak e show , mostra os processos Todos..
[b:d6c457ad18]Mas há como Filtrar Estas Buscas , para Somente os Aplicativos em Forma De Janela Do Windows.. [/b:d6c457ad18]

O Que quero na verdade e ganhar tempo de processamento, pq no meu caso muitos desse processos que estão rodando no sistema são internos

Há como fazer isto :?: :?: :?: :?:


GOSTEI 0
Kapak

Kapak

17/03/2005

Vc pode enumerar as janelas pela função GetWindow e depois checar o PID contra a lista de processos. O PID é retornado pela função GetWindowThreadProcessId


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

17/03/2005

Tente [url=http://forum.clubedelphi.net/viewtopic.php?p=193021#193021]isso[/url]


GOSTEI 0
Marco Salles

Marco Salles

17/03/2005

Vc pode enumerar as janelas pela função GetWindow e depois checar o PID contra a lista de processos. O PID é retornado pela função GetWindowThreadProcessId


Que Blz :lol: :lol:

Tente isso


Mas como :oops: :oops: :oops: :oops:


GOSTEI 0
POSTAR