我遇到了一个问题。我在UI中显示了一个电子邮件链接。当用户点击该链接时,它会被打开:
LPCTSTR url=L"mailto:myemail@gmail.com?subject=my_subject";
ShellExecute(hParentWnd, _T("open"), url, NULL, NULL, SW_SHOWNORMAL);
只要最终用户安装了电子邮件客户端,此功能就可以使用。但是,如果电子邮件客户端不是安装程序,那么该命令只会在默认Web浏览器中打开主页。
知道如何解决这个问题吗?
答案 0 :(得分:2)
您可以使用AssocQueryString("mailto")
(或查看mailto:
)确定哪个可执行文件/命令处理hkcr\mailto\shell\open\command
协议。
如果幸运的话,对于没有关联设置的机器,这将是空的。