Problema com Shellexecute no Windows 64
Pessoal estou tendo problemas para executar arquivos Bats no windows 7 64 bits, O aplicativo executa alguns arquivo bats para executar alguns processamentos para isso utilizo shellexecute. Atualmente utilizo no windows 32 bits e funciona normalmente mas agora será necessário instalar em outra máquina e esta máquina é windows 64 bits. Alguém já passou por isso e tem uma solução ? A aplicação foi desenvolvida em delphi 2007. Desde já agradeço a ajuda.
Gustavo Bernardino
Curtidas 0
Respostas
Joel Rodrigues
18/07/2013
Opa, quais problemas exatamente?
GOSTEI 0
Gustavo Bernardino
18/07/2013
Opa! Desculpas Joel, simplesmente não executa o Shellexecute também já tentei utilizar o winexec e nada.
GOSTEI 0
Joel Rodrigues
18/07/2013
Outras aplicações, um exe, por exemplo, abrem normalmente? O problema está só com os .bat?
GOSTEI 0
Gustavo Bernardino
18/07/2013
Joel eu não tentei outros arquivos posso dar uma olhada mas nesta aplicação somente utilizo bats da seguinte forma
E no windows 64 não executa.
ShellExecute(0, nil, 'cmd.exe /c ', Pchar(wPath ), nil, SW_HIDE);
E no windows 64 não executa.
GOSTEI 0
Alessandro Yamasaki
18/07/2013
Veja o que achei, talvez te ajude
https://www.devmedia.com.br/forum/problemas-com-shellexecute-e-winexec-no-windows7-64bits/407348
https://www.devmedia.com.br/forum/problemas-com-shellexecute-e-winexec-no-windows7-64bits/407348
GOSTEI 0
Gustavo Bernardino
18/07/2013
Pessoal,
Consegui, percebi que no Windows 64 a estrutura de diretórios é diferente e lendo o help verifiquei que esta colocando os parâmetros como uma string só dentro do Pansichar, mas na verdade a colocação dos parâmetros deveriam ser assim :
e não assim
então consegui.
De qualquer forma obrigado pela força cara, valeu mesmo
Consegui, percebi que no Windows 64 a estrutura de diretórios é diferente e lendo o help verifiquei que esta colocando os parâmetros como uma string só dentro do Pansichar, mas na verdade a colocação dos parâmetros deveriam ser assim :
ShellExecute(0,nil,'cmd.exe', ' /c executar.bat',Pchar(wpath),SW_SHOW);
e não assim
ShellExecute(0, nil, 'cmd.exe /c ', Pchar(wPath ), nil, SW_SHOWNORMAL);
então consegui.
De qualquer forma obrigado pela força cara, valeu mesmo
GOSTEI 0
Deivison Melo
18/07/2013
Finalizando tópico!
Obrigado a todos!
Emanoel Deivison
Recife - PE
Obrigado a todos!
Emanoel Deivison
Recife - PE
GOSTEI 0