Página 1 de 2

Como inserir argumentos em executáveis num HTML ?

MensagemEnviado: 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.



+++

MensagemEnviado: 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: &nbsp

[]'s,
Joao

MensagemEnviado: 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 &nbsp é simbolo de espaço para apresentação HTML.

MensagemEnviado: 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+

MensagemEnviado: 09 Jun 2009 09:15
por ivan

MensagemEnviado: 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.
+++

MensagemEnviado: 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?

MensagemEnviado: 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.

+++

MensagemEnviado: 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

MensagemEnviado: 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).

MensagemEnviado: 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.

MensagemEnviado: 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?

MensagemEnviado: 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>

MensagemEnviado: 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 !

+++

MensagemEnviado: 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.