Como Usar o ShellApi do windows para abrir uma aplicação apartir de uma variavel no delphi
Olá pessoal estou tentando desenvolver um aplicativo que execute uma aplicação fora da pasta onde ele se encontra, até aqui bza...
mas o meu problema é que o aplicativo fica na pasta de usuário Publico.
deixa eu tentar explicar, o meu sistema tem um módulo de conexão que eu desenvolvi e esse modulo de conexão roda no servidor local.
esse mesmo modulo quando executado no pc cliente busca por um diretório que fica na pasta Pública, Ex: C:\users\Público\Sistema+'NomeUsuário',
se existir o diretório ele teria que buscar o executável da aplicação se não ele criaria o diretório novo e copiaria a aplicação para a pasta de destino no servidor,
a parte de criar o diretório e copiar os arquivos para a pasta esta ok. porém na hora de abrir a aplicação do diretório "C:\users\Público\Sistema+'NomeUsuário'"
não tá dando certo pois o diretório da pasta seria uma variável e no ShellExecute não he aceito variável para abrir a aplicação externa, pelo menos não esta sendo aceita do jeito que estou tentando. Ex: ShellExecute(Handle, 'open', "Variável", nil, nil, SW_SHOWNORMAL);
mas o meu problema é que o aplicativo fica na pasta de usuário Publico.
deixa eu tentar explicar, o meu sistema tem um módulo de conexão que eu desenvolvi e esse modulo de conexão roda no servidor local.
esse mesmo modulo quando executado no pc cliente busca por um diretório que fica na pasta Pública, Ex: C:\users\Público\Sistema+'NomeUsuário',
se existir o diretório ele teria que buscar o executável da aplicação se não ele criaria o diretório novo e copiaria a aplicação para a pasta de destino no servidor,
a parte de criar o diretório e copiar os arquivos para a pasta esta ok. porém na hora de abrir a aplicação do diretório "C:\users\Público\Sistema+'NomeUsuário'"
não tá dando certo pois o diretório da pasta seria uma variável e no ShellExecute não he aceito variável para abrir a aplicação externa, pelo menos não esta sendo aceita do jeito que estou tentando. Ex: ShellExecute(Handle, 'open', "Variável", nil, nil, SW_SHOWNORMAL);
Alessandro Nunes
Curtidas 0
Melhor post
Raimundo Pereira
10/04/2016
Declare em uses
SHELLAPI
Var Caminho,
Nome_ap,
CaminhoCompleto:string;
Begin
Caminho:=ExtractFilePath(Application.ExeName);
Nome_ap:='ERP.BAT';
CaminhoCompleto:='"'+Caminho+Nome_Ap+'"';
ShellExecute(Handle, 'open', 'cmd.exe', PChar('/c'+caminho_completo ), nil, 0);
SHELLAPI
Var Caminho,
Nome_ap,
CaminhoCompleto:string;
Begin
Caminho:=ExtractFilePath(Application.ExeName);
Nome_ap:='ERP.BAT';
CaminhoCompleto:='"'+Caminho+Nome_Ap+'"';
ShellExecute(Handle, 'open', 'cmd.exe', PChar('/c'+caminho_completo ), nil, 0);
GOSTEI 2
Mais Respostas
Raylan Zibel
09/04/2016
Assim:
Ou assim:
ShellExecute(Handle, 'open', pchar(variavel), nil, nil, SW_SHOWNORMAL);
Ou assim:
WinExec(pchar(variavel), SW_SHOWNORMAL);
GOSTEI 1
Alessandro Nunes
09/04/2016
Valew pessoal deu certinho aqui!!!
[Resolvido].
[Resolvido].
GOSTEI 0