Ho visto:
http://www...
ftp://blah.blah...
file://blah.blah...
unreal://blah.blah...
mailto://blah.blah...
Come si http
chiama quella prima sezione in cui vedi e simili?
Posso registrarmi da solo?
Ho visto:
http://www...
ftp://blah.blah...
file://blah.blah...
unreal://blah.blah...
mailto://blah.blah...
Come si http
chiama quella prima sezione in cui vedi e simili?
Posso registrarmi da solo?
Risposte:
La parte con la HTTP://
, FTP://
ecc sono chiamati schemi di URI
Puoi registrarti tramite il registro.
HKEY_CLASSES_ROOT/
your-protocol-name/
(Default) "URL:your-protocol-name Protocol"
URL Protocol ""
shell/
open/
command/
(Default) PathToExecutable
Fonti: https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml , http://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx
(Default)
qui significa stringa vuota. Non prenderlo alla lettera.
Apri il blocco note e incolla il codice sottostante. Cambia "YourApp" nel nome della tua app. Salvalo su YourApp.reg ed eseguilo facendo clic su di esso in Explorer. Questo è tutto! Saluti! Erwin Haantjes
REGEDIT4
[HKEY_CLASSES_ROOT\YourApp]
@="URL:YourApp Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\YourApp\DefaultIcon]
@="\"C:\\Program Files\\YourApp\\YourApp.exe\""
[HKEY_CLASSES_ROOT\YourApp\shell]
[HKEY_CLASSES_ROOT\YourApp\shell\open]
[HKEY_CLASSES_ROOT\YourApp\shell\open\command]
@="\"C:\\Program Files\\YourApp\\YourApp.exe\" \"%1\" \"%2\" \"%3\" \"%4\" \"%5\" \"%6\" \"%7\" \"%8\" \"%9\""
Questo è diverso per ogni browser, in IE e Windows è necessario creare quello che chiamano un gestore di protocollo collegabile.
I passaggi di base sono i seguenti:
Vedere Informazioni sui protocolli collegabili asincroni su MSDN per ulteriori dettagli sul lato Windows. C'è anche un esempio nell'SDK di Windows.
Un rapido google ha anche mostrato questo articolo su codeproject: http://www.codeproject.com/KB/IP/DataProtocol.aspx .
Infine, come addetto alla sicurezza, devo sottolineare che questo codice deve essere rafforzato in battaglia. È ad alto rischio perché per farlo in modo affidabile non puoi farlo in codice gestito e devi farlo in C ++ (suppongo che potresti usare VB6). Dovresti considerare se hai davvero bisogno di farlo e, se lo fai, progettalo attentamente e codificalo in modo sicuro. Un utente malintenzionato può facilmente controllare il contenuto che ti viene passato semplicemente includendo un link in una pagina. Ad esempio, se si dispone di un buffer overflow semplice, nessuno farebbe meglio a questo:<a href="custom:foooo{insert long string for buffer overflow here}"> Click me for free porn</a>
Prendi in considerazione l'idea di utilizzare strsafe e i nuovi metodi CRT sicuri inclusi nel compilatore VC8 e sopra. Vedi http://blogs.msdn.com/michael_howard/archive/2006/02/27/540123.aspx se non hai idea di cosa sto parlando.
Ecco un elenco degli schemi URI registrati . Ognuno ha un RFC - un documento che lo definisce, che è quasi uno standard. RFC comunica agli sviluppatori di nuove applicazioni (come browser, client ftp, ecc.) Ciò di cui hanno bisogno per supportare. Se è necessario un nuovo protocollo di livello base, è possibile utilizzarne uno non registrato. Le altre risposte ti dicono come. Tieni presente che puoi fare molte cose con i protocolli esistenti, ottenendo così le loro implementazioni esistenti.
Per la maggior parte dei prodotti Microsoft (Internet Explorer, Office, finestre di dialogo "Apri file", ecc.) È possibile registrare un'applicazione da eseguire quando viene aperto URI con prefisso appropriato. Questa è una parte della spiegazione più comune : come implementare il proprio protocollo.
Si chiama protocollo. L'unica cosa che ti impedisce di creare il tuo protocollo è che devi:
Windows rende il numero 1 davvero semplice, e in molti casi questo è tutto ciò di cui hai effettivamente bisogno. Cioè:
La prima sezione si chiama protocollo e sì, è possibile registrare il proprio. Su Windows (dove suppongo tu stia facendo questo dato il tag C # - scusate i fan di Mono), è fatto tramite il registro .
Un protocollo?
Ho trovato questo, sembra essere un'impostazione locale per un computer ...
Non è necessario effettuare alcuna registrazione in quanto tale. Ho visto molti programmi, come emule, creare il proprio protocollo più specifico (è quello che penso si chiami). Dopodiché, devi semplicemente impostare alcuni valori nel registro su quale programma gestisce quel protocollo. Non sono sicuro che esista un registro ufficiale degli identificatori di protocollo. Non c'è davvero molto che ti impedisce di creare il tuo identificatore di protocollo per la tua applicazione se vuoi che le persone aprano la tua app dal loro browser.