亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 2579 | 回復(fù): 0
打印 上一主題 下一主題

系統(tǒng)安全基礎(chǔ)之常用Win32 API函數(shù)簡(jiǎn)介 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-07-30 15:18 |只看該作者 |倒序?yàn)g覽
現(xiàn)在很多講Windows程序設(shè)計(jì)的書(shū)都是講基于MFC庫(kù)和OWL庫(kù)的Windows設(shè)計(jì),對(duì)Windows實(shí)現(xiàn)的細(xì)節(jié)都鮮有討論,而調(diào)試程序都是和系統(tǒng)底層打交道,所以有必要掌握一些Win32 API函數(shù)的知識(shí),這樣我們可快捷地找出程序調(diào)用錯(cuò)在哪?是哪個(gè)參數(shù)出了問(wèn)題。

  Windows程序模塊包括KERNEL、USER和GDI,其中KERNEL完成內(nèi)存管理、程序的裝人與執(zhí)行和任務(wù)調(diào)度等功能,它需要調(diào)用原MS―DOS中的文件管理、磁盤(pán)輸入輸出和程序執(zhí)行等功能;USER是一個(gè)程序庫(kù),它用來(lái)對(duì)聲音、時(shí)鐘、鼠標(biāo)器及鍵盤(pán)輸入等操作進(jìn)行管理;GDI是一功能十分豐富的子程序庫(kù),它提供了圖形與文字輸出、圖象操作和窗口管理等各種與顯示和打印有關(guān)的功能。上述KERNEL、USER和GDI模塊中的庫(kù)函數(shù)可被應(yīng)用程序調(diào)用,也可被其他程序模塊調(diào)用。把包含庫(kù)函數(shù)的模塊稱為輸出者(export)。你應(yīng)明白為什么跟蹤軟件時(shí)經(jīng)常在KERNEL32!。text和USER32.text等系統(tǒng)領(lǐng)空轉(zhuǎn)的問(wèn)題吧。

  這里列出幾個(gè)經(jīng)常碰到的Win 32 API函數(shù),它們都是存在Windows系統(tǒng)核心文件KERNEL32.DLL中和視窗管理文件USER32.DLL中。

  Windows函數(shù)是區(qū)分字符集的:A表示ANSI,W表示W(wǎng)ide,即Unicode (Wide character-set),前者就是通常使用的單字節(jié)方式,但這種方式處理象中文這樣的雙字節(jié)字符不方便,容易出現(xiàn)半個(gè)漢字的情況。而后者是雙字節(jié)方式,方便處理雙字節(jié)字符。Windows的所有與字符有關(guān)的函數(shù)都提供兩種方式的版本。盡管你編程時(shí)使用GetWindowText,但實(shí)際上編譯程序會(huì)根據(jù)設(shè)置自動(dòng)調(diào)用GetWindowTextA或GetWindowTextW.函數(shù)的最后一個(gè)字母告訴我們函數(shù)是使用單字節(jié)還是雙字節(jié)字符串。

  1、Hmemcpy函數(shù)

  void hmemcpy(hpvDest, hpvSource, cbCopy)

  void _huge* hpvDest; // 目的數(shù)據(jù)地址

  const void _huge* hpvSource; // 源數(shù)據(jù)地址

  long cbCopy; // 數(shù)據(jù)大小 (Bytes)

  這個(gè)函數(shù)在KERNEL32.DLL中,它很常用,俗稱萬(wàn)能斷點(diǎn),但一般的編程書(shū)籍上很少提到,原因它是底層的東西,沒(méi)有特殊需要,一般不直接調(diào)用。但的確它是很有用的!有意思的是它執(zhí)行的操作很簡(jiǎn)單,只是將內(nèi)存中的一塊數(shù)據(jù)拷貝到另一個(gè)地方。

  注意:此函數(shù)只在Windows 9x系統(tǒng)上有效,在Win NT/2K系統(tǒng)上相關(guān)的函數(shù)是memcpy,但在Win NT/2K上不同于Windows 9x上,很少再調(diào)用memcpy來(lái)處理數(shù)據(jù)了,用此函數(shù)設(shè)斷基本上什么也攔不住。

  2、GetWindowText函數(shù)

  此函數(shù)在USER32.DLL用戶模塊中,它的作用是復(fù)制指定窗口中的字符到緩沖區(qū)。函數(shù)原型:

int GetWindowText(
HWND hWnd//欲獲取文字的那個(gè)窗口的句柄
LPTSTR lpString //預(yù)定義的一個(gè)緩沖區(qū),至少有cch+1個(gè)字符大;隨同窗口文字載入
int nMaxCount//lpString緩沖區(qū)的長(zhǎng)度
);
16位:GetWindowText
32位:GetWindowTextA,GetWindowTextW
<strong>3、GetDlgItemText</strong>


  3、GetDlgItemText

  此函數(shù)在USER32.DLL用戶模塊中,它的作用是返回對(duì)話框中某一個(gè)窗口的標(biāo)題或文字。函數(shù)原型:

UINT GetDlgItemText(
HWND hDlg, // 對(duì)話框句柄
int nIDDlgItem, //控制標(biāo)識(shí)符
LPTSTR lpString, / 預(yù)定義的一個(gè)字符緩沖區(qū)
int nMaxCount// 字符緩沖區(qū)的長(zhǎng)度
);
16位:GetDlgItemText
32位:GetDlgItemTextA,GetDlgItemTextW


4、MessageBox函數(shù)

此函數(shù)是在USER32.DLL用戶模塊中,它的作用創(chuàng)建、顯示和操作信息框。函數(shù)原型:

int MessageBox(
HWND hWnd, //窗口句柄
LPCTSTR lpText, // 信息框中文字的地址
LPCTSTR lpCaption, // 信息框標(biāo)題地址
UINT uType // 信息框類型
);
16位:MessageBox
32位:MessageBoxA,MessageBoxW
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP