Sto generando un report HTML da C# per stampare coppie di file in una tabella che ha 3 colonne: le prime due colonne utilizzate per i nomi file e la 3a colonna è un collegamento ipertestuale Confronta - Voglio che questo collegamento esegua WinMerge per confrontare a due file e attualmente non so come farlo.Come eseguire un programma esterno, ad es. blocco note, utilizzando il collegamento ipertestuale?
risposta
Prova questa
<html>
<head>
<script type="text/javascript">
function runProgram()
{
var shell = new ActiveXObject("WScript.Shell");
var appWinMerge = "\"C:\\Program Files\\WinMerge\\WinMergeU.exe\" /e /s /u /wl /wr /maximize";
var fileLeft = "\"D:\\Path\\to\\your\\file\"";
var fileRight= "\"D:\\Path\\to\\your\\file2\"";
shell.Run(appWinMerge + " " + fileLeft + " " + fileRight);
}
</script>
</head>
<body>
<a href="javascript:runProgram()">Run program</a>
</body>
</html>
Questo è quello che voglio. Provo a notare che dobbiamo anche consentire al browser di eseguire javascript e ActiveX. Molte grazie! –
Spiacente questa risposta fa schifo, ma non è possibile avviare una qualsiasi applicazione esterna tramite un clic, in quanto ciò rappresenterebbe un grave problema di sicurezza, questa funzionalità non è disponibile in HTML o javascript. Pensa solo all'avvio di cmd.exe
con args ... vuoi avviare WinMerge con gli argomenti, ma puoi vedere i problemi di sicurezza introdotti consentendo questo per qualsiasi cosa.
L'unica possibilmente eccezione praticabile mi viene in mente sarebbe un gestore di protocollo (dal momento che questi sono esplicitamente gestori definiti), come winmerge://
, anche se il modo migliore per passare 2 parametri del file non sono sicuro di, se è un'opzione che vale la pena esaminare, ma non sono sicuro di cosa siete o non siete autorizzati a fare al cliente, quindi questa potrebbe essere una soluzione non iniziale.
Il modo ragionevole per lanciare le app da HTML è attraverso gli schemi di URL. In questo modo puoi avviare la posta elettronica tramite i link mailto:
e irc tramite i link irc:
. Le singole app possono implementare questi schemi, ma non sono sicuro che WinMerge lo faccia.
Fai un file batch e chiamare il file bacth in Window.open. Ecco come funziona
- fare un file nel blocco note
- scrivere lo script: start wmplayer "\ dotnet \ sc \ 1234.mp4"/fullscreen
- Salva come: test.bat in \ dotnet \ sc \ test.bat
in html
window.open ('file: //dotnet/sc/test.bat')
Qualche idea ..
- 1. Collegamento ipertestuale all'interno di un blocco testo
- 2. come eseguire Scrapy shell "URL" con il blocco note
- 3. Impossibile eseguire il programma esterno tramite system()?
- 4. Collegamento ipertestuale in Android
- 5. Esegui comandi con blocco note ++
- 6. schema Associate (ad es cm:. //) a un programma per Windows
- 7. C'è un modo per includere il collegamento ipertestuale a qualche URL HTTP esterno in Scaladoc?
- 8. Come rendere il funzionamento del pulsante (collegamento) come collegamento ipertestuale?
- 9. collegamento ipertestuale su Testo nella cella utilizzando phpExcel
- 10. Come posso registrare un collegamento ipertestuale?
- 11. Come creare un collegamento ipertestuale in MessageBox.show?
- 12. Come creare un collegamento ipertestuale usando XSLT?
- 13. Come aprire il file p4 con un collegamento ipertestuale
- 14. Blocco note Jupyter (IPython)
- 15. Come si può usare HtmlHelper per creare un collegamento ipertestuale esterno?
- 16. Come eseguire un testcase esterno (Class, junit) nel programma java?
- 17. .pl file aperti nel blocco note
- 18. Inserire un collegamento ipertestuale in un MessageBox
- 19. Come creare un collegamento ipertestuale con un'etichetta in Tkinter?
- 20. Come aprire il file del blocco note in java?
- 21. TextView sottolinea il numero di telefono e il collegamento ipertestuale
- 22. Html rende il testo cliccabile senza renderlo un collegamento ipertestuale
- 23. Eseguire il programma esterno da Java, leggere l'output, consentire l'interruzione
- 24. TextView Il collegamento ipertestuale non funziona?
- 25. Forza GCC a collegamento statico, ad es. pthreads (e non collegamento dinamico)
- 26. Impostazione di un sys.path predefinito per il blocco note IPython
- 27. Come esportare il blocco note corrente in HTML su Jupyter
- 28. Perché utilizzare window.location in un collegamento ipertestuale?
- 29. Collegamento ipertestuale nel documento R
- 30. Collegamento ipertestuale semplice in GWT?
Ciò è impossibile in generale, poiché non è possibile sapere quali programmi sono disponibili su un determinato computer. – Raedwald