Registrovat programu Windows s mailto protokolu programově

hlasů
33

Jak mohu dělat to, takže mailto:odkazy budou zaregistrovány s mým programem?

Jak bych potom zpracovat tuto událost ve svém programu?

Většina řešení jsem našel z rychlého vyhledávání Google jsou, jak to udělat ručně, ale musím to udělat automaticky pro uživatele svého programu v případě, že klepnete na tlačítko, například „nastavena jako výchozí e-mailového klienta.“

Edit : Odstraněn odkaz na Delphi, protože odpověď je nezávislá na vašem jazyce.

Položena 01/08/2008 v 23:08
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
18

@ Dillie-O: Vaše odpověď mě tím správným směrem (Měl jsem očekával, že se to být jen změna registru) a dostal jsem tuto práci. Ale budu označit to jako odpověď, protože jdu dát nějaké další informace, které jsem našel při práci na toto téma.

Řešení této otázky ve skutečnosti nezáleží na tom, jaký programovací jazyk, který používáte, pokud existuje nějaký způsob, jak změnit nastavení registru systému Windows.

Konečně, tady je odpověď:

  • Spojovat program s mailto protokolu pro všechny uživatele v počítači, změnit HKEY_CLASSES_ROOT \ mailto \ shell \ open \ command výchozí hodnotu:
    Váš program je spustitelný “ „% 1“
  • Chcete-li spojit program s mailto protokolu pro aktuálního uživatele , změnit HKEY_CURRENT_USER \ Software \ Classes \ mailto \ shell \ open \ command výchozí hodnotu:
    " Váš program je spustitelný " "% 1"

% 1 bude nahrazen celý mailto URL. Například vzhledem k odkazu:

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

Vkládá se spustí:
spustitelný vašeho programu je “ „mailto: user@example.com“

Update (via připomínkám shellscape):
Jak Windows 8, je tato metoda již funguje podle očekávání. Win8 vynucuje následující klíč: HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Shell \ Associati ons \ URLAssociations \ MAILTO \ UserChoice u nichž ProgID vybrané aplikace je hash a nemůže být padělané. Je to královská PITA

Odpovězeno 05/08/2008 v 02:49
zdroj uživatelem

hlasů
12

Z toho, co jsem viděl, existuje několik klíčů registru, které nastavit výchozí e-mailového klienta. Jedním z nich je:

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

Název hodnoty: (Default)

Typ dat: REG_SZ(String Value)

Hodnota dat: Mail program command-line.

Nejsem familar s Delphi 7, ale jsem si jistý, že tam jsou některé editace registru knihovny v tam, že byste mohli použít k úpravě této hodnoty.

Některá místa seznamu více než tento klíč , jiní právě tento klíč, takže budete muset vyzkoušet trochu najít správný jeden (y).

Odpovězeno 01/08/2008 v 23:12
zdroj uživatelem

hlasů
4

Zde je oficiální řešení Microsoft programově změnit výchozí poštovní klient. To je Visual Basic, ale doufám, že koncept je z toho zřejmé:

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

Odpovězeno 01/08/2008 v 23:18
zdroj uživatelem

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