Registrati programma di Windows con il protocollo mailto programmazione

voti
33

Come faccio a fare in modo mailto:collegamenti saranno registrati con il mio programma?

Come potrei quindi gestire l'evento nel mio programma?

La maggior parte delle soluzioni che ho trovato da una rapida ricerca su Google sono come farlo manualmente, ma ho bisogno di fare questo automaticamente per gli utenti del mio programma, se si fa clic su un pulsante, come ad esempio impostato come client di posta predefinito.

Edit : Rimosso riferimento a Delfi, perché la risposta è indipendente dalla lingua.

È pubblicato 01/08/2008 alle 23:08
fonte dall'utente
In altre lingue...                            


3 risposte

voti
18

@ Dillie-O: La tua risposta mi ha messo nella giusta direzione (avrei aspettato che fosse solo un cambiamento di registro) e ho ottenuto questo lavoro. Ma ho intenzione di segnare questa come la risposta, perché ho intenzione di mettere un po 'ulteriori informazioni che ho trovato mentre si lavora su questo.

La soluzione a questo problema davvero non importa quale linguaggio di programmazione che si sta utilizzando, a patto che ci sia un modo per modificare le impostazioni del registro di Windows.

Infine, ecco la risposta:

  • Per associare un programma con il mailto protocollo per tutti gli utenti su un computer, modificare il HKEY_CLASSES_ROOT \ mailto \ shell \ command \ Valore di default aperta a:
    " eseguibile del programma di " "% 1"
  • Per associare un programma con il mailto protocollo per l' utente corrente , cambiate le HKEY_CURRENT_USER \ Software \ Classes \ mailto \ shell \ command \ Valore di default aperta a:
    " eseguibile del programma di " "% 1"

L'% 1 sarà sostituito con l'intero URL mailto. Ad esempio, dato il link:

<a href="mailto:user@example.com">Email me</a>

Verrà eseguito il seguente:
" eseguibile del programma di " "mailto: user@example.com"

Aggiornamento (via commento di shellscape):
Come di Windows 8, questo metodo non funziona come previsto. Win8 impone la seguente chiave: HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ shell \ Associati ons \ URLAssociations \ MAILTO \ userChoice per i quali il ProgID l'applicazione selezionata viene assegnata e non può essere contraffatto. E 'una valle di lacrime reale

Risposto il 05/08/2008 a 02:49
fonte dall'utente

voti
12

Da quello che ho visto, ci sono alcune chiavi di registro che impostare il client di posta predefinito. Uno di loro che sono:

Chiave di sistema: [HKEY_CLASSES_ROOT\mailto\shell\open\command]

Nome valore: (Default)

Tipo di dati: REG_SZ(Valore stringa)

Dati valore: Mail program command-line.

Io non sono familiarità con Delphi 7, ma sono sicuro che ci sono alcune librerie di modifica del Registro di là che si potrebbe usare per modificare questo valore.

Elencare alcuni luoghi più di questo tasto , altri solo questa chiave, quindi potrebbe essere necessario per testare un po 'per trovare quello giusto (s).

Risposto il 01/08/2008 a 23:12
fonte dall'utente

voti
4

Ecco la soluzione ufficiale Microsoft per modificare a livello di client di posta predefinito. E 'Visual Basic, ma spero che il concetto è chiaro da questo:

http://support.microsoft.com/kb/299853

Risposto il 01/08/2008 a 23:18
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more