ShellExecute for mailto:不适用于Google Chrome

ShellExecute for mailto: doesn't work with Google Chrome

本文关键字:适用于 Google Chrome 不适用 for mailto ShellExecute      更新时间:2023-10-16

我希望打开一个默认的电子邮件程序后,点击在我的应用程序链接到电子邮件地址的超链接控件。为此,我做了以下操作:

//LPCTSTR addr = L"mailto:myaddress@gmail.com";
ShellExecute(hParentWnd, _T("open"), addr, NULL, NULL, SW_SHOWNORMAL);

上述方法通常通过打开Outlook或Live Mail的新电子邮件窗口,并在"To:"字段中填写该地址来工作。

但是当我把Google Chrome作为我的默认浏览器时,我得到的只是一个空白的Chrome浏览器窗口,只显示我的主页,没有其他内容。

我哪里做错了?

_T("open")改为NULL。并非所有应用程序都将"open"作为默认动词。NULL强制使用实际的默认值。

BTW,你应该使用TEXT()而不是_T()使用TCHAR文字与Win32 API。_T()是用来与C运行库一起使用的