设置默认程序 MAPI Thunderbird
文章转自王牌软件
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)
只回答业务咨询
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)
HKEY_CURRENT_USER\Software\Clients\Mail
根据这个值 找MAPI的默认关联
从
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail
里面找到对应项
然后通过
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\Mozilla Thunderbird
DLLPath 中的 mozMapi32_InUse.dll 找到 注册的{29F458BE-8866-11D5-A3DD-00B0D0F3BAA7} 主程序,运行 LocalServer32
主程序 thunderbird.exe” /MAPIStartup
获取 HKEY_CLASSES_ROOT\CLSID\{6EDCD38E-8861-11D5-A3DD-00B0D0F3BAA7}
D:\Program Files\Mozilla Thunderbird\MapiProxy_InUse.dll
注册
MapiProxy_InUse.dll 从系统MAPI 中获取信息 返回主程序
测试代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include "stdafx.h" #include <Windows.h> //#define NEW_TEST #ifdef NEW_TEST const CLSID CLSID_CMapiImp = {0xa57e1ac6, 0x1c0e, 0x400c, {0x83, 0x7, 0x37, 0x32, 0xfb, 0x28, 0x78, 0x39}}; const IID IID_nsIMapi = {0x713b7751, 0xff23, 0x4b9d, {0xac, 0x34, 0xcc, 0x29, 0x44, 0x6, 0x4, 0x85}}; #else const CLSID CLSID_CMapiImp = {0x29f458be, 0x8866, 0x11d5, {0xa3, 0xdd, 0x0, 0xb0, 0xd0, 0xf3, 0xba, 0xa7}}; const IID IID_nsIMapi = {0x6EDCD38E,0x8861,0x11d5, {0xA3,0xDD,0x00,0xB0,0xD0,0xF3,0xBA,0xA7}}; #endif int _tmain(int argc, _TCHAR* argv[]) { IDispatch* pDispatch; HRESULT hRes = ::CoInitialize(NULL) ; hRes = ::CoCreateInstance(CLSID_CMapiImp, NULL, CLSCTX_LOCAL_SERVER, IID_nsIMapi, (void **)&pDispatch); if (hRes != S_OK) { MessageBox(NULL,L"哎呦进来了",L"Come on baby",MB_OK); DWORD error = GetLastError(); } return 0; } |
学习日记,兼职软件设计,软件修改,毕业设计。
本文出自 学习日记,转载时请注明出处及相应链接。
本文永久链接: https://www.softwareace.cn/?p=1349