好久沒來寫博客了,有點懶的緣故,呵呵,今天學到一些新知識,過來記錄一下過程。
事情的緣由是:我想用directshow寫filter,但是我不想寫那麼多代碼,搜了一把,果然有個VS下的wizard可用,但是是VS2003的。OK,在VS2010下面能不能用呢?原理上應該是可行的,看到有一外國哥們在VS2005上是成功的,那VS2010應該也很有希望。
從這裏下載wizard的安裝程序下來,然後安裝,安裝的時候請把下面的兩個框框內容按照要求設置好,當然是根據你本機的配置來:
拷貝安裝目錄下的VCWizards和vcprojects至VC的安裝目錄中,然後進入VC安裝目錄,注意,是VC的目錄哦,xxx\Microsoft Visual Studio 10.0\VC。然後對VCWizards和vcprojects兩個目錄開刀。
1.進入vcprojects,找到DSWizard.vsz,用文本編輯器打開,內容改爲
VSWIZARD 7.0
Wizard=VsWizard.VsWizardEngine.10.0 //這裏根據VS的版本來,vs2008爲9.0 VS2005爲8.0
Param="WIZARD_NAME = DSWizard"
Param="RELATIVE_PATH = VCWizards"
Param="FALLBACK_LCID = 1033"
2.返回上級目錄,進入VCWizards目錄,進入DSWizard\Scripts\1033,找到default.js,用文本編輯器打開,修改其中的“vcproj”這個單詞爲“vcxproj”(注意哦,因爲博主用的是VS2010,所以這裏要改爲vcxproj,如果是VS2008,2005則不需要改動).
3.修改js中的SolutionDir爲ProjectDir,修改'.ax'爲'.dll'(修正def文件找不到的BUG以及方便自動註冊)
這樣改動之後就可以看到VS中已經有DSWizard了,如圖所示:
再用來創建下項目編譯一下:
選擇filter類型:
編譯生成什麼的都是OK的,程序會自動註冊。
用GraphEdit可以看到我們的Filter
這只是最基本的讓DSWizard可用,如果想讓它更無縫地融入我們的IDE,還要多下點功夫,時間太晚了,休息去了,有興趣的同學可以研究下vcprojects和VCWizards下的文件,把這個做得更好。
爲了讓DSWizard顯示在項目創建的側邊欄中(按以上步驟操作只能讓DSWizard顯示在“VC++”這個全局項目視圖下),需要在VCProjects目錄中創建DSWizard目錄,並創建DSWizard.vcdir文件,文件內容爲:
..\DSWizard.vsz|{1B027A40-8F43-11D0-8D11-00A0C92BC942}|#1161|1|#1162|{1B027A40-8F43-11D0-8D11-00A0C92BC942}|0|4096|#1154