Registrieren Sie Windows-Programm mit dem mailto-Protokoll programmgesteuert
Wie kann ich es so machen mailto:
links werden registriert, mit meinem Programm?
Wie würde ich dann behandeln Sie das Ereignis, in meinem Programm?
Meisten Lösungen, die ich fand, aus einer schnellen Google-Suche sind, wie Sie dies manuell tun, aber ich brauche, um dies automatisch für Benutzer von meinem Programm, wenn Sie auf eine Schaltfläche klicken, wie "set als Standard-Mail-client".
Bearbeiten: Entfernt, Referenz, Delphi, denn die Antwort ist unabhängig von Ihrer Sprache.
InformationsquelleAutor der Frage Liron Yahdav | 2008-08-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
@Dillie-O: Ihre Antwort brachte mich in die richtige Richtung (ich hätte erwartet, dass es nur eine registry-änderung) und ich habe diese Arbeit. Aber ich werde markieren Sie diese als Antwort, denn ich werde einige zusätzliche Informationen, die ich gefunden, während der Arbeit an diesem.
Die Lösung diese Frage ist wirklich egal, welche Programmiersprache du verwendest, solange es noch einiges zu ändern Windows registry-Einstellungen.
Schließlich, hier ist die Antwort:
"Ihre Programm-Datei" "%1"
"Ihre Programm-Datei" "%1"
%1 ersetzt werden, mit dem gesamten mailto-URL. Zum Beispiel, die über den link:
Wird Folgendes ausgeführt:
"Ihre Programm-Datei" "mailto:[email protected]"
Update (via Kommentar von shellscape):
Wie von Windows 8, diese Methode funktioniert nicht mehr wie erwartet. Win8 setzt die folgenden Schlüssel: HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\URLAssociations\MAILTO\UserChoice, für die das ProgID für die ausgewählte app wird gehasht und können nicht gefälscht werden. Es ist ein royal PITA
InformationsquelleAutor der Antwort Liron Yahdav
Was ich gesehen habe, gibt es ein paar registry-Schlüssel, legen Sie die Standard-mail-client. Einer von Ihnen:
System-Schlüssel:
[HKEY_CLASSES_ROOT\mailto\shell\open\command]
Wert-Name:
(Default)
Daten Typ:
REG_SZ
(String-Wert)Wert:
Mail program command-line
.Ich bin nicht vertraut mit
Delphi 7
, aber ich bin sicher, es gibt einige registry editing-Bibliotheken gibt, die Sie verwenden konnten, um diesen Wert ändern.Einigen Orten mehr als das Schlüssel, andere nur diesen Schlüssel, so müssen Sie möglicherweise um zu testen ein wenig, um zu finden Sie die richtige(N).
InformationsquelleAutor der Antwort Dillie-O
Hier ist die offizielle Microsoft-Lösung zum programmgesteuerten ändern der Standard-mail-client. Es ist Visual Basic, aber ich hoffe, das Konzept ist klar:
http://support.microsoft.com/kb/299853
InformationsquelleAutor der Antwort Michael Stum