SHELL EXECUTE!?

MESTRE 01/04/2014 08:36:20
#436733
Bom dia pessoal,

preciso que o meu software rode um .bat que realiza a autenticação no NAS e depois ele da um net use /delete, porque o acesso deve ser restrito com docs importantes e fotos que NÃO podem ser deletadas de maneira nenhuma.. então criei 2 arquivos .Bat chamado [Ô]connect[Ô] e [Ô]disconnect[Ô] até ai beleza.. más não to conseguindo dar um shell execute no .bat.. então no início da Estrutura ele roda o .bat e salva as imagens e documentos e dps ele chama o disconnect no fim da rotina.

tentei:

  Shell (C:\Windows\System32
as\connect.bat)


Ele fala que o Arquivo não foi encontrado (File nout found).. o problema é que existe o caminho e a pasta :(

Obs: joguei até no C:\ direto e mandei no Shell e ele fala [Ô]File Not Found[Ô].

TUNUSAT 01/04/2014 08:52:43
#436734
Mestre,

Por favor, experimente isto:

Private Sub Form_Load()
Dim retval As String

retval = Shell([Ô]C:\Windows\System32\calc.exe[Ô], 1)
Shell [Ô]C:\Windows\System32
as\connect.bat[Ô], 1

End Sub


[][ô]s,
Tunusat.
MESTRE 01/04/2014 08:58:22
#436735
Então TUSUNAT com a Calculadora funciona..

más com o .bat Não :(

Ele aparece [Ô]File Not Found[Ô]

MARCELO.TREZE 01/04/2014 09:08:39
#436736
Verifica se o nome do arquivo esta correto mesmo, se não existe algum espaço no nome, ou até mesmo um acento, que não foi percebido, de preferencia você poderia postar um print da tela onde está o arquivo.
TUNUSAT 01/04/2014 09:11:26
#436737
MESTRE,

Estou testando aqui e sem as aspas ([Ô][Ô]) realmente não funciona. Dá erro de compilação se você usar o parênteses (()) e não tiver uma variável de retorno.
Outro fato...
... não funcionou quando coloquei dentro da [Ô]Windows\System32[Ô].
       Shell [Ô]C:\Windows\System32    este.bat[Ô]


Mas funcionou o mesmo arquivo quando coloquei em uma pasta que eu criei:
       Shell [Ô]C:\Temp    este.bat[Ô]


Quando vou no Windows Explorer e mando rodar com duplo clique funciona.
Estou usando o Windows 7 ...
... será que precisa de alguma autorização especial para rodar este arquivo neste diretório com o VB6?

[][ô]s,
Tunusat.
MESTRE 01/04/2014 09:16:01
#436739


Olha ai Marcelo, ta no mesmo lugar informado e tal...


Então TUSUNAT, fiz a mesma coisa que tu fez aqui.. criei a pasta [Ô]Temp[Ô] no C:\ .. joguei um teste la igualzinho... rodei Shell [Ô]C:\Temp    este.bat[Ô]

da erro falando : [Ô] Invalid procedure or Call Argument
TUNUSAT 01/04/2014 09:18:20
#436741
MESTRE,

Funcionou também no Raiz!

[][ô]s,
Tunusat.
SINCLAIR 01/04/2014 09:19:33
#436742
Amigo,

Não teste com duplo clique. Vá até o prompt e cole o path lá (não redigite para evitar que enquanto digita, sem querer você corrija algum erro). Cole mesmo. Ou se preferir, clique no botão iniciar do Windows 7 e caixa de pesquisar programas e arquivos cole ali. Se tiver erro de path, então vai aparecer.

Tudo de bom.
TUNUSAT 01/04/2014 09:26:17
#436744
Resposta escolhida
Mestre

Não tinha a pasta [Ô]nas[Ô] dentro do meu [Ô]windows\system32[Ô] ... fui lá, criei a pasta [Ô]nas[Ô] e copiei o meu arquivo [Ô].bat[Ô] la dentro ... pediu confirmação de administrador (eu tenho). Tentei desta forma e não rodou:
Shell [Ô]C:\Windows\System32
as\TESTE.bat[Ô], vbMinimizedNoFocus


Curiosidade. Abri o arquivo [Ô]teste.bat[Ô] com o bloco de notas, modifiquei uma linha e quando fui salvar ... adivinha!
---------------------------
Bloco de notas
---------------------------
Acesso negado.
---------------------------
OK
---------------------------

Acho que estas pastas protegidas ficaram inacessíveis para o Shell do velho VB6. Vamos pesquisar no google sobre o assunto?


[][ô]s,
Tunusat.
MESTRE 01/04/2014 09:26:39
#436745
To colocando exatamente o mesmo caminho e ta dando erro..

é uma coisa tão boba isso, más que não da certo, com calculadora da certo agora com o .bat que preciso da erro
MARCELO.TREZE 01/04/2014 09:30:31
#436746
verifica nas propriedades do arquivo as permissões, o seu problema não é o vb6 e sim a máquina que ta bloqueando a execução do arquivo, ou o acesso ao mesmo.

Página 1 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas