154 messaggi dal 11 maggio 2001
Ciao da un link devo aprire un programma .exe che si trova nella cartella windows del client e fin quì funziona. Ma se ci clicco nuovamente mi apre 2, 3, 4, 5 ecc programmi, all'infinito.
Io invece vorrei che cliccandoci sopra mi facesse il focus del programma già in esecuzione.

Grazie questo è il codice che sto usando per aprire l'applicazione.

<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
function button1_onclick() {
var WshShell = new ActiveXObject("WScript.Shell");
var oExec = WshShell.Exec("Client.exe");
while (oExec.Status == 0)
{
WScript.Sleep(100);
}
WScript.Echo(oExec.Status);
}

//-->
</SCRIPT>
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,
non credo che puoi controllare una cosa del genere...
Nella pagina ci puoi mettere una variabile di controllo che imposti a 1 se il programma è già stato eseguito.
Al prossimo click non se ne aprirà una seconda. Rimane il problema del focus (ingestibile da un javascript, credo...)

L'exe l'hai scritto tu?
se è così, puoi consentire che venga aperta una sola istanza dell'applicazione. Molti grandi programmi fanno così (se Photoshop è già aperto e clicchi la sua icona non se ne apre un secondo). Questo lo puoi fare in modo semplice se stai usando VB6:

If App.PrevInstance then
UnLoad Me
End if

metti questa cosa nel Load del form principale, ciao

Enjoy learning and just keep making
154 messaggi dal 11 maggio 2001
Ok ma io devo assolutamente fare il focus
11.886 messaggi dal 09 febbraio 2002
Contributi
ma l'exe l'hai scritto tu o no?
altrimenti non puoi dare il focus a un'applicazione semplicemente col javascript, ti devi scrivere un componente activex oppure un'applet java.

Enjoy learning and just keep making
11.886 messaggi dal 09 febbraio 2002
Contributi
mhhh...
puoi aggiungere del codice al sorgente affinche se viene cliccato di nuovo l'exe non si apre un'altra finestra del programma ma il focus viene dato a quella già esistente.

Ti conviene modificare il sorgente solo per dare un focus?
...ti segnalo questa pagina, so che potrebbe essere utile ma non c'ho capito niente, io mi ci pizzico con le api di windows :( spero che non ti crei problemi aggiuntivi:

http://www.andreavb.com/tip020014.html

questo ti permetterebbe di cercare (tra i processi attivi) il tuo eseguibile e, una volta identificato, dargli il focus.
E' comunque una piccola miglioria al programma, indipendentemente dal fatto che ora hai un problema con la pagina web. Ma vale la pena?

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.