
Πώς μπορώ να το κάνω έτσι ώστε `mailto:`οι συνδέσεις θα είναι εγγεγραμμένοι με το πρόγραμμά μου;


Πώς θα χειριστεί τότε αυτό το γεγονός στο πρόγραμμά μου;


Οι περισσότερες από τις λύσεις που βρήκα από μια γρήγορη αναζήτηση στο Google είναι πώς να το κάνουμε αυτό με το χέρι, αλλά πρέπει να το κάνει αυτό αυτόματα για τους χρήστες του προγράμματος μου, αν κάνουν κλικ σε ένα κουμπί, όπως «οριστεί ως προεπιλεγμένο πρόγραμμα-πελάτη ηλεκτρονικού ταχυδρομείου».


**Επεξεργασία** : Αφαιρέθηκε αναφορά στους Δελφούς, γιατί η απάντηση είναι ανεξάρτητη από τη γλώσσα σας.

 
Εγγραφή πρόγραμμα των Windows με το πρωτόκολλο mailto προγραμματισμού
=====================================================================



*@ Dillie-O: Η απάντησή σας με βάλει στη σωστή κατεύθυνση (θα έπρεπε να αναμένεται να είναι απλώς μια αλλαγή μητρώου) και πήρα αυτή την εργασία. Αλλά Πάω να σηματοδοτήσει αυτή η απάντηση, διότι Πάω να θέσει κάποιες επιπλέον πληροφορίες που βρήκα ενώ εργαζόταν σε αυτό.* 


Η λύση σε αυτό το ερώτημα πραγματικά δεν έχει σημασία τι γλώσσα προγραμματισμού που χρησιμοποιείτε, εφ 'όσον υπάρχει κάποιος τρόπος για να τροποποιήσετε τις ρυθμίσεις του μητρώου των Windows.


Τέλος, εδώ είναι η απάντηση:


* Για να συνδέσετε ένα πρόγραμμα με το πρωτόκολλο mailto για **όλους τους χρήστες** σε έναν υπολογιστή, αλλάξτε το HKEY\_CLASSES\_ROOT \ mailto \ shell \ ανοιχτή \ εντολή Προεπιλεγμένη τιμή για:   

« *εκτελέσιμο πρόγραμμα σας* » «% 1»
* Για να [συνδέσετε ένα πρόγραμμα με το πρωτόκολλο mailto για τον **τρέχοντα χρήστη**](http://windowsxp.mvps.org/permail.htm) , αλλάξτε τις HKEY\_CURRENT\_USER \ Software \ Classes \ mailto \ shell \ ανοιχτή \ εντολή Προεπιλεγμένη τιμή για:   

« *εκτελέσιμο πρόγραμμα σας* » «% 1»


Το% 1 θα αντικατασταθεί με ολόκληρη τη διεύθυνση URL mailto. Για παράδειγμα, δίνεται το σύνδεσμο:



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

```

Θα εκτελούνται τα ακόλουθα:   

« *εκτελέσιμο πρόγραμμα σας* » «mailto: user@example.com»


Ενημέρωση (μέσω σχόλιο shellscape):   

Από τα Windows 8, η μέθοδος αυτή δεν λειτουργεί πλέον όπως αναμένεται. Win8 επιβάλλει το ακόλουθο κλειδί: HKEY\_CURRENT\_USER \ Software \ Microsoft \ Windows \ Shell \ Associati ons \ URLAssociations \ MAILTO \ UserChoice για τις οποίες η ProgID της επιλεγμένης εφαρμογής κατακερματίζεται και δεν μπορεί να είναι πλαστά. Είναι μια βασιλική ΠΙΤΑ

 

Από όσα έχω δει, υπάρχουν μερικά κλειδιά μητρώου που θέτουν το προεπιλεγμένο πρόγραμμα-πελάτη αλληλογραφίας. Ένας από αυτούς είναι:


Key System: `[HKEY_CLASSES_ROOT\mailto\shell\open\command]`


Αξία Όνομα: `(Default)`


Τύπος δεδομένων: `REG_SZ`(String Value)


Δεδομένα τιμής: `Mail program command-line`.


Δεν είμαι familar με `Delphi 7`, αλλά είμαι βέβαιος ότι υπάρχουν κάποιες *βιβλιοθήκες επεξεργασίας του μητρώου* εκεί που μπορείτε να χρησιμοποιήσετε για να τροποποιήσετε αυτή την τιμή.


Μερικές θέσεις λίστα πάνω από αυτό το *κλειδί* , άλλοι απλά αυτό το πλήκτρο, οπότε μπορεί να χρειαστεί να δοκιμάσετε λίγο να βρει την κατάλληλη (ες).

 

Εδώ είναι η επίσημη λύση της Microsoft για να αλλάξετε μέσω προγραμματισμού το προεπιλεγμένο πρόγραμμα-πελάτη αλληλογραφίας. Είναι Visual Basic, αλλά ελπίζω ότι η έννοια είναι σαφής από αυτό:


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

 