小编Arn*_*edl的帖子

Windows 10 中是否有任何 UI 可以更改当前的 MAPI 提供程序?

我想为 Windows 编写一个自定义的发送邮件处理程序,包括一个简单的 MAPI 提供程序。

在 Windows 上,当前的 MAPI 提供程序存储在

HKCU/SOFTWARE/Clients/Mail
Run Code Online (Sandbox Code Playgroud)

HKLM/SOFTWARE/Clients/Mail
Run Code Online (Sandbox Code Playgroud)

(前者压倒后者)。但我发现没有 Windows 10 UI 可以更改此注册表设置。特别是,当用户更改设置 -> 默认应用程序 -> 电子邮件时,Windows 会更改作为单独设置的 mailto 关联,但 MAPI 注册表项保持不变。当用户选择不同的默认电子邮件应用程序时,是否有任何方法可以更改 MAPI 提供程序或执行自定义代码?

这些是我安装的注册表项,以使 Windows 知道我的 MAPI 提供程序:

HKLM\SOFTWARE\Classes\CustomMapi.Mailto Type="string" Value="URL:MailTo Protocol"/>
HKLM\SOFTWARE\Classes\CustomMapi.Mailto Name="URL Protocol" Type="string" Value=""/>
HKLM\SOFTWARE\Classes\CustomMapi.Mailto\DefaultIcon Type="string" Value="[TARGETDIR]mailtohandler.exe,-1"/>
HKLM\SOFTWARE\Classes\CustomMapi.Mailto\shell\open\command Type="string" Value='"[TARGETDIR]mailtohandler.exe" "%1"'/>
HKLM\SOFTWARE\RegisteredApplications Name="CustomMapi" Type="string" Value="SOFTWARE\Clients\Mail\CustomMapi\Capabilities"/>
HKLM\SOFTWARE\Clients\Mail\CustomMapi Type="string" Value="CustomMapi"/>
HKLM\SOFTWARE\Clients\Mail\CustomMapi Name="DllPath" Type="string" Value="[TARGETDIR]custommapi.dll"/>
HKLM\SOFTWARE\Clients\Mail\CustomMapi\Capabilities Name="ApplicationName" Type="string" Value="CustomMapi"/>
HKLM\SOFTWARE\Clients\Mail\CustomMapi\Capabilities Name="ApplicationDescription" Type="string" Value="A custom MAPI provider."/>
HKLM\SOFTWARE\Clients\Mail\CustomMapi\Capabilities\StartMenu Name="Mail" Type="string" Value="CustomMapi"/>
HKLM\SOFTWARE\Clients\Mail\CustomMapi\Capabilities\URLAssociations Name="mailto" Type="string" Value="CustomMapi.Mailto"/> …
Run Code Online (Sandbox Code Playgroud)

windows mailto email mapi

5
推荐指数
1
解决办法
1012
查看次数

标签 统计

email ×1

mailto ×1

mapi ×1

windows ×1