Здравствуйте DNS, Вы писали:
DNS>Есть вариант, но корявенький.
DNS>Перед запуском ShellExecute надо попортить\удалить запись в реестре на нужный протокол (http для примера) в разделе реестра HKCR\http\shell\ddeexec\Application чтобы браузер не смог ответить на dde-мессагу, которую пошлёт ShellExecute, и тогда запустит новое приложение.
DNS>После всего восстанавливаешь запись в реестре.
DNS>Как вариант?
Нормально...

Вот только извратно очень.
BOOL CMainWnd::Navigate2UrlNewWnd(LPCTSTR szUrl)
{
// Ïîëó÷èì áðîóçåð ïî óìîë÷àíèþ
HKEY hkey;
LONG lres = ::RegOpenKeyEx( HKEY_CLASSES_ROOT, _T("http\\shell\\open\\command"),
0, KEY_READ, &hkey );
if( lres != ERROR_SUCCESS )
return FALSE;
DWORD dwType = 0, dwnBytes = MAX_PATH;
_TCHAR buff[MAX_PATH] = {0};
lres = ::RegQueryValueEx( hkey, NULL, 0, &dwType, (LPBYTE)buff, &dwnBytes );
if( lres != ERROR_SUCCESS )
{
::RegCloseKey(hkey);
return FALSE;
}
::RegCloseKey( hkey );
//.....................................
_stprintf( buff, _T("%s %s"), buff, szUrl );
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
return ::CreateProcess( NULL, buff,
NULL, NULL, FALSE, 0,
NULL, NULL, &si, &pi );
}
Сразу к вопросу а почему http а не htmlfile? Дык потому что NN пишет свои настройки иммено туда, но не радуйтесь этот код будет работать только с IE т.к. уважаемый многими NN

имеет свою особенную строку со своим только ему понятным форматом — XXXXXXX.exe -url "%1" вот мля в эту "%1" нужно поставить свой урл, уроды мля, я бы всех юзеров NN ставил к стенке мля, сколько можно мля?
-------------------------------------------------------------------
Вызывает презедент к себе коров и говорит:
— Ну, что будем сдавать, молоко или мясо?
(с) Г. Явлинский TV6 — Герой дня (18.04.2002)
А вот это работает с IE и NN
на здоровие!
BOOL CMainWnd::Navigate2UrlNewWnd(LPCTSTR szUrl)
{
// Ïîëó÷èì áðîóçåð ïî óìîë÷àíèþ
HKEY hkey;
LONG lres = ::RegOpenKeyEx( HKEY_CLASSES_ROOT, _T("http\\shell\\open\\command"),
0, KEY_READ, &hkey );
if( lres != ERROR_SUCCESS )
return FALSE;
DWORD dwType = 0, dwnBytes = MAX_PATH;
_TCHAR buff[MAX_PATH] = {0};
lres = ::RegQueryValueEx( hkey, NULL, 0, &dwType, (LPBYTE)buff, &dwnBytes );
if( lres != ERROR_SUCCESS )
{
::RegCloseKey(hkey);
return FALSE;
}
::RegCloseKey( hkey );
_TCHAR *tstr = _tcsstr( buff, _T("\"%1\""));
if( tstr != NULL )
{
// ¨áàÍÍûé íåòñêåéï!!!!!!!!!!!!!
*(tstr+2) = _T('s');
_TCHAR buff2[MAX_PATH];
_stprintf( buff2, buff, szUrl );
_tcscpy(buff,buff2);
}
else
{
_stprintf( buff, _T("%s %s"), buff, szUrl );
}
//.....................................
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
return ::CreateProcess( NULL, buff,
NULL, NULL, FALSE, 0,
NULL, NULL, &si, &pi );
}
-------------------------------------------------------------------
Вызывает презедент к себе коров и говорит:
— Ну, что будем сдавать, молоко или мясо?
(с) Г. Явлинский TV6 — Герой дня (18.04.2002)