2010-02-08 4 views
2

Есть ли способ установить общесистемный хост ShellExecute с помощью C++ без необходимости вставлять модуль подключения в каждый активный процесс. Я использую Windows 7. Моя цель это потому, что я хочу, чтобы иметь возможность выбрать, какой браузер открывается ссылка на когда ссылка открыта с браузером по умолчанию с помощью ShellExecute, например:Общесистемные оболочки ShellExecute?

ShellExecute(NULL, "open", "http://stackoverflow.com", NULL, NULL, SW_SHOWNORMAL); 
+1

System широкий _means_ в каждом процессе. ?? –

+0

Да, каждый процесс. –

ответ

2

Последний параметр SetWindowsHookEx принимает идентификатор потока - если это NULL, процедура будет связана со всеми потоками на том же рабочем столе, что и вызывающий поток или конкретный поток в противном случае.

Подробнее: Using Hooks

+0

Это принятый ответ, но я до сих пор не вижу, как 'SetWindowsHookEx' может подключить' ShellExecute'. Ближайшей вещью к этому, вероятно, является «WH_SHELL», и это тоже не должно указывать, был ли вызван «ShellExecute». – SMUsamaShah

Смежные вопросы