本文转载自我2004年在csdn发布的博客
问
我想在vc中控制ie的搜索栏, 应该怎么做?
2004-09-29 01:07:57
答
IE的搜索栏有默认的搜索页面“http://ie.search.msn.com/{SUB_RFC1766}/srchasst/srchasst.htm”,可以指定为自己的搜索页面。
打开注册表HKEY_LOCAL_MACHINE/Software/Microsoft/Internet Explorer/Search
,找到“SearchAssistant
”键,其默认值为“http://ie.search.msn.com/{SUB_RFC1766}/srchasst/srchasst.htm”,是显示在IE搜索面板中的页面Url,将其修改为自己需要的搜索页面Url,如“http://www.google.com”。
在HKEY_LOCAL_MACHINE/Software/Microsoft/Internet Explorer/Search
下还有一个“CustomizeSearch
”键,其默认值为“http://ie.search.msn.com/{SUB_RFC1766}/srchasst/srchcust.htm”(注意与SearchAssistant
不同),当在IE搜索面板上点击“自定义”按钮时,将在弹出的Html对话框中显示该页面,同样可以修改为我们希望的Url。
如果你希望使用自定义的快捷搜索方式(像3721
等那样只输入一个关键字就自动去到相应的网站),IE还提供了你自定义的机会。当IE无法确认用户在地址栏输入的地址(关键字)所使用的协议(如http://等)时,它就会跟根据HKEY_LOCAL_MACHINE/Software/Microsoft/Internet Explorer/UrlSearchHooks
下的Class ID
创建URL Search Hook
对象并调用其Translate
方法来解析地址栏输入的地址(关键字)。所以我们可以写一个COM对象,实现IUrlSearchHook
接口并在其Translate
方法中按照你自己喜欢的方式或选择你自己喜欢的搜索引擎来搜索。