ShellExecute
От: erael  
Дата: 14.09.06 17:38
Оценка:
Оооооочень странная ситуация...
Компилятор ругается на
    ShellExecute(hWnd, "explore", "http://www.ya.ru", NULL, NULL, SW_SHOWNORMAL);

Говорит что идентификатор ему не известен.
При этом если навесту на сию функцию говорит, что #define... на неё есть...
Не понимаю, что делать... и куда копать...
#include <shellapi.h> сделать не забыл...

среда VS.Net 2005...

P.S. мож есть какой другой способ открыть експлорере с заданной страницей на любой ОС с любой конфигурацией???
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: ShellExecute
От: Аноним  
Дата: 14.09.06 19:51
Оценка:
Здравствуйте, erael, Вы писали:

E>Оооооочень странная ситуация...

Это да. Чего бы ему ругаться?

Единственое что приходит в голову — вы включили <shellapi.h> в stdafx.h, не делали билд, а просто компилируете соотств исходник.

E> P.S. мож есть какой другой способ открыть експлорере с заданной страницей на любой ОС с любой конфигурацией???


Насколько я понимаю, речь идёт о Internet Explorer и URL? Так что ли?
А разве ShellExecute гарантирует вам ИЕ? Запустится default browser, у меня, к примеру, это — Mozilla. Бывает Opera, да и мало-ли что. Отсюда вопрос: вам именно ИЕ или просто браузер?

Проще всего разобратся где вы напортачили с <shellapi.h>. Если же нужен именно ИЕ — то вам в CreateProcess.
Re[2]: ShellExecute
От: erael  
Дата: 15.09.06 05:05
Оценка:
Здравствуйте, Аноним, Вы писали:

E>>Оооооочень странная ситуация...

А>Это да. Чего бы ему ругаться?

А>Единственое что приходит в голову — вы включили <shellapi.h> в stdafx.h, не делали билд, а просто компилируете соотств исходник.


Да нет... <shellapi.h> был включён в головном файлк программы... и перекомпиляция делалась через очистку и сборку заного...

E>> P.S. мож есть какой другой способ открыть експлорере с заданной страницей на любой ОС с любой конфигурацией???


А>Насколько я понимаю, речь идёт о Internet Explorer и URL? Так что ли?

А>А разве ShellExecute гарантирует вам ИЕ? Запустится default browser, у меня, к примеру, это — Mozilla. Бывает Opera, да и мало-ли что. Отсюда вопрос: вам именно ИЕ или просто браузер?

А>Проще всего разобратся где вы напортачили с <shellapi.h>. Если же нужен именно ИЕ — то вам в CreateProcess.


Мне как раз и охото что бы запускалось в том что установленно у пользователя по умолчанию... поэтому с CreateProcess если я правильно понимаю не очень подходит... т.к. не понятно какую команду ему пускать для запуска страницы...
Re: ShellExecute
От: Константин Л.  
Дата: 15.09.06 08:11
Оценка:
Здравствуйте, erael, Вы писали:

двойное двоеточие + iexplore?

E>Оооооочень странная ситуация...

E> Компилятор ругается на
E>
E>->    ::ShellExecute(hWnd, "iexplore", "http://www.ya.ru", NULL, NULL, SW_SHOWNORMAL);
E>

E> Говорит что идентификатор ему не известен.
E> При этом если навесту на сию функцию говорит, что #define... на неё есть...
E> Не понимаю, что делать... и куда копать...
E> #include <shellapi.h> сделать не забыл...

E> среда VS.Net 2005...


E> P.S. мож есть какой другой способ открыть експлорере с заданной страницей на любой ОС с любой конфигурацией???
Re[3]: ShellExecute
От: Аноним  
Дата: 15.09.06 10:18
Оценка:
Здравствуйте, erael, Вы писали:


E> Да нет... <shellapi.h> был включён в головном файлк программы... и перекомпиляция делалась через очистку и сборку заного...

А "головном файлк программы" точно имеет отношение к тому файлу, в котором вы ShellExecute вызываете? Чудес ведь не бывает — если нужный заголовочник включен — компилятор должен знать функцию. Ещё можно предположить что у вас есть директория в которую компилятор смотрит вперёд стандартных и находит там файл shellapi.h а это не есть майкрософтский, а к примеру кто-то его просто так назвал — но такое предположение слишком уж фантастично.

Короче, либо не тот файл, либо не туда включён. А как ругается компилятор?
Re: ShellExecute
От: Аноним  
Дата: 15.09.06 11:10
Оценка:
E>
E>    ShellExecute(hWnd, "explore", "http://www.ya.ru", NULL, NULL, SW_SHOWNORMAL);
E>    ShellExecute(NULL, NULL, "http://www.ya.ru", NULL, NULL, SW_SHOWNORMAL);
E>

?
Re[2]: ShellExecute
От: Аноним  
Дата: 15.09.06 11:24
Оценка:
Здравствуйте, Аноним, Вы писали:

E>>
E>>    ShellExecute(hWnd, "explore", "http://www.ya.ru", NULL, NULL, SW_SHOWNORMAL);
E>>    ShellExecute(NULL, NULL, "http://www.ya.ru", NULL, NULL, SW_SHOWNORMAL);
E>>

А>?

Проверил, вот это работает:

ShellExecute (NULL, NULL, "www.mail.ru", NULL, NULL, SW_SHOWNORMAL);


Только почему-то всегда вылезает Internet Explorer, хотя я ставил по умолчанию Opera.
Re[3]: ShellExecute
От: Сергей  
Дата: 15.09.06 11:56
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Проверил, вот это работает:


А>
А>ShellExecute (NULL, NULL, "www.mail.ru", NULL, NULL, SW_SHOWNORMAL);
А>


А>Только почему-то всегда вылезает Internet Explorer, хотя я ставил по умолчанию Opera.

Может так:
ShellExecute (NULL, NULL, "http://www.mail.ru", NULL, NULL, SW_SHOWNORMAL);
Re[3]: ShellExecute
От: altarvic  
Дата: 15.09.06 11:58
Оценка:
А>Только почему-то всегда вылезает Internet Explorer, хотя я ставил по умолчанию Opera.

попробуй так
ShellExecute (NULL, "open", "www.mail.ru", NULL, NULL, SW_SHOWNORMAL);
Re: ShellExecute
От: Asterix  
Дата: 15.09.06 12:48
Оценка:
компилятор ругается или все-таки линкер?
Re[4]: ShellExecute
От: Аноним  
Дата: 15.09.06 15:25
Оценка:
Здравствуйте, altarvic, Вы писали:

А>>Только почему-то всегда вылезает Internet Explorer, хотя я ставил по умолчанию Opera.


A>попробуй так

A>ShellExecute (NULL, "open", "www.mail.ru", NULL, NULL, SW_SHOWNORMAL);

так пробовал — не помогает
Re[4]: ShellExecute
От: Аноним  
Дата: 15.09.06 15:27
Оценка:
Здравствуйте, Сергей, Вы писали:

С>Здравствуйте, Аноним, Вы писали:


А>>Проверил, вот это работает:


А>>
А>>ShellExecute (NULL, NULL, "www.mail.ru", NULL, NULL, SW_SHOWNORMAL);
А>>


А>>Только почему-то всегда вылезает Internet Explorer, хотя я ставил по умолчанию Opera.

С>Может так:
С>
С>ShellExecute (NULL, NULL, "http://www.mail.ru", NULL, NULL, SW_SHOWNORMAL);
С>


тоже не помогает
хотя у меня система Windows Server 2003
может в XP это и работает...
Re: ShellExecute
От: DrMom  
Дата: 17.09.06 14:07
Оценка:
Здравствуйте, erael, Вы писали:

E>Оооооочень странная ситуация...

E> Компилятор ругается на
E>
E>    ShellExecute(hWnd, "explore", "http://www.ya.ru", NULL, NULL, SW_SHOWNORMAL);
E>


Для начала я бы попробовал заюзать имена ShellExecuteA(W). По результатам стал бы выяснять далее. Скорее всего углубился бы в поиск макросов используемых в данном заголовке с этой ф-цией. Это все конечно если не компилится. А если не линкуется, то все проще должно быть.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.