青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 126,  comments - 73,  trackbacks - 0
讀寫注冊表
2003-11-3加入??來自未知??作者佚名??7條評論??點擊22078
???????Win?95及NT的注冊數據庫(Registry)是系統中非常重要的組成部分。在Win32?API中有一組Reg函數來處理這些問題。其一般的讀寫過程如下:
?
????1、使用RegOpenKeyEx或RegCreateKeyEx函數打開或創建一個鍵;?
????2、如果上一步成功,使用RegQueryValueEx讀取子鍵的值,使用RegSetValueEx設置子鍵值,使用RegEnumKey獲得所有子鍵,使用RegDeleteKey刪除一個鍵;?
????3、完成操作后使用RegCloseKey關閉鍵。?
????下面這段程序打開HKEY_CURRENT_USER\Software\Zeal?SoftStudio\AskPro?FTP\LastTime鍵,然后讀取WOL子鍵的值。?

????HKEY?hkey;?
????char?sz[256];?
????DWORD?dwtype,?sl?=?256;?
?????
????RegOpenKeyEx(HKEY_CURRENT_USER,?
????"Software\\Zeal?SoftStudio\\AskPro?FTP\\LastTime",?
????NULL,?KEY_ALL_ACCESS,?&hkey);?
????RegQueryValueEx(hkey,?"WOL",?NULL,?&dwtype,?(LPBYTE)sz,?&sl);?
????RegCloseKey(hkey);?
????MFC程序可以使用CRegKey類讀寫注冊表。VB中調用API的辦法可以參考QA000226?"如何訪問Windows系統注冊表"。

????打開注冊鍵
????LONG?RegOpenKeyEx(?HKEY?hKey,??//?handle?to?open?key?

????LPCTSTR?lpSubKey,??????????????//?address?of?name?of?subkey?to?open?
????DWORD?ulOptions,???????????????//?reserved?=0
????REGSAM?samDesired,?????????????//?security?access?mask?
????PHKEY?phkResult????????????????//?address?of?handle?to?open?key?
????);

????例:
????HKEY?hd;
????hd=HKEY_LOCAL_MACHINE;
????char*?Regkeyname="SoftWare\\Xy123\\Poker\\";
????LONG?a=RegOpenKeyEx(hd,Regkeyname,0,KEY_READ,&hd);???//成功返回ERROR_SUCCESS,否則返回錯誤代碼
?

????關閉注冊鍵
????LONG?RegCloseKey(?HKEY?hKey?//?handle?to?key?to?close?);
例:
?????RegCloseKey(HKEY_LOCAL_MACHINE);
OR:??RegCloseKey(hd);?
建立注冊鍵
LONG?RegCreateKeyEx(?HKEY?hKey,?//?handle?to?an?open?key?
??????LPCTSTR?lpSubKey,?//?address?of?subkey?name?
??????DWORD?Reserved,?//?reserved?=0
??????LPTSTR?lpClass,?//?address?of?class?string?
??????DWORD?dwOptions,?//?special?options?flag?
??????REGSAM?samDesired,?//?desired?security?access?

??????LPSECURITY_ATTRIBUTES?lpSecurityAttributes,?//?address?of?key?security?????????structure?
??????PHKEY?phkResult,?//?address?of?buffer?for?opened?handle?
??????LPDWORD?lpdwDisposition?//?address?of?disposition?value?buffer?);
例:
???char?*sclass="";??//類名指定為空
???DWORD?nbf=0;????//接受返回值,指明是建立新鍵還是打開已有的鍵.(經試驗總是返回REG_OPENED_EXISTING_KEY.
???LONG?II=RegCreateKeyEx(hd,Regkeyname,0,sclass,REG_OPTION_NON_VOLATILE,
????????????????KEY_READ|KEY_WRITE,NULL,&hd,&nbf);

//REG_OPTION_NON_VOLATILE?指明鍵永久保留.安全結構指明NULL,自動獲得一默認值
//成功返回ERROR_SUCCESS,否則返回錯誤代碼?
枚舉鍵值
LONG?RegEnumValue(?HKEY?hKey,?//?handle?to?key?to?query?
??????DWORD?dwIndex,?//?index?of?value?to?query?
??????LPTSTR?lpValueName,?//?address?of?buffer?for?value?string?
??????LPDWORD?lpcbValueName,?//?address?for?size?of?value?buffer?
??????LPDWORD?lpReserved,?//?reserved?=NULL
??????LPDWORD?lpType,?//?address?of?buffer?for?type?code?

??????LPBYTE?lpData,?//?address?of?buffer?for?value?data?
??????LPDWORD?lpcbData?//?address?for?size?of?data?buffer);
例:
???DWORD?dinx=0;
???char?valuename[70];??//分配數值名稱緩沖區
???strcpy(valuename,"DeskPattern");??//隨便指定哪個鍵值名
???DWORD?nsize=69;??//數值名稱緩沖區大小
???DWORD?k=REG_SZ;??//指明數據類型
???unsigned?char?vari[70];?//分配數值緩沖區
???DWORD?ncbvari=69;?//數值緩沖區大小
???dinx=0;?//從0開始

???while((II=RegEnumValue(hd,dinx,valuename,&nsize,NULL,&k,vari,&ncbvari))?
??????????!=?ERROR_NO_MORE_ITEMS)
???{
???????dinx++;//索引?+1,準備取下一個值
???????nsize=69;?//恢復原來大小
???????ncbvari=69;
???}
成功后返回值0,各變量返回后設置如下:
valuename=數值名稱,以0結尾;如?:?DeskColor
nsize=數值名稱長度,?9
k=REG_SZ??DeskColor?的類型為?REG_SZ
vari=鍵值,32768?DeskColor="32768",
ncbvari=鍵值長度?REG_SZ包括結尾0,=6,?
讀取鍵值
LONG?RegQueryValueEx(?HKEY?hKey,?//?handle?to?key?to?query?

???????LPTSTR?lpValueName,?//?address?of?name?of?value?to?query?
???????LPDWORD?lpReserved,?//?reserved?
???????LPDWORD?lpType,?//?address?of?buffer?for?value?type?
???????LPBYTE?lpData,?//?address?of?data?buffer?
???????LPDWORD?lpcbData?//?address?of?data?buffer?size?);
例:
???RegQueryValueEx(hd,valuename,NULL,&k,vari,&ncbvari);
變量定義及成功后各變量設置值同RegEnumValueEx?
寫鍵值
LONG?RegSetValueEx(?HKEY?hKey,?//?handle?to?key?to?set?value?for?
???????LPCTSTR?lpValueName,?//?name?of?the?value?to?set?

???????DWORD?Reserved,?//?reserved?
???????DWORD?dwType,?//?flag?for?value?type?
???????CONST?BYTE?*lpData,?//?address?of?value?data?
???????DWORD?cbData?//?size?of?value?data?);
例:
???strcpy(valuename,"Hello");
???unsigned?char?vari[10];
???DWORD?k=REG_SZ;
???strcpy((char*)vari,"1234567")
???RegSetValueEx(hd,valuename,0,k,vari,7);
成功后在Poker下增加一個鍵值?Hello?:?REG_SZ?:?1234567
寫整型變量:
int?hi=8;
RegSetValueEx(pj,valuename,0,REG_BINARY,(unsigned?char*)&hi,sizeof(int));

成功后在Poker下增加一個鍵值?Hello2?:?REG_BINARY?:08?00?00?00



void?AddEventSource()
{
????HKEY?hk;?
????DWORD?dwData;?
????UCHAR?szBuf[80];?

????//?Add?your?source?name?as?a?subkey?under?the?Application?
????//?key?in?the?EventLog?registry?key.?

????if?(RegCreateKey(HKEY_LOCAL_MACHINE,?
????????????"SYSTEM\\CurrentControlSet\\Services\?
????????????\\EventLog\\Application\\SamplApp",?&hk))?
????????ErrorExit("Could?not?create?the?registry?key.");?

????//?Set?the?name?of?the?message?file.?

????strcpy(szBuf,?"%SystemRoot%\\System\\SamplApp.dll");?

????//?Add?the?name?to?the?EventMessageFile?subkey.?

????if?(RegSetValueEx(hk,?????????????//?subkey?handle?
????????????"EventMessageFile",???????//?value?name?
????????????0,????????????????????????//?must?be?zero?
????????????REG_EXPAND_SZ,????????????//?value?type?
????????????(LPBYTE)?szBuf,???????????//?pointer?to?value?data?
????????????strlen(szBuf)?+?1))???????//?length?of?value?data?

????????ErrorExit("Could?not?set?the?event?message?file.");?

????//?Set?the?supported?event?types?in?the?TypesSupported?subkey.?

????dwData?=?EVENTLOG_ERROR_TYPE?|?EVENTLOG_WARNING_TYPE?|?
????????EVENTLOG_INFORMATION_TYPE;?

????if?(RegSetValueEx(hk,??????//?subkey?handle?
????????????"TypesSupported",??//?value?name?
????????????0,?????????????????//?must?be?zero?
????????????REG_DWORD,?????????//?value?type?
????????????(LPBYTE)?&dwData,??//?pointer?to?value?data?

????????????sizeof(DWORD)))????//?length?of?value?data?
????????ErrorExit("Could?not?set?the?supported?types.");?

????RegCloseKey(hk);?
}?



以下代碼把注冊表自啟動shell的鍵值改寫為C:\DK1\ATM\HARP\ExAtmShell.exe:

?????????HKEY?hkey;
LONG?res;?
DWORD?datatype=REG_SZ;?
unsigned?char?szvalue[_MAX_PATH];
strcpy((char*)szvalue,"C:\\DK1\\ATM\\HARP\\ExAtmShell.exe");

res?=::RegOpenKeyEx(HKEY_LOCAL_MACHINE,?
"SOFTWARE\\Microsoft\\Windows?NT\\CurrentVersion\\Winlogon\\",?0,?
KEY_WRITE|KEY_READ,?&hkey);?

if(res!=ERROR_SUCCESS)
{
AfxMessageBox("aaa");
return;
}
res?=?::RegSetValueEx(hkey,?"Shell",?0,?datatype,?szvalue,?strlen(LPCSTR(szvalue)));?

RegCloseKey(hkey);
if(res==ERROR_SUCCESS)
::AfxMessageBox("你已經成功地將注冊表自啟動shell的鍵值設置為C:\\DK1\\ATM\\HARP\\ExAtmShell.exe");
else
::AfxMessageBox("設定失敗:目標位置不存在這樣的鍵!");


from:http://www.czvc.com/view.asp?id=15
posted on 2007-01-25 22:21 我風 閱讀(1102) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(12)

隨筆分類

隨筆檔案

文章檔案

相冊

收藏夾

C++

MyFavorite

搜索

  •  

積分與排名

  • 積分 - 329000
  • 排名 - 75

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美三级电影一区| 欧美电影在线观看| 欧美亚洲尤物久久| 亚洲午夜av电影| 久久久久99精品国产片| 一区二区欧美激情| 欧美片在线观看| 欧美激情综合网| 国产欧美一区二区视频| 亚洲精品久久久蜜桃| 日韩视频一区| 一区二区三区日韩精品视频| 久久亚洲精品网站| 欧美一区二区日韩| 极品日韩久久| 亚洲国产精品一区在线观看不卡 | 久久亚洲一区二区三区四区| 99成人在线| 国产欧美日韩一区二区三区在线 | 欧美亚洲三区| 亚洲九九九在线观看| 午夜老司机精品| 午夜精品视频| 老司机aⅴ在线精品导航| 久久国产精品久久精品国产| 欧美精品成人| 亚洲激情校园春色| 亚洲国产成人在线| 久久久7777| 久久久另类综合| 国产欧美欧洲在线观看| 亚洲精品影视| 久久午夜电影| 美脚丝袜一区二区三区在线观看| 国产精品美女久久久久久免费| 亚洲精品久久嫩草网站秘色| 国产女人水真多18毛片18精品视频| 亚洲高清av在线| 亚洲人成亚洲人成在线观看| 久久久久9999亚洲精品| 久久国产精品久久国产精品| 国产午夜精品一区二区三区欧美| 亚洲一区二区影院| 篠田优中文在线播放第一区| 国产精品日日摸夜夜摸av| 亚洲一区二区在线免费观看| 亚洲一区二三| 国产私拍一区| 欧美另类极品videosbest最新版本 | 亚洲精品免费一二三区| 欧美国产精品| 亚洲一区二区三| 欧美99久久| 亚洲一区二区三区四区视频| 欧美日韩p片| 欧美一区亚洲二区| 亚洲国产精品久久久久婷婷老年| 在线亚洲电影| 亚洲国产精品电影在线观看| 久久精品人人爽| 一本一本久久a久久精品综合妖精| 国产精品乱人伦一区二区| 久久久999精品视频| 亚洲精品日韩欧美| 久久伊人亚洲| 久久国产精品一区二区| 亚洲视频导航| 91久久国产综合久久| 亚洲性感美女99在线| 久久伊人免费视频| 欧美一区亚洲一区| 亚洲免费电影在线| 日韩午夜精品| 亚洲精品一区二区三区不| 在线观看一区二区精品视频| 国产日韩欧美夫妻视频在线观看| 欧美日本乱大交xxxxx| 欧美日韩一级大片网址| 欧美激情视频一区二区三区不卡| 久久国产精品亚洲77777| 欧美在线中文字幕| 欧美资源在线观看| 久久亚洲精品一区二区| 久热成人在线视频| 欧美成在线观看| 国产精品久久久久久妇女6080| 欧美小视频在线| 欧美国产日韩视频| 国产精品激情av在线播放| 国产精品成人播放| 国产日韩欧美一区| 亚洲精品国产精品乱码不99按摩 | 黄色一区二区三区四区| 激情五月综合色婷婷一区二区| 在线观看91精品国产入口| 日韩视频永久免费观看| 欧美一级在线亚洲天堂| 久久人人九九| aa成人免费视频| 亚洲电影在线观看| 一区二区免费看| 久久久99久久精品女同性| 欧美人与禽猛交乱配视频| 国产日韩精品一区| 在线一区视频| 亚洲风情亚aⅴ在线发布| 亚洲欧美另类综合偷拍| 欧美精品在线观看| 老牛影视一区二区三区| 久久久91精品国产一区二区精品| 欧美日韩国语| 性8sex亚洲区入口| 久久亚洲图片| 亚洲高清在线观看| 一区二区激情视频| 亚洲成人资源网| 亚洲欧美在线免费观看| 亚洲精品一二区| 免费欧美在线| 久久三级福利| 欧美大片一区二区三区| 久久久福利视频| 国产精品毛片大码女人| 亚洲第一福利在线观看| 国产日韩欧美中文| 亚洲伊人久久综合| 国内外成人免费激情在线视频网站 | 国产日产亚洲精品系列| 91久久精品视频| 在线观看视频免费一区二区三区 | 亚洲一区二区精品| 久久综合激情| 欧美韩日一区二区三区| 国产亚洲欧美在线| 欧美淫片网站| 久久综合久色欧美综合狠狠| 国产在线日韩| 久久久久一区二区| 亚洲电影免费在线| 正在播放欧美视频| 欧美日韩精品免费| 中国成人黄色视屏| 久久国产福利| 亚洲美女黄网| 国产亚洲成av人片在线观看桃| 久久久99精品免费观看不卡| 欧美日韩视频在线观看一区二区三区 | 麻豆9191精品国产| 一区二区三区欧美在线| 国产在线日韩| 欧美日韩成人综合| 国产精品99久久久久久有的能看| 国产女人18毛片水18精品| 欧美成人午夜激情| 香蕉久久精品日日躁夜夜躁| 亚洲国产三级在线| 久久久国产精品一区| 9人人澡人人爽人人精品| 国产欧美日韩另类视频免费观看| 久久综合中文字幕| 一二三四社区欧美黄| 欧美日韩国产a| 久久久亚洲综合| 亚洲激情不卡| 欧美激情黄色片| 久久久亚洲成人| 亚洲永久在线观看| 亚洲激情网站| 国产在线精品自拍| 国产日韩在线看片| 国产精品网站在线观看| 欧美国产精品一区| 久久aⅴ国产紧身牛仔裤| 日韩视频一区二区三区在线播放| 快she精品国产999| 久久国产乱子精品免费女| 亚洲一区欧美一区| 一本一本久久a久久精品牛牛影视| 亚洲日本欧美| 亚洲国产精品成人精品| 在线观看亚洲精品视频| 国际精品欧美精品| 国产日韩视频| 国产日韩欧美成人| 欧美日韩视频在线观看一区二区三区| 久久精品国产久精国产爱| 国产一区视频在线看| 欧美亚洲系列| 欧美va天堂| 狠狠色丁香久久综合频道 | 欧美色图五月天| 国产精品国产a级| 国产精品网站在线观看| 性色av一区二区三区在线观看| 久久精品免视看| 一区二区欧美日韩| 久久激情视频| 欧美日韩午夜| 一区在线视频| 中文精品一区二区三区|