Pegar path do exe

Delphi

19/01/2012

Alguem sabe como retornar o caminho do executavel passando apenas o nome do processo rodando no windows?
Jordelino Santos

Jordelino Santos

Curtidas 1

Respostas

Rafael Ribeiro

Rafael Ribeiro

19/01/2012

Boa tarde!

Simples... declare uma variável qualquer como string:

VAR

CAMINHO: STRING;



E depois você chama a seguinte função... que retornará o caminho:


CAMINHO := ExtractFileDir(GetCurrentDir);



Espero ter ajudado....

Abçs

Rafael
GOSTEI 0
Marco Salles

Marco Salles

19/01/2012

O Delphi ja disponibiliza a Variavel gsAppPath

Delphi 2010 declare Uses
SWSystem;

Delphi Xe
uses
IWSystem ;

DElphi XE2 **Acho que não houve alteração

depois é so chamar

showmessage(gsAppPath);
GOSTEI 0
Jordelino Santos

Jordelino Santos

19/01/2012

O Delphi ja disponibiliza a Variavel gsAppPath

Delphi 2010 declare Uses
SWSystem;

Delphi Xe
uses
IWSystem ;

DElphi XE2 **Acho que não houve alteração

depois é so chamar

showmessage(gsAppPath);


O que precido é passar o nome de um processo qualquer, por exemplo, svchost.exe e a rotina me retornar o caminho dele que no caso é C:\Windows\System32.

Estou usando do Delphi XE2 com windows 7 64 bits.

Valeu.
GOSTEI 0
Marco Salles

Marco Salles

19/01/2012

OLa amigo , desculpe , foi precipidado na resposta , na verdade quis estender a resposta
do colega anterior que se aplica em Delphi anterires da Versão 2007 .

O que voce que é o caminho de qualquer Aplicação..

Para isto voce pode utilizar a biblioteca Jedi a uses JclSysInfo que tem um método
RunningProcessesList onde lista e os processos do windows, incluindo o caminho completo.

Infelismente eu não sei ate opresente momento um weep do Delphi que camufla esta funcionalidade
o que seria muito bem vinda diga-se de passagem
GOSTEI 0
Rafael Ribeiro

Rafael Ribeiro

19/01/2012

Marcelo... boa tarde! Na verdade eu uso delphi 2010 / xe2 e aplico a função que mencionei e funciona sem problemas!

Abçs

Rafael
GOSTEI 0
Rafael Ribeiro

Rafael Ribeiro

19/01/2012

Li, reli e também peço desculpas. Eu estava achando que era o executável da aplicação! Ele quer o caminho do executável do processo. Sorry!
GOSTEI 0
Jordelino Santos

Jordelino Santos

19/01/2012

OLa amigo , desculpe , foi precipidado na resposta , na verdade quis estender a resposta
do colega anterior que se aplica em Delphi anterires da Versão 2007 .

O que voce que é o caminho de qualquer Aplicação..

Para isto voce pode utilizar a biblioteca Jedi a uses JclSysInfo que tem um método
RunningProcessesList onde lista e os processos do windows, incluindo o caminho completo.

Infelismente eu não sei ate opresente momento um weep do Delphi que camufla esta funcionalidade
o que seria muito bem vinda diga-se de passagem



Usando essa rotina da biblioteca JEDI foi listado alguns processos com o caminho mas os que preciso nao listou como por exemplo, svchost.exe, taskmgr.exe, rundll32 etc.
GOSTEI 0
Marco Salles

Marco Salles

19/01/2012

Marcelo... boa tarde! Na verdade eu uso delphi 2010 / xe2 e aplico a função que mencionei e funciona sem problemas!

Abçs

Rafael


A rotina do Rafael ela funciona em Delphi anteriores e foi mantida nas novas versões do Delphi por
questões de compatibilidade .. E continua Funcionando sem problema , mas o compilador pode indicar
warninng de decapred

GOSTEI 0
Marco Salles

Marco Salles

19/01/2012

OLa amigo , desculpe , foi precipidado na resposta , na verdade quis estender a resposta
do colega anterior que se aplica em Delphi anterires da Versão 2007 .

O que voce que é o caminho de qualquer Aplicação..

Para isto voce pode utilizar a biblioteca Jedi a uses JclSysInfo que tem um método
RunningProcessesList onde lista e os processos do windows, incluindo o caminho completo.

Infelismente eu não sei ate opresente momento um weep do Delphi que camufla esta funcionalidade
o que seria muito bem vinda diga-se de passagem



Usando essa rotina da biblioteca JEDI foi listado alguns processos com o caminho mas os que preciso nao listou como por exemplo, svchost.exe, taskmgr.exe, rundll32 etc.


Mas esses processos que não sáo listados o seu path , verifique se não são todos do Sistema Operacional
E se o mesmo não estou todos na Pasta do System ???
GOSTEI 0
Jordelino Santos

Jordelino Santos

19/01/2012

OLa amigo , desculpe , foi precipidado na resposta , na verdade quis estender a resposta
do colega anterior que se aplica em Delphi anterires da Versão 2007 .

O que voce que é o caminho de qualquer Aplicação..

Para isto voce pode utilizar a biblioteca Jedi a uses JclSysInfo que tem um método
RunningProcessesList onde lista e os processos do windows, incluindo o caminho completo.

Infelismente eu não sei ate opresente momento um weep do Delphi que camufla esta funcionalidade
o que seria muito bem vinda diga-se de passagem



Usando essa rotina da biblioteca JEDI foi listado alguns processos com o caminho mas os que preciso nao listou como por exemplo, svchost.exe, taskmgr.exe, rundll32 etc.


Mas esses processos que não sáo listados o seu path , verifique se não são todos do Sistema Operacional
E se o mesmo não estou todos na Pasta do System ???


Alguns estao na pasta system, outros na system 32, outros em arquivos de programas etc. O que importa é trazer o caminho daquele processo.
GOSTEI 0
Marco Salles

Marco Salles

19/01/2012

Hummmmm

Tenho uma classe que tb expõe o caminho desses processos
Nunca tinha usado a biblioteca Jedi. sabia dessa função
porém nunca a usei . Porém a minha classe tb retorna
o caminho de vários processos e alguns especificos do Windows
ele não retorna... Hummmmmmmm

Não sei pq , pensei que fosse um problema da minha classe , mas
vejo que é extensiva atê a uma biblioteca relativamente famosa o
que me deixa um tanto perplexo.

Agora será qua ja sabendo que esses processos estão em determinadas
pastas do Sistema windows , não seria o caso de pesquisa-los
em determinados diretórios ??

Voce acha isto um grande gambiarra ?? Mas visto que um excelente biblioteca
e uma das mais recomendads pela google não teve o resultado satisfatório
acho muito dificil achar uma solução Free

O que voce acha de partir para este raciocinéo ???
GOSTEI 0
Laerdes Patrocinio

Laerdes Patrocinio

19/01/2012

O Delphi ja disponibiliza a Variavel gsAppPath

Delphi 2010 declare Uses
SWSystem;

Delphi Xe
uses
IWSystem ;

DElphi XE2 **Acho que não houve alteração

depois é so chamar

showmessage(gsAppPath);


No Delphi 10.3 - Community Edition não esta aceitando nenhuma das duas, saberia me informar qual Unit devo utilizar
GOSTEI 0
Anderson Gonçalves

Anderson Gonçalves

19/01/2012

O Delphi ja disponibiliza a Variavel gsAppPath

Delphi 2010 declare Uses
SWSystem;

Delphi Xe
uses
IWSystem ;

DElphi XE2 **Acho que não houve alteração

depois é so chamar

showmessage(gsAppPath);


No Delphi 10.3 - Community Edition não esta aceitando nenhuma das duas, saberia me informar qual Unit devo utilizar


Estou com o mesmo problema alguém se habilita a responder a essa pergunta?
GOSTEI 0
POSTAR