• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 64, 文章 - 11, 評論 - 12, 引用 - 0
            數(shù)據(jù)加載中……

            一個在腳本中枚舉注冊表鍵和值的工具

                       Windows的注冊表實質(zhì)上是一個寵大的數(shù)據(jù)庫,它存儲計算機的硬件、軟件及用戶方面的信息。在實際的日常應(yīng)用和程序?qū)懽髦形覀兘?jīng)常訪問注冊表,惡意軟件更是會在改注冊表中動手腳。為了讓開發(fā)人員可以方便地訪問注冊表,眾多的編程語言都提供了注冊表操作函數(shù)。許多腳本語言也提供了一些簡單的操作函數(shù),但是可能不會很豐富。這給在編寫腳本帶來了不便,我也曾經(jīng)遇過這樣的情況。下面這個工具可以彌補一些腳本語言中的不足,該工具主要是提供了枚舉注冊中某個鍵的所有子鍵和枚舉注冊表中某個鍵的所有值,這個工具是一個COM服務(wù)器。其中的COM對象也都是自動化的對象,所以可以在腳本中使用。相應(yīng)的COM對象已實現(xiàn)了枚舉接口,故在使用時可以采用foreach的方式。注意枚舉器的Add函數(shù)并不是往注冊表中寫入數(shù)據(jù)。[DOWNLOAD URL]   http://www.shnenglu.com/Files/Robertxiao/Regtool.rar
                  下面我摘錄其idl文件中內(nèi)容
             1[
             2    object,
             3    uuid(FF2D77E4-6814-4BCC-B3C2-8500A300264F),
             4    dual,
             5    nonextensible,
             6    helpstring("ITob 接口"),
             7    pointer_default(unique)
             8]
             9interface ITob : IDispatch{
            10    [id(1), helpstring("方法RegEnum")] HRESULT RegEnum([in] BSTR bstrKeyFullPath, [out,retval] IUnknown** ppUnknown);
            11    [id(2), helpstring("method ListChildNames")] HRESULT ListChildNames([in] BSTR bstrKeyFullPath, [out,retval] IUnknown** ppUnknown);
            12}
            ;
            13[
            14    object,
            15    uuid(E8F0A927-DC24-402D-9437-58136E61CF5F),
            16    dual,
            17    nonextensible,
            18    helpstring("IChildKeys 接口"),
            19    pointer_default(unique)
            20]
            21interface IChildKeys : IDispatch{
            22    [id(1), helpstring("方法Add")] HRESULT Add([in] BSTR bstrKeyName);
            23    [propget, id(2), helpstring("屬性 Count")] HRESULT Count([out, retval] LONG* pnCount);
            24    [propget, id(DISPID_VALUE), helpstring("屬性 Item")] HRESULT Item([in] LONG nIndex, [out, retval] BSTR* pbstrKeyName);
            25    [propget, id(DISPID_NEWENUM), helpstring("屬性 _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown** ppEnum);
            26}
            ;
            27[
            28    object,
            29    uuid(C10ADC20-7BF3-482B-BB62-0273B5E64688),
            30    dual,
            31    nonextensible,
            32    helpstring("IKeyValues Interface"),
            33    pointer_default(unique)
            34]
            35interface IKeyValues : IDispatch{
            36    [id(1), helpstring("method Add")] HRESULT Add([in] BSTR bstrName);
            37    [propget, id(2), helpstring("property Count")] HRESULT Count([out, retval] LONG* pVal);
            38    [propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item(LONG nIndex, [out, retval] BSTR* pVal);
            39    [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IUnknown** pVal);
            40}
            ;
            41[
            42    uuid(2990E9A8-5AFF-474A-AD45-90A705866FAF),
            43    version(1.0),
            44    helpstring("RegTool 1.0 類型庫")
            45]
            46library RegToolLib
            47{
            48    importlib("stdole2.tlb");
            49    [
            50        uuid(5E2513E7-DCF9-41DC-9F2C-6D29AA079B9D),
            51        helpstring("Tob Class")
            52    ]
            53    coclass Tob
            54    {
            55        [defaultinterface ITob;
            56    }
            ;
            57    [
            58        uuid(D6A9C4D0-A356-4282-89D9-C9263104A006),
            59        helpstring("ChildKeys Class")
            60    ]
            61    coclass ChildKeys
            62    {
            63        [defaultinterface IChildKeys;
            64    }
            ;
            65    [
            66        uuid(25BB24E4-46A9-46B1-BD85-BFC7FBE7ECF2),
            67        helpstring("KeyValues Class")
            68    ]
            69    coclass KeyValues
            70    {
            71        [defaultinterface IKeyValues;
            72    }
            ;
            73}
            ;
            74

            posted on 2009-08-03 16:08 Robertxiao 閱讀(472) 評論(0)  編輯 收藏 引用 所屬分類: RPC/COM/ATL散談

            久久亚洲中文字幕精品一区| 精品久久久久久久久久中文字幕| 亚洲精品无码久久毛片| 久久亚洲中文字幕精品一区| 亚洲AV无码成人网站久久精品大| 国产精品美女久久久久网| 狠狠精品久久久无码中文字幕| 欧美伊人久久大香线蕉综合| 久久这里只精品国产99热| 亚洲人成电影网站久久| 国产精品久久久久久久久鸭 | 亚洲欧美成人久久综合中文网| 久久人妻少妇嫩草AV蜜桃| 久久亚洲国产午夜精品理论片| 亚洲综合伊人久久大杳蕉| 久久久久久久99精品免费观看| 久久无码AV中文出轨人妻| 一本大道加勒比久久综合| 久久亚洲中文字幕精品有坂深雪| 国产伊人久久| 99国产欧美久久久精品蜜芽| 亚洲中文久久精品无码ww16 | 久久久久久无码国产精品中文字幕| 伊人色综合久久天天人守人婷| 一本大道加勒比久久综合| 久久99国产综合精品免费| 无码超乳爆乳中文字幕久久 | 久久99精品久久久久久水蜜桃| 欧洲成人午夜精品无码区久久| 亚洲午夜无码AV毛片久久| 久久国产福利免费| 国产69精品久久久久9999| 好属妞这里只有精品久久| 国产精品一区二区久久国产| 少妇高潮惨叫久久久久久| 午夜天堂精品久久久久| 亚洲av成人无码久久精品 | 国内精品伊人久久久久777| 伊人色综合久久天天网| 2019久久久高清456| 久久久久亚洲av综合波多野结衣|