Página 1 de 2
Como inserir argumentos em executáveis num HTML ?

Enviado:
08 Jun 2009 20:17
por andre_luis
olá pessoALL,
Alguem sabe como inserir um argumento num programa chamado de dentro de um arquivo HTML ?
Por exemplo, a sequencia abaixo funciona :
- Código: Selecionar todos
<a href="C:/WINDOWS/SYSTEM32/cmd.exe">cmd</a>
Mas essa abaixo, não funciona :
- Código: Selecionar todos
<a href="C:/WINDOWS/SYSTEM32/cmd.exe -help">cmd</a>
Obviamente, meu objetivo não é o prompt ( só usei como referencia ), mas trata-se de um outro aplicativo, que precisa de argumentos para ser executado.
+++

Enviado:
09 Jun 2009 05:37
por joao
Ola André,
Olha, eu não fiz nenhuma busca e nem manjo muito de HTML, mas meu palpite é que quanto vc utiliza espaço, você está fazendo com que o sistema entenda que são dois comandos ou algo parecido.
Minha sugestão, mas não sei se rola é:
- usar um \ antes do espaço, para dizer que vc quer incluir um espaço.
- ou achar o código HTML para espaço e tentar usar ele no lugar, acho que é algo do tipo:  
[]'s,
Joao

Enviado:
09 Jun 2009 08:52
por ivan
Andre,
Não testei, mas tenta usar %20 ao invés de espaço.
Uma outra forma, seria utilizar CGI que é um padrão pra chamadas de executáveis no servidor Web.
O   é simbolo de espaço para apresentação HTML.

Enviado:
09 Jun 2009 08:53
por andre_luis
opa....
João, eu tentei %20, que é o padrão HTML e não funcionou.
Vou tentar esse aí.
AT+

Enviado:
09 Jun 2009 09:15
por ivan

Enviado:
09 Jun 2009 16:23
por andre_luis
Ivan,
Não rolou....a linha aparece como comentário no editor HTML.
Mas vou continuar tentando com esse comando.
Muito obrigado.
+++

Enviado:
10 Jun 2009 00:07
por ivan
Andre,
Se o seu servidor estiver configurado para SSI é quase certo funcionar.
Tem tb o exec no CGI...
Qual o seu servidor http?

Enviado:
10 Jun 2009 10:10
por andre_luis
Então, na verdade, estou criando uma página local ( na área de trabalho ), que foi editada em WORD e salva no formato HTML.
Aguns 'Hiperlinks' apontam realmente para páginas Web (
http://...... ), porém outros links apontam para um aplicativo local ( VNCviewer ) que exige como argumento o IP da máquina a ser acessada.
Resumindo : Eu só queria colocar num 'Hiperlink' do Word a chamada para um aplicativo DOS, com argumentos.
+++

Enviado:
10 Jun 2009 10:41
por Jorge_Francisco
Não estava usando PHP? Se ainda estiver, tem uma função exec que te atende, senão usa CGI.
Vlw

Enviado:
10 Jun 2009 11:12
por ivan
André,
Sem um servidor http não funciona CGI, SSI, etc...
Uma possível solução seria Javascript ou VBScript. Com java tb não é possivel devido as restrições da jvm em rodar executáveis(sandbox).

Enviado:
10 Jun 2009 15:45
por andre_luis
Opa...
Por acaso, a página PHP é a que será acessada remotamente.
Já no documento HTML 'local', estará o Hiperlink que acessará essa página remota e o aplicativo local.
Estranho, pois se o executável funciona, o que teria de complexo em adicionar argumentos, não é ?
Bom, se não tem como fazer, só resta sentar e chorar...rssr
Obrigado.

Enviado:
10 Jun 2009 20:28
por Jorge_Francisco
andre_teprom escreveu:Opa...
Por acaso, a página PHP é a que será acessada remotamente.
Já no documento HTML 'local', estará o Hiperlink que acessará essa página remota e o aplicativo local.
Estranho, pois se o executável funciona, o que teria de complexo em adicionar argumentos, não é ?
Bom, se não tem como fazer, só resta sentar e chorar...rssr
Obrigado.
Eu não entendi a sua aplicação ainda. A página em PHP estará em um servidor remoto, então terá nele um interpretador PHP, seria isso neh? Então quer acessar essa página, que será interpretada e enviada em HTML para o PC ou dispositivo local. Seria isso?

Enviado:
10 Jun 2009 20:58
por Jorge_Francisco
Um exemplo, no caso para abrir o notepad com argumento(arquivo):
- Código: Selecionar todos
<HTML>
<HEAD>
<SCRIPT type="text/javascript" LANGUAGE="JavaScript">
function executeCommands(inputparms)
{
// Instantiate the Shell object and invoke its execute method.
var oShell = new ActiveXObject("Shell.Application");
var commandtoRun = "C:\\WINDOWS\\Notepad.exe";
if (inputparms != "")
{
var commandParms = document.Form1.filename.value;
}
// Invoke the execute method.
oShell.ShellExecute(commandtoRun, commandParms, "", "open", "1");
}
</SCRIPT>
</HEAD>
<BODY>
<FORM name="Form1">
<CENTER>
<BR><BR>
<H1>Execute PC Commands From HTML </H1>
<BR><BR>
<File Name to Open:<Input type="text" name="filename" size="20"/>
<BR><BR>
<input type="Button" name="Button1" value="Run Notepad.exe"
onClick="executeCommands()" />
<BR><BR>
<input type="Button" name="Button2" value="Run Notepad.exe with
Parameters" onClick="executeCommands(' + hasPARMS + ')" />
</CENTER>
</FORM>
</BODY>
</HTML>

Enviado:
11 Jun 2009 17:26
por andre_luis
Opa Jorge...
A questão do PHP já foi 'resolvida'. Quero dizer, não terminei a página, mas os acessos Telnet e Ftp agora já estão funcionando.
A questão agora é como voce apresentou no exemplo. Executar um aplicativo com argumento.
POR ACASO, não está funcionando. Tá dando "Pagina com erro" na barra de status do IE6, e o EditBox não aparece.
Já no FireFox, abre e mostra a caixa de texto, mas em ambos os casos, o aplicativo não é executado. Tentei até apontar no fonte do HTML para outro aplicativo do meu PC, mas não rolou.
Está faltando algum PATH na minha máquina ?
AHH....Obrigado pela ajuda !
+++

Enviado:
11 Jun 2009 23:47
por ivan
...
onClick="executeCommands(' + hasPARMS + ')
...
Para executar o aplicativo com o parametros é necessário inicializar a variável "hasPARMS".
A hasPARMS deve ser preenchida com um valor de um textbox ou ter um valor fixo, mas tem que ter um valor para poder passá-lo como parâmetro.