系统范围的ShellExecute挂钩?

时间:2010-02-08 23:45:34

标签: c++ shellexecute hook

有什么办法可以使用C ++安装系统范围的ShellExecute挂钩,而无需在每个活动进程中注入挂钩模块。我使用的是Windows 7。 我的目的是因为,我希望能够在使用ShellExecute使用默认浏览器打开链接时选择打开链接的浏览器,如下所示:

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

1 个答案:

答案 0 :(得分:2)

SetWindowsHookEx的最后一个参数接受一个线程id - 如果这是NULL,则该过程将与调用线程在同一桌面中的所有线程相关联,否则与特定线程相关联。

了解详情:Using Hooks