ShellExecute для mailto: не работает с Google Chrome

Я пытаюсь открыть почтовую программу по умолчанию после нажатия на элемент управления гиперссылкой в ​​моем приложении, который ссылается на адрес электронной почты. Для этого я делаю следующее:

//LPCTSTR addr = L"mailto:[email protected]";
ShellExecute(hParentWnd, _T("open"), addr, NULL, NULL, SW_SHOWNORMAL);

Приведенный выше подход обычно работает, когда открывается новое окно электронной почты Outlook или Live Mail с этим адресом, заполненным в поле «Кому:».

Но когда я использую Google Chrome в качестве веб-браузера по умолчанию, все, что я получаю, это пустое окно браузера Chrome, которое просто показывает мою домашнюю страницу и ничего больше.

Так что я тут делаю не так?

1

Решение

+ Изменить _T("open") в NULL, Не все приложения используют "open" как их глагол по умолчанию. NULL заставляет фактическое значение по умолчанию, которое будет использоваться.

Кстати, вы должны использовать TEXT() вместо _T() когда используешь TCHAR литералы с Win32 API. _T() вместо этого предназначен для использования с библиотекой времени выполнения C.

0

Другие решения


По вопросам рекламы [email protected]