PDA

Visualizza la versione completa : Creare un programma che intercetta chiamate del browser


Luca1317
15-04-2015, 21:23
Sarebbe possibile creare un programma che, quando attivo nella tray, intercetta alcune chiamate del browser?

Mi spiego meglio:
su una pagina web ho un pulsante il quale se premuto dovrebbe far andare winows al percorso w:\cartella\nomefile.doc

da questo punto in poi pensa a tutto windows associando l'estensione al software installato (in questo caso word) e aprirà il file nomefile.doc con word.

Questo lo faccio già con le applet java ma devo optare per un altra strada per via delle recenti restrizioni di google chrome.

Scara95
15-04-2015, 22:04
A te piacerebbe che uno sconosciuto potesse eseguire programmi a suo piacimento sul tuo computer semplicemente perché visiti una pagina web?

Cosa devi fare nello specifico? Forse una pagina web non è la soluzione più adatta...

Luca1317
15-04-2015, 22:43
A te piacerebbe che uno sconosciuto potesse eseguire programmi a suo piacimento sul tuo computer semplicemente perché visiti una pagina web?

Forse non mi sono spiegato bene;

il software deve essere installato a mano con accesso diretto al pc;



Cosa devi fare nello specifico? Forse una pagina web non è la soluzione più adatta...

Si, è la soluzione più adatta;
il gestionale che ho creato è già funzionante ed attivo;
è installato su un server con iis in una rete locale ed è in asp; una delle sue funzioni è aprire dei files tramite applet java in una cartella di rete mappata su tutti i clients.

Ora, visto che Google Chrome ha eliminato la possibilità di eseguire le applet (e così faranno probabilmente gli altri browser in seguito) vorrei sostituire la funzione che hanno avuto queste applet fino ad ora con un software installabile.

MItaly
16-04-2015, 09:53
Probabilmente la soluzione più semplice è implementare un protocol handler. L'installer del programma si registra come protocol handler sulla macchina client per un nome protocollo che ti inventi (toh, luca://); quando fornisci dei link che devono essere girati al tuo programma invece di http:// scrivi luca:// in modo che il browser giri la richiesta al tuo programma. A questo punto nel tuo programma puoi semplicemente cambiare luca:// in http://, recuperare il file e farci quel che ti pare.

Luca1317
16-04-2015, 11:51
Perfetto, hai capito esattamente cosa mi serve;

Vorrei far creare questo programmino sia per ein che per mac; dovrei rivolgermi ad un programmatore c?

MItaly
16-04-2015, 12:07
Il programma può essere scritto in un linguaggio qualunque, basta registrarlo correttamente tra i protocol handler in fase di setup.
https://msdn.microsoft.com/en-us/library/ie/aa767914%28v=vs.85%29.aspx
http://superuser.com/questions/548119/how-do-i-configure-custom-url-handlers-on-os-x

Luca1317
17-04-2015, 00:06
Non pensavo fosse così semplice;

in pratica non ho bisogno di nessun programma, basta aggiungere una chiave al regedit ed il browser richiama il file con l'applicazione.

usando come link: <a href="ApriFile:c:\1.xls">Apri File</a> in shell -> open -> command ho inserito "C:\Program Files\Microsoft Office\Office14\excel.exe" "%1"

excel si apre ma ho 2 problemi:

1) mi dice che non riesce a trovare il file ApriFile:c:\1xls ( come faccio a dirgli che il percorso è c:\1xls e non ApriFile:c:\1xls ) ?

2) nel momento in cui inserisco nel registro il percorso C:\Program Files\Microsoft Office\Office14\excel.exe quando capiterà di installare un'altra versione di office in un'altra cartella mi restituirà un errore; come posso risolvere?

MItaly
17-04-2015, 00:52
1) non puoi. Scrivi un programma che parsi l'indirizzo e ci faccia quello che ci deve fare.
2) nel tuo programma usa ShellExecute per aprire un file con il programma associato.

Luca1317
17-04-2015, 02:12
Secondo te quanto costerebbe farmi creare un programmino del genere?

e con che linguaggio dovrebbe essere sviluppato per essere compatibile sia con windows che con mac?

Loading