Я пытаюсь открыть почтовую программу по умолчанию после нажатия на элемент управления гиперссылкой в моем приложении, который ссылается на адрес электронной почты. Для этого я делаю следующее:
//LPCTSTR addr = L"mailto:[email protected]";
ShellExecute(hParentWnd, _T("open"), addr, NULL, NULL, SW_SHOWNORMAL);
Приведенный выше подход обычно работает, когда открывается новое окно электронной почты Outlook или Live Mail с этим адресом, заполненным в поле «Кому:».
Но когда я использую Google Chrome в качестве веб-браузера по умолчанию, все, что я получаю, это пустое окно браузера Chrome, которое просто показывает мою домашнюю страницу и ничего больше.
Так что я тут делаю не так?
+ Изменить _T("open")
в NULL
, Не все приложения используют "open"
как их глагол по умолчанию. NULL заставляет фактическое значение по умолчанию, которое будет использоваться.
Кстати, вы должны использовать TEXT()
вместо _T()
когда используешь TCHAR
литералы с Win32 API. _T()
вместо этого предназначен для использования с библиотекой времени выполнения C.