admin管理员组

文章数量:1613932

用默认的浏览器打开指定的网页是一个很常见的功能。ShellExecute是实现这个功能最方便的函数。Windows在注册表的这些位置保存着默认浏览器的信息。

HKEY_CLASSES_ROOT\.htm
HKEY_CLASSES_ROOT\.html
HKEY_CLASSES_ROOT\http\shell\open\command
HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application
HKEY_CLASSES_ROOT\ftp\shell\open\command
HKEY_CLASSES_ROOT\ftp\shell\open\ddeexec\Application
HKEY_CLASSES_ROOT\gopher\shell\open\command
HKEY_CLASSES_ROOT\gopher\shell\open\ddeexec\Application

IE也好,Firefox也好,在设置为默认浏览器后,都会在这些键下面写上相应的值。这样当调用ShellExecute时,Windows就知道应该用哪个浏览器来打开网页了。为了让ShellExecute的行为更加可预测,在url前面把协议写完整,比如这里的http。

帮助 HINSTANCE r = ShellExecute(NULL, L"open", L"http://www.microsoft", NULL, NULL, SW_SHOWNORMAL);

创建一个进程,用的最多的函数莫过于CreateProcess,可是如果CreateProcess触发了UAC的话,创建肯定会失败。使用ShellExecute来创建进程,系统会提示用户要不要运行。


本文标签: 打开网页浏览器ShellExecute