破解常用断点设置API函数原型——常用函数汇总

HWND (

    LPCTSTR lpClassName,	// 指向注册窗口类名的指针
    LPCTSTR lpWindowName,	// 指向窗口名的指针
    DWORD dwStyle,		// 窗口样式
    int x,		// 窗口水平位置
    int y,		// 窗口垂直位置
    int nWidth,		// 窗口宽度
    int nHeight,		// 窗口高度
    HWND hWndParent,	// 父窗口句柄
    HMENU hMenu,		// 菜单句柄
    HANDLE hInstance,	// 应用程序实例句柄
    LPVOID lpParam		// 指向创建窗口所需的数据
   );
   
如果成功就返回新窗口的句柄;失败则返回NULL值

HWND (

    DWORD dwExStyle,	// 扩展窗口样式
    LPCTSTR lpClassName,	// 指向注册窗口类名的指针
    LPCTSTR lpWindowName,	// 指向窗口名的指针
    DWORD dwStyle,		// 窗口样式
    int x,		// 窗口水平位置
    int y,		// 窗口垂直位置
    int nWidth,		// 窗口宽度
    int nHeight,		// 窗口高度
    HWND hWndParent,	// 父窗口句柄
    HMENU hMenu,		// 菜单句柄
    HINSTANCE hInstance,	// 应用程序实例句柄
    LPVOID lpParam 	// 指向创建窗口所需的数据
   );
   
如果成功就返回新窗口的句柄;失败则返回NULL值

BOOL (

    HWND hWnd,		// 窗口句柄
    int nCmdShow 		// 窗口显示状态
   );	
   
如果先前的窗口可见就返回非零值;如果先前的窗口隐藏则返回零值

BOOL (

    HWND hWnd 		// 窗口句柄 
   );

如果成功就返回非零值;失败则返回零值

int (

    HWND hWnd,		// 窗口或文本控件句柄
    LPTSTR lpString,	// 缓冲区地址
    int nMaxCount 		// 最大字符数
   );
   
如果成功就返回文本长度;失败则返回零值

int (

    HWND hWnd,		// 父窗口句柄
    LPCTSTR lpText,	// 消息框文本地址
    LPCTSTR lpCaption,	// 消息框标题地址  
    UINT uType 		// 消息框样式
   );

如果失败则返回零值;如果成功,返回值为如下之一:
IDABORT		Abort 按钮被选择
IDCANCEL		Cancel 按钮被选择
IDIGNORE		Ignore 按钮被选择
IDNO		No 按钮被选择
IDOK		OK 按钮被选择
IDRETRY		Retry 按钮被选择
IDYES		Yes 按钮被选择

int (

    HWND hWnd,		// 父窗口句柄
    LPCTSTR lpText,	// 消息框文本地址
    LPCTSTR lpCaption,	// 消息框标题地址 
    UINT uType,		// 消息框样式
    WORD wLanguageId 	// 语言标识
   );	

如果失败则返回零值;如果成功,返回值为如下之一:
IDABORT		Abort 按钮被选择
IDCANCEL		Cancel 按钮被选择
IDIGNORE		Ignore 按钮被选择
IDNO		No 按钮被选择
IDOK		OK 按钮被选择
IDRETRY		Retry 按钮被选择
IDYES		Yes 按钮被选择

int (

    LPMSGBOXPARAMS lpMsgBoxParams	// 消息框参数结构地址
   );
   
如果失败则返回零值;如果成功,返回值为如下之一:
IDABORT		Abort 按钮被选择
IDCANCEL		Cancel 按钮被选择
IDIGNORE		Ignore 按钮被选择
IDNO		No 按钮被选择
IDOK		OK 按钮被选择
IDRETRY		Retry 按钮被选择
IDYES		Yes 按钮被选择

BOOL (

    UINT uType 		// 声音类型  
   );	

声音类型:
0xFFFFFFFF		Standard beep using the computer speaker
MB_ICONASTERISK		SystemAsterisk
MB_ICONEXCLAMATION		SystemExclamation
MB_ICONHAND		SystemHand
MB_ICONQUESTION		SystemQuestion
MB_OK			SystemDefault

如果成功就返回文本长度;失败则返回零值

int (

    HINSTANCE hInstance,	// 应用程序实例句柄
    LPCTSTR lpTemplate,	// 对话框模板指针
    HWND hWndParent,	// 父窗口句柄
    DLGPROC lpDialogFunc 	// 对话框处理函数指针 
   );	
 
如果成功就返回nResult参数,用于EndDialog结束对话框;失败则返回-1

int (

    HINSTANCE hInstance,	// 应用程序实例句柄
    LPCTSTR lpTemplateName,	// 对话框模板指针
    HWND hWndParent,	// 父窗口句柄
    DLGPROC lpDialogFunc,	// 对话框处理函数指针  
    LPARAM dwInitParam 	// 初始化值
   );
   
如果成功就返回nResult参数,用于EndDialog结束对话框;失败则返回-1

int (

    HINSTANCE hInstance,	// 应用程序实例句柄
    LPDLGTEMPLATE lpTemplate,	// 对话框模板指针
    HWND hWndParent,	// 父窗口句柄
    DLGPROC lpDialogFunc 	// 对话框处理函数指针 
   );	
 
如果成功就返回nResult参数,用于EndDialog结束对话框;失败则返回-1

int (

    HINSTANCE hInstance,	// 应用程序实例句柄
    LPCDLGTEMPLATE lpTemplateName,	// 对话框模板指针
    HWND hWndParent,	// 父窗口句柄
    DLGPROC lpDialogFunc,	// 对话框处理函数指针  
    LPARAM dwInitParam 	// 初始化值
   );
   
如果成功就返回nResult参数,用于EndDialog结束对话框;失败则返回-1

int (

    HINSTANCE hInstance,	// 应用程序实例句柄
    LPCTSTR lpTemplate,	// 对话框模板指针
    HWND hWndParent,	// 父窗口句柄
    DLGPROC lpDialogFunc 	// 对话框处理函数指针 
   );	
 
如果成功就返回对话框句柄;失败则返回NULL

int (

    HINSTANCE hInstance,	// 应用程序实例句柄
    LPCTSTR lpTemplateName,	// 对话框模板指针
    HWND hWndParent,	// 父窗口句柄
    DLGPROC lpDialogFunc,	// 对话框处理函数指针  
    LPARAM dwInitParam 	// 初始化值
   );
   
如果成功就返回对话框句柄;失败则返回NULL

int (

    HINSTANCE hInstance,	// 应用程序实例句柄
    LPDLGTEMPLATE lpTemplate,	// 对话框模板指针
    HWND hWndParent,	// 父窗口句柄
    DLGPROC lpDialogFunc 	// 对话框处理函数指针 
   );	
 
如果成功就返回对话框句柄;失败则返回NULL

int (

    HINSTANCE hInstance,	// 应用程序实例句柄
    LPCDLGTEMPLATE lpTemplateName,	// 对话框模板指针
    HWND hWndParent,	// 父窗口句柄
    DLGPROC lpDialogFunc,	// 对话框处理函数指针  
    LPARAM dwInitParam 	// 初始化值
   );
   
如果成功就返回对话框句柄;失败则返回NULL

UINT (

    HWND hDlg,		// 对话框句柄
    int nIDDlgItem,	// 控件标识
    LPTSTR lpString,	// 文本缓冲区指针
    int nMaxCount 		// 最大字符数
   );
   
如果成功就返回文本长度;失败则返回零值

UINT (

    HWND hDlg,		// 对话框句柄
    int nIDDlgItem,	// 控件标识
    BOOL *lpTranslated,	// 接收成功/失败指示的指针
    BOOL bSigned 		// 指定是有符号数还是无符号数
   );
   
如果成功,lpTranslated被设置为TRUE,返回文本对应的整数值;如果失败,lpTranslated被设置为FALSE,返回值为零

HANDLE (

    UINT uFormat 		// 剪贴板格式  
   );
   
如果成功就返回剪贴板对象的句柄;失败则返回NULL

LONG (

    HKEY hKey,		// 要打开的主键句柄 
    LPCTSTR lpSubKey,	// 要打开的子键名地址 
    PHKEY phkResult 	// 存放打开子键句柄的地址 
   );

如果成功就返回ERROR_SUCCESS;失败则返回非零错误代码

LONG (

    HKEY hKey,		// 要打开的主键句柄
    LPCTSTR lpSubKey,	// 要打开的子键名地址
    DWORD ulOptions,	// 保留,必须为0 
    REGSAM samDesired,	// 存取掩码 
    PHKEY phkResult 	// 存放打开子键句柄的地址
   );

如果成功就返回ERROR_SUCCESS;失败则返回非零错误代码 

LONG (

    HKEY hKey,		// 需要查找的主键的句柄 
    LPCTSTR lpSubKey,	// 需要查找的子键名地址
    LPTSTR lpValue,	// 存放结果的缓冲区地址
    PLONG lpcbValue 	// 存放返回结果字节长度的缓冲区地址
   );
   
如果成功就返回ERROR_SUCCESS;失败则返回非零错误代码 

LONG (

    HKEY hKey,		// 需要查找的主键的句柄 
    LPTSTR lpValueName,	// 需要查找的子键名地址 
    LPDWORD lpReserved,	// 保留,必须为NULL. 
    LPDWORD lpType,	// 存放子键类型的缓冲区地址 
    LPBYTE lpData,	// 存放返回结果的缓冲区地址 
    LPDWORD lpcbData 	// 存放返回结果字节长度的缓冲区地址 
   );

如果成功就返回ERROR_SUCCESS;失败则返回非零错误代码 

LONG (

    HKEY hKey,		// 需要设置键值的主键句柄 
    LPCTSTR lpSubKey,	// 需要设置的子键名地址 
    DWORD dwType,		// 键值类型 
    LPCTSTR lpData,	// 所设置的数据地址 
    DWORD cbData 		// 所设置的数据字节长度 
   );	

如果成功就返回ERROR_SUCCESS;失败则返回非零错误代码 

LONG (

    HKEY hKey,		// 需要设置键值的主键句柄  
    LPCTSTR lpValueName,	// 需要设置的子键名地址
    DWORD Reserved,	// 保留,必须为0 
    DWORD dwType,		// 键值类型 
    CONST BYTE *lpData,	// 所设置的数据地址 
    DWORD cbData 		// 所设置的数据字节长度 
   );
   
如果成功就返回ERROR_SUCCESS;失败则返回非零错误代码 

BOOL (

    HMENU hMenu,		// 菜单句柄
    UINT uIDEnableItem,	// 菜单项标识
    UINT uEnable		// 控制标志
   );
uEnable的三种有用情况:
MF_DISABLED	禁止
MF_ENABLED	允许
MF_GRAYED		变灰

返回菜单项以前的状态,如果菜单项不存在就返回0xFFFFFFFF

BOOL (

    HWND hWnd,		// 窗口句柄
    BOOL bEnable 		// 禁止或允许标志
   );
bEnable的两种状态:
TRUE		允许
FALSE		禁止	

如果先前的窗口是禁止状态,则返回非零值;如果先前的窗口是允许状态,则返回零 

VOID (

    LPSYSTEMTIME lpSystemTime 	// 存放系统时间结构的地址 
   );	
 
无 

VOID (

    LPSYSTEMTIME lpSystemTime 	// 存放系统时间结构的地址  
   );
   
无 

BOOL (

    HANDLE hFile,			// 文件句柄 
    LPFILETIME lpCreationTime,	// 存放文件创建时间的地址 
    LPFILETIME lpLastAccessTime,	// 存放文件最后一次存取时间的地址  
    LPFILETIME lpLastWriteTime 	// 存放文件最后一次写的地址 
   );
   
如果成功就返回非零值;失败则返回零

DWORD (VOID)

如果成功就返回自WINDOWS启动以来所经历的毫秒数

UINT (

    HWND hWnd,		// 与定时器相关的窗口句柄
    UINT nIDEvent,		// 定时器标识
    UINT uElapse,		// 定时间隔,以毫秒为单位
    TIMERPROC lpTimerFunc 	// 定时器超时函数地址
   );
   
如果成功就返回新定时器的句柄,用于KillTimer结束定时器;失败则返回零

VOID CALLBACK (

    HWND hwnd,		// 与定时器相关的窗口句柄
    UINT uMsg,		// WM_TIMER 消息
    UINT idEvent,		// 定时器标识
    DWORD dwTime 		// 由GetTickCount获得的当前系统时间
   );
   
无

HANDLE (

    LPCTSTR lpFileName,		// 要打开的文件名指针
    DWORD dwDesiredAccess,		// 存取(读-写)模式 
    DWORD dwShareMode,		// 共享模式 
    LPSECURITY_ATTRIBUTES lpSecurityAttributes,	// SECURITY_ATTRIBUTES 结构指针 
    DWORD dwCreationDistribution,	// 打开方式 
    DWORD dwFlagsAndAttributes,	// 文件属性
    HANDLE hTemplateFile 		// GENERIC_READ方式存取的临时文件句柄 
   );
   
如果成功就返回文件句柄;失败则返回INVALID_HANDLE_VALUE

HFILE (

    LPCSTR lpFileName,		// 要打开的文件名指针
    LPOFSTRUCT lpReOpenBuff,	// 存放文件信息的缓冲区地址  
    UINT uStyle			// 打开方式
   );
   
如果成功就返回文件句柄;失败则返回HFILE_ERROR

BOOL (

    HANDLE hFile,			// 要读取的文件句柄 
    LPVOID lpBuffer,		// 存放读出数据的缓冲区地址  
    DWORD nNumberOfBytesToRead,	// 要读的字节数 
    LPDWORD lpNumberOfBytesRead,	// 指向读取字节数的地址
    LPOVERLAPPED lpOverlapped 	// OVERLAPPED 结构的地址 
   );

如果成功就返回非零值;失败则返回零

BOOL (

    HANDLE hFile,			// 要写入的文件句柄 
    LPCVOID lpBuffer,		// 存放写入数据的缓冲区地址
    DWORD nNumberOfBytesToWrite,	// 写入的字节数 
    LPDWORD lpNumberOfBytesWritten,	// 指向写入字节数的地址 
    LPOVERLAPPED lpOverlapped 	// OVERLAPPED 结构的地址
   );
   
如果成功就返回非零值;失败则返回零

HFILE (

    LPCSTR lpPathName,	// 要打开的文件名指针  
    int iAttribute 	// 文件属性 
   );
   
如果成功就返回文件句柄;失败则返回HFILE_ERROR

HFILE (

    LPCSTR lpPathName,	// 要打开的文件名指针  
    int iReadWrite 	// 文件存取模式 
   );
   
如果成功就返回文件句柄;失败则返回HFILE_ERROR

UINT (

    HFILE hFile,		// 文件句柄
    LPVOID lpBuffer,	// 存放读出数据的缓冲区地址 
    UINT uBytes 		// 读取的字节数 
   );
   
如果成功就返回实际读取的字节数;失败则返回HFILE_ERROR

UINT (

    HFILE hFile,		// 文件句柄 
    LPCSTR lpBuffer,	// 存放写入数据的缓冲区地址  
    UINT uBytes 		// 写入的字节数
   );
   
如果成功就返回实际写入的字节数;失败则返回HFILE_ERROR

UINT (

    HFILE hFile,		// 文件句柄
    LPVOID lpBuffer,	// 存放读出数据的缓冲区地址 
    UINT uBytes 		// 读取的字节数 
   );
   
如果成功就返回实际读取的字节数;失败则返回HFILE_ERROR

UINT (

    HFILE hFile,		// 文件句柄 
    LPCSTR lpBuffer,	// 存放写入数据的缓冲区地址  
    UINT uBytes 		// 写入的字节数
   );
   
如果成功就返回实际写入的字节数;失败则返回HFILE_ERROR

UINT (

    LPCTSTR lpRootPathName 	// 根路径地址 
   );
   

0		无法决定
1		根目录不存在
DRIVE_REMOVABLE	可移动驱动器
DRIVE_FIXED	固定驱动器
DRIVE_REMOTE	远程(网络)驱动器
DRIVE_CDROM	CD-ROM 驱动器
DRIVE_RAMDISK	RAM disk

DWORD (VOID)

   
如果失败就返回零值,成功则返回由位掩码表示的当前可用驱动器:
bit 0		drive A
bit 1		drive B
bit 2		drive C
bit 3		drive D
。。。以此类推

DWORD (

    DWORD nBufferLength,	// 缓冲区大小 
    LPTSTR lpBuffer 	// 缓冲区地址,如成功则返回结果为如下形式: c:/d:/
   );
   
如果成功就返回实际的字符数;失败则返回零
发布了22 篇原创文章 · 获赞 5 · 访问量 14万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章