程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 直接浏覽微軟知識庫文章的工具

直接浏覽微軟知識庫文章的工具

編輯:關於VC++

介紹

如果你曾查過微軟的知識庫文章的話,一定有這樣的不爽經歷:先用浏覽器訪問msdn.microsoft.com,在那個小小的搜索編輯框中輸入文章號碼,然後等待查詢結果返回,最後還要點擊搜索結果中至少一篇文章的鏈接。這樣做耽誤相當多的時間。現在使用本文提供的工具後,一切都變得簡單了。

這個工具叫做KBLaunch,它是個對“運行”命令對話框的外殼擴展,只要在“運行”菜單的編輯框中輸入:“?+微軟知識庫文章號”,見下圖:

當你按下“確定”按鈕,KBLaunch便會啟動默認的浏覽器並顯示你輸入的微軟知識庫文章。

KBLaunch的實現方法

KBLaunch將自己注冊為外殼執行鉤子。外殼執行鉤子在兩種情況下被調用:

1、 當使用ShellExecute() 或 ShellExecuteEx()來運行一個程序時。包括在資源管理器中雙擊一個文件。

2、 當用戶在“運行”對話框中輸入內容時。

有趣的是用戶在“運行”對話框中怎麼可以輸入非可運行程序名呢?。IE在這方面是個很好的例子——如果輸入一個URL(以http,ftp,www,或其它通用前綴),IE提供的外殼擴展鉤子解釋前綴並啟動默認浏覽器。

而KBLaunch找到前綴“?q”並檢查命令行的其余部分是否為正數,KBLaunch構造微軟知識庫文章的URL並用ShellExecute()運行默認的浏覽器,將構造好的URL傳遞給它。注意這是使用IE特有的外殼擴展鉤子啟動浏覽器,所以要安裝IE3或更高版本。

外殼執行鉤擴展其實沒什麼復雜的——只要實現一個接口,並且這個接口只有一個方法。這個方法就是IShellExecuteHook::Execute(),它接受一個SHELLEXECUTEINFO結構指針,這個結構包含一組運行程序的信息。Execute()句柄解析命令行並運行浏覽器。具體代碼在例子工程的KBLaunchShlExt.cpp文件中。請參考。

本文配套源碼

  1. 上一頁:
  2. 下一頁:
欄目導航
Copyright © 程式師世界 All Rights Reserved