Ir para conteúdo
Fórum Script Brasil
  • 0

Diretorio De Execução...


Guest --bsmith --

Pergunta

Guest --bsmith --

Olá amigos, como vão?

Estive programando um aplicativo (que chamarei de arquivo 1) que servirá para inicializar um outro aplicativo (no exemplo, chamarei de arquivo 2). Fiz um instalador que criou um atalho no Menu Iniciar para o arquivo 1. Ele é iniciado normalmente, porém, quando o arquivo 1 executa o arquivo 2, o arquivo 2 retorna erros pois ele não localiza os arquivos de sua pasta que ele depende. É como se eu executasse o arquivo 2 dentro da pasta iniciar, ou de uma pasta qualquer que não tenha os arquivos que ele depende.

Então, a pergunta é: Como eu posso fazer para executar o arquivo 2, de modo que ele saiba qual é a sua pasta e trabalhe normalmente realizando a leitura da mesma?

Shell App.Path & "\InnovationRO Client.exe", vbNormalFocus

Atenciosamente,

bsmith..

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Guest Visitante

Olá Graymalkin, muito obrigado por sua resposta.

Pesquisei aqui na comunidade e encontrei exemplos do uso do ShellExecute..porém, ao usar, tive o mesmo problema

Eis o código que usei:

--

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Const SW_NORMAL = 1 ' normal

Const SW_SHOWMAXIMIZED = 3 ' maximizado

--

Private Sub entrar_Click()

On Error GoTo erro:

Dim NomeDest As String

NomeDest = App.Path & "\Meu Programa 2.exe"

ShellExecute Me.hwnd, "Open", Chr(34) & NomeDest & Chr(34), vbNullString, vbNullString, SW_SHOWMAXIMIZED

End

Exit Sub

erro:

MsgBox "Arquivo não encontrado", vbCritical

End Sub

--

O estranho é que isto ocorre apenas caso eu abra meu programa pelo atalho do menu iniciar.. abrindo diretamente, ambos os codigos (shellexecute e o shell que postei no primeiro post) funcionam.. O problema parece estar realmente no local onde está sendo chamado o meu programa..

Alguma sugestão?

Grato.

Link para o comentário
Compartilhar em outros sites

  • 0

Ola!

Não tenho certeza mas faça o teste

nas propriedades do atalho do programa no menu iniciar tem um campo chamado "Iniciar em:" digite a pasta correta onde o sistema deve ser iniciado ou deixe em branco.

tipo o código do arquivo 2 abre um arquivo de texto que esta na sua Path porem o sistema esta sendo iniciado em outra Path

bom como eu disse não tenho certeza,

mas se funcionar poste nos avisando caso contrario poste mas detahes sobre o erro (Descrição do erro)

Link para o comentário
Compartilhar em outros sites

  • 0
O estranho é que isto ocorre apenas caso eu abra meu programa pelo atalho do menu iniciar.. abrindo diretamente, ambos os codigos (shellexecute e o shell que postei no primeiro post) funcionam.. O problema parece estar realmente no local onde está sendo chamado o meu programa..

Então, naquele parâmetro lpDirectory da função você deveria passar o diretório de trabalho. No caso, você está passando vbNullString (ou seja, nada) que utiliza o diretório corrente (portanto você está fazendo o mesmo que a função Shell).

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Opa! Consegui..

A dica de ambos funcionaram, porém, para mim o meio mais viavel foi alterar o parametro que o Graymalkin indicou. Tudo funcionou perfeitamente.. obrigado pessoal!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...