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

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

搜索

  •  

積分與排名

  • 積分 - 328999
  • 排名 - 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>
            久久se精品一区精品二区| 一区二区日韩免费看| 亚洲精品一区二区三区福利| 国产偷国产偷精品高清尤物| 国产视频自拍一区| 国产一区二区三区在线免费观看 | 中日韩美女免费视频网址在线观看| 亚洲国产一区二区三区青草影视 | 久久黄色级2电影| 久久久视频精品| 欧美激情在线观看| 国产欧美日韩视频| 亚洲精品欧美在线| 欧美一区二区在线观看| 欧美成人自拍视频| 国产精品99久久久久久久vr | 在线视频中文亚洲| 性欧美大战久久久久久久免费观看| 久久久免费精品视频| 欧美日韩精品综合| 曰韩精品一区二区| 亚洲夜间福利| 欧美成人亚洲| 欧美亚洲一区三区| 亚洲六月丁香色婷婷综合久久| 亚洲特级片在线| 久久精品国产成人| 欧美福利专区| 国产欧美一区二区精品性 | 亚洲综合电影一区二区三区| 久久久噜噜噜久久人人看| 亚洲美女视频在线观看| 久久精品天堂| 国产精品一二| 亚洲精品在线观看免费| 久久黄色级2电影| 日韩香蕉视频| 欧美激情综合五月色丁香| 国内精品嫩模av私拍在线观看| 一本久道综合久久精品| 蜜桃视频一区| 久久精品30| 国产日本欧美在线观看| 亚洲一区久久| 99这里只有久久精品视频| 欧美大尺度在线观看| 亚洲国产女人aaa毛片在线| 久久精品国产欧美激情| 亚洲自啪免费| 国产美女精品视频免费观看| 亚洲综合电影| 亚洲午夜精品一区二区三区他趣 | 亚洲第一福利视频| 久久久久久久久久久一区 | 欧美日韩国产综合网 | 亚洲在线观看免费视频| 亚洲欧洲日本专区| 美日韩精品视频免费看| 亚洲国产一区二区三区在线播| 欧美专区日韩专区| 亚洲午夜精品福利| 欧美色图五月天| 亚洲伦理在线免费看| 亚洲成色www8888| 久久免费视频这里只有精品| 国产精品一区一区三区| 久久精品系列| 久久婷婷蜜乳一本欲蜜臀| 亚洲国产经典视频| 亚洲国产精品毛片| 欧美日韩一区在线观看视频| 中文欧美在线视频| 亚洲午夜精品| 红桃视频一区| 欧美激情在线观看| 欧美日韩亚洲一区二区三区| 亚洲女同同性videoxma| 免费观看成人网| 欧美一区二区三区啪啪| 国产精品美女诱惑| 久久久91精品| 猛干欧美女孩| 亚洲综合日本| 久久黄色级2电影| 亚洲精品你懂的| 亚洲视频导航| 影音先锋一区| 亚洲精品一区在线| 国产一区二区三区的电影| 欧美国产视频在线| 欧美午夜视频在线观看| 久热精品视频在线| 欧美午夜精品久久久久久超碰| 久久成人亚洲| 欧美日韩不卡| 久久综合中文| 国产精品久久影院| 欧美黄免费看| 国产精品主播| 亚洲青涩在线| 樱花yy私人影院亚洲| 亚洲少妇在线| 日韩视频专区| 久久精品国产999大香线蕉| 亚洲美女电影在线| 欧美在线免费看| 夜夜夜久久久| 另类av一区二区| 久久国产一区| 欧美三级特黄| 亚洲精品国产拍免费91在线| 国产在线视频不卡二| a91a精品视频在线观看| 在线日韩av片| 久久成人人人人精品欧| 亚洲永久免费精品| 欧美精品在线一区二区| 欧美成人精品在线视频| 国产亚洲精品激情久久| 亚洲一区二区精品在线| 99这里有精品| 毛片一区二区| 老司机精品福利视频| 国产日韩欧美精品一区| 在线亚洲精品| 亚洲一区二区成人| 欧美日韩精品免费看| 亚洲国产毛片完整版 | 国产欧美精品| 在线中文字幕一区| 一区二区不卡在线视频 午夜欧美不卡'| 久久成年人视频| 久久久伊人欧美| 国产伊人精品| 久久精品综合一区| 欧美成人午夜视频| 亚洲精品美女在线观看| 欧美大学生性色视频| 亚洲国产另类精品专区| 99精品国产高清一区二区| 欧美区国产区| 亚洲一区在线免费| 国产综合久久久久久| 国产九九精品| 亚洲欧美一级二级三级| 午夜精品久久久久久| 国产精品人人做人人爽人人添 | 欧美一级片在线播放| 久久精品99| 在线成人欧美| 欧美成人情趣视频| 亚洲毛片一区二区| 亚洲欧美视频在线观看视频| 国产精品网站视频| 久久久91精品国产一区二区三区 | 久久精品国产99国产精品澳门| 国产日韩精品久久| 欧美夜福利tv在线| 美女成人午夜| 亚洲美女色禁图| 欧美区一区二区三区| 国产精品99久久不卡二区 | 一区二区三区免费网站| 国产精品黄色在线观看| 午夜视频一区在线观看| 麻豆精品视频在线| 亚洲人体1000| 国产精品乱码久久久久久| 午夜视频在线观看一区二区| 久久只有精品| 制服诱惑一区二区| 国内精品久久久久影院薰衣草| 欧美成人有码| 亚洲欧美日韩国产成人| 欧美国产激情| 欧美一区二区三区的| 91久久精品网| 国内精品嫩模av私拍在线观看| 欧美精品一区二| 久久精品国产免费看久久精品| 亚洲精品一区二区三区婷婷月| 久久精品国产亚洲高清剧情介绍| 亚洲人成艺术| 国内精品一区二区三区| 欧美视频一区二区三区在线观看 | 国产精品久久久久久久久久ktv| 久久精品综合一区| 亚洲视屏一区| 亚洲国产精品久久91精品| 久久精品国产91精品亚洲| 亚洲午夜性刺激影院| 亚洲国产精品传媒在线观看 | 欧美在线免费看| 亚洲视频碰碰| 日韩视频第一页| 亚洲国产成人tv| 噜噜噜在线观看免费视频日韩| 欧美一级大片在线免费观看| 日韩一级黄色av| 日韩午夜在线|