ATL中的RGS檔案介紹

2021-07-03 14:40:17 字數 566 閱讀 1131

vc的atl嚮導會生成com物件註冊用的rgs檔案。如果程式中有想寫到登錄檔中的地方,可以手工編輯這個指令碼,可以省去呼叫一堆操作登錄檔的api。

關於rgs的詳細規則,msdn上面有,搜尋atl registrar這個主題即可以看到,下面只是一點簡單的介紹:

hkcr    //表示下面的登錄檔項都寫到hkcr下面   ' } secedit.editctrl = s 'editctrl class' '    curver = s 'secedit.editctrl.1' } noremove clsid   //表示在解除安裝時,不要把clsid這個項給刪除掉了

= s 'editctrl class'         forceremove 'control'     forceremove 'insertable'     forceremove 'toolboxbitmap32' = s '%module%, 101'     'miscstatus' = s '0'          'typelib' = s ''     'version' = s '1.0'    } } }

除了s表示字串值外,還可以用d表示dword型別的值。

關於ATL的rgs註冊檔案

使用atl嚮導的話,會在resource中產生乙個rgs的註冊指令碼檔案放在 registry 目錄中用來註冊元件,會在程式中通過函式declare registry resourceid idr opcserver 使用,idr opcserver就是嚮導產生的資源檔案的id,當伺服器呼叫ccom...

ATL中的集合和列舉

cool 2004 11 22 11 55 00 類別 vc mfc 中集合和列舉器的關係非常類似於stl中的容器和迭代器的關係。列舉器 如果乙個 物件可以被稱為乙個 集合 那麼很顯然,該物件內部肯定是一些型別相同的資料的集合,當我們要將內部這些資料 暴露 給客戶端使用時,如果直接照搬stl的模式,...

ATL中關於執行緒安全的優化

一直覺得自己的寫的乙個對臨近區呼叫的乙個封裝類很無敵,簡簡單單就搞定了乙個物件內部的執行緒同步,如果 有全域性變數的話,搞定多個物件的執行緒同步也不是很難,現在看了下atl的原始碼,原來和人家畢竟低等的 封裝一模一樣,慚愧啊。先看看人家對section的封裝吧,class ccomcriticals...