SHELL COM COMANDO

ARNALDOCRUZ 26/07/2010 12:28:19
#348475
Bom dia

-------------------------------------##----------------------------------------

Criei um arquivo BAT como abaixo coloquei na pasta C:\Farmacia\BitSNGPC

conteudo do BAT --->>> C:\Farmacia\BitSngpc\BitSNGPC.exe 20100725.txt

-----------------------------##-------------------------------------

Quando clicado direto no BAT o promp do DOS fica como abaixo

C:\Farmacia\BitSNGPC\BitSNGPC.exe 20100725.txt

Quando executado pelo vb o prompt do DOS fica como abaixo(Errado)

C:\Farmacia>C:\Farmacia\BitSNGPC\BitSNGPC.exe 20100725.txt

é isso que teria que sair ---->>>> C:\Farmacia>

Ou pode ser o conteudo do BAT que está errado

PERCIFILHO 26/07/2010 13:52:47
#348495
Olha, tive essa mesma necessidade quando desenvolvi um visualizador de relatórios, onde eu chama o visualizador passando como parâmetro o nome do arquivo que seria aberto.
Acho que é mais ou menos assim: (me corrijam se estiver errado, por favor)

[ô] Em um módulo, declare a variável Global sArquivo que corresponde ao nome do arquivo que será aberto.
Global sArquivo As String


[ô]No Load do formulário:
Sub Form_Load()
strComandoExterno = Command [ô][Ô]c:\visualizador.exe c:    este.txt[Ô]
If Trim(strComandoExterno) = [Ô][Ô] Then
MsgBox [Ô]Não foi especificado nenhum arquivo para abrir[Ô], vbInformation, [Ô]Atenção[Ô]
End
Else
sArquivo = strComandoExterno
End If
End Sub

[ô] Na parte do código onde se chama o arquivo que vai ser aberto, coloquei a variável sArquivo, para o programa abrir o arquivo que for digitado na linha de comando.

Veja se te ajuda.
Qualquer dúvida, poste novamente.

Até mais.
JSFF77 27/07/2010 07:06:44
#348575
Bom dia.

Você retira a apresentação em tela dos comandos de arquivos .BAT colocando a instrução abaixo logo no início do arquivo:

@echo off


Para voltar ao normal, utilize a instrução:

@echo on


Até logo.


JSFF77
ARNALDOCRUZ 27/07/2010 20:59:18
#348657
Depois de camelar consegui vou postar aqui caso alguem precise

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_SHOWNORMAL = 1

ShellExecute Me.hwnd, vbNullString, [Ô]APLICAÇÃO A SER ABERTO[Ô], PARAMETRO, [Ô]CAMINHO DA APLICAÇÃO[Ô], SW_HIDE
Tópico encerrado , respostas não são mais permitidas