• <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的注冊表實質上是一個寵大的數(shù)據(jù)庫,它存儲計算機的硬件、軟件及用戶方面的信息。在實際的日常應用和程序寫作中我們經常訪問注冊表,惡意軟件更是會在改注冊表中動手腳。為了讓開發(fā)人員可以方便地訪問注冊表,眾多的編程語言都提供了注冊表操作函數(shù)。許多腳本語言也提供了一些簡單的操作函數(shù),但是可能不會很豐富。這給在編寫腳本帶來了不便,我也曾經遇過這樣的情況。下面這個工具可以彌補一些腳本語言中的不足,該工具主要是提供了枚舉注冊中某個鍵的所有子鍵和枚舉注冊表中某個鍵的所有值,這個工具是一個COM服務器。其中的COM對象也都是自動化的對象,所以可以在腳本中使用。相應的COM對象已實現(xiàn)了枚舉接口,故在使用時可以采用foreach的方式。注意枚舉器的Add函數(shù)并不是往注冊表中寫入數(shù)據(jù)。[DOWNLOAD URL]   http://m.shnenglu.com/Files/Robertxiao/Regtool.rar
                  下面我摘錄其idl文件中內容
             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散談

            久久久久99精品成人片| 少妇精品久久久一区二区三区 | 99久久99久久久精品齐齐| 久久精品午夜一区二区福利| 欧美亚洲国产精品久久蜜芽| 日韩va亚洲va欧美va久久| 热re99久久精品国99热| 91久久精品国产91性色也| 狠狠色狠狠色综合久久| 中文字幕亚洲综合久久| 亚洲AV成人无码久久精品老人| 精品久久777| 日韩av无码久久精品免费| 久久精品无码一区二区日韩AV | 91久久国产视频| 色诱久久久久综合网ywww| 色诱久久av| 久久99久久无码毛片一区二区| 日本欧美久久久久免费播放网 | 久久电影网一区| 亚洲AV无码1区2区久久 | 亚洲国产精品无码久久一线 | 热re99久久精品国产99热| 香蕉久久夜色精品升级完成| 欧美成a人片免费看久久| 久久99热这里只有精品国产 | 亚洲精品乱码久久久久久按摩| 亚洲&#228;v永久无码精品天堂久久 | 精品久久8x国产免费观看| 久久久久久伊人高潮影院| 亚洲欧美一级久久精品| 久久久这里有精品中文字幕| 久久www免费人成看国产片| 久久国产精品成人影院| 久久国产免费观看精品3| 国产成人久久精品激情| 国产精品久久久久久影院 | 久久久久免费看成人影片| 午夜久久久久久禁播电影| 少妇内射兰兰久久| 99久久久精品|