Sett inn Windows-program med mailto protokollen programma

stemmer
33

Hvordan gjør jeg det ikke så mailto:linker vil bli registrert med mitt program?

Hvordan skulle jeg da håndtere denne hendelsen i mitt program?

De fleste av de løsningene jeg fant fra et raskt Google-søk er hvordan du gjør dette manuelt, men jeg trenger å gjøre dette automatisk for brukere av mitt program hvis de klikker på en knapp, for eksempel satt som standard e-postklient.

Edit : Fjernet referanse til Delphi, fordi svaret er uavhengig av språket.

Publisert på 01/08/2008 klokken 22:08
kilden bruker
På andre språk...                            


3 svar

stemmer
13

Fra hva jeg har sett, er det noen registernøkler som setter standard e-postklient. En av dem er:

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

Verdi Navn: (Default)

Datatype: REG_SZ(Strengverdi)

Verdidata: Mail program command-line.

Jeg er ikke familar med Delphi 7, men jeg er sikker på at det er noen registerredigerings biblioteker i det som du kan bruke til å endre denne verdien.

Noen steder gi mer enn dette nøkkelen , andre bare denne tasten, så du må kanskje teste litt for å finne den riktige en (e).

Svarte 01/08/2008 kl. 22:12
kilden bruker

stemmer
5

Her er den offisielle Microsoft Solution for å programmatisk endre standard e-postklient. Det er Visual Basic, men jeg håper konseptet er klart fra dette:

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

Svarte 01/08/2008 kl. 22:18
kilden bruker

stemmer
18

@ Dillie-O: Svaret sette meg i riktig retning (jeg burde ha forventet det å bare være en registerendring) og jeg fikk denne arbeids. Men jeg kommer til å markere dette som svar fordi jeg kommer til å legge litt mer informasjon som jeg fant mens du arbeider med dette.

Løsningen på dette spørsmålet egentlig ingen rolle hva programmeringsspråk du bruker, så lenge det er noen måte å endre Windows-registerinnstillinger.

Til slutt, her er svaret:

  • For å knytte et program med mailto protokoll for alle brukere på en datamaskin, endre HKEY_CLASSES_ROOT \ mailto \ shell \ open \ command Standard verdi til:
    " Din programmets kjør " "% 1"
  • For å knytte et program med mailto protokollen for gjeldende bruker , endre HKEY_CURRENT_USER \ Software \ Classes \ mailto \ shell \ open \ command Standard verdi til:
    " Din programmets kjør " "% 1"

% 1 vil bli erstattet med hele mailto URL. For eksempel, gitt link:

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

Følgende vil bli utført:
" Din programmets kjør " "mailto: user@example.com"

Update (via kommentar etter shellscape):
Per Windows 8, ikke lenger fungerer denne metoden som forventet. Win8 håndhever følgende nøkkel: HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Shell \ Associati ons \ URLAssociations \ MAILTO \ Brukervalgt som ProgID av det valgte programmet er hashet og kan ikke være falsk. Det er en Royal Pita

Svarte 05/08/2008 kl. 01:49
kilden bruker

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