您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > windowsAPI函数中文详解
WindowsAPI函数中文详解V1.0目录WindowsAPI函数中文详解V1.0-----------------------------------------------------------------------------1VCAPI常用函数简单例子大全----------------------------------------------------------------------------6第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄-------------------------------------------6第二个:SendMessage根据窗口句柄发送一个消息给窗口6第三个:GetCursorPos获取鼠标当前位置(屏幕)--------8第四个:WindowFromPoint根据坐标点获得对应的窗口句柄--------------------------------------------------------------------------------9第五个MoveWindow根据窗口句柄移动窗口,改变窗口大小-------------------------------------------------------------------------------10第六个ShowWindow设置窗口显示状态,如隐藏,最大化,最小化-------------------------------------------------------------------------10第七个SetCursorPos设置鼠标的位置、把鼠标移动到指定的位置-------------------------------------------------------------------------11第八个CopyFile复制一个文件--------------------------------------11第九个DeleteFile删除一个文件-----------------------------------11第十个CreateDirectory创建一个文件夹(目录)---------11第十一个:GetClientRect获得窗口大小----------------------12第十二个:GetCWindowRect获得窗口大小(相对屏幕)12第十三个FindFirstFile寻找文件以及获得文件的信息------13第十四个FindNextFile寻找文件----------------------------------13第十五个MoveFile移动文件----------------------------------------14第十六个GetClassName根据窗口句柄获得窗口类名-----14第十七个SetFileAttributes设置文件属性--------------------14第十八个ShellExecute运行一个程序函数定义:ShellExecute(HWNDhwnd,LPCSTRlpOperation,LPCSTRlpFile,LPCSTRlpParameters,LPCSTRlpDirectory,INTnShowCmd);第一个参数hwnd是父窗口的句柄,可以为NULL,第二个参数lpOperation表示行为,第三个参数lpFile是程序的路径名,第四个参数lpParameters是给所打开程序的参数,可以为NULL,第五个参数lpDirectory可以为NULL,第六个参数nShowCmd跟ShowWindow函数的第二个参数一样,作用也一样,如果打开的程序有窗口的话,这个参数就指明了窗口如何显示.例如打开一个记事本:-------------------16第十九个PlaySound播放一个WAV文件---------------------16第二十个GetModuleFileName根据模块导入表获程序的完整路径-------------------------------------------------------------------------17第二十一个CreateWindow创建一个窗口--------------------17第二十二个GetMessage获取窗口消息------------------------23第二十三个RegisterClass注册窗口类,参照CreateWindow---------------------------------------------------------23第二十四个UpdateWindow参照CreateWindow------23第二十五个DispatchMessage参照CreateWindow--23第二十六个LoadCursorFromFile从磁盘加载一个光标文件,函数返回该光标句柄------------------------------------------------23第二十七个CreateSolidBrush创建一个画刷,函数返回画刷句柄-------------------------------------------------------------------------23第二十八个LoadImage装载位图、图标、光标函数--------24第二十九个GetDC根据窗口句柄获取设备上下文(DC)返回DC句柄----------------------------------------------------------------------26第三十个Rectnagle在窗口中画一个矩形----------------------26第三十个CreateToolhelp32Snapshot给当前进程拍一个照-------------------------------------------------------------------------------27第三十一个Process32First根据CreateToolhelp32Snapshot函数返回的句柄获取进程信息------------------------------------------------27第三十二个OpenProcess根据进程ID号获得进程句柄,句柄通过函数返回-------------------------------------------------------------------28第三十三个TerminateProcess结束一个进程(需进程句柄做参数)----------------------------------------------------------------------28第三十四个CreatePen创建一个画笔(返回画笔句柄)---29第三十五个CreateSolidBrush创建一个画刷----------------29第三十六个SelectObject把GDI对象选入相应的DC中29第三十七个ReadProcessMemory根据进程句柄读取相应的一段内存(读其它进程里的内存)--------------------------------31第三十八个WriteProcessMemory根据进程句柄写入相应的一段内存(写入其它进程里的内存)-----------------------------32第三十九个CreateThread创建一个线程(多线程)-------33第四十个GetCurrentProcessId获得当前进程ID-------35第四十一个CreateCompatibleDC创建一个兼容的内存设备上下文(DC)-----------------------------------------------------------35第四十二个GetObject获取一个对象信息(如位图,图标,光标)-------------------------------------------------------------------------35第四十三个BitBlt在窗口输出一个位图---------------------------35第四十四个GetWindowText根据窗口句柄获得窗口标题名37第四十五个SetWindowText根据窗口句柄设置窗口标题名38第四十六个GetCurrentProcess获得当前线程句柄-------38第四十七个OpenProcessToken获得一个进程的访问令牌句柄----------------------------------------------------------------------------38第四十七个LookupPrivilegeValue函数查看对应系统权限的特权值,返回信息到一个LUID结构体里上面讲过了,进程有权限一说,那么大家也能猜到,进程权限的信息也一定存储在一个结构体里,这个结构体描述了进程权限相关的一些信息。这个结构体在这里就不具体描述了,我们所要做的,只是把一个进程权限设置成SeDeDebug就行了,所以我们只要知道TOKEN_PRIVILEGES便是描述进程权限的结构体就可以了。而LookupPrivilegeValue函数是根据访问令牌句获取相应的权限信息吗?不是的。TOKEN_PRIVILEGES结构里的Privileges[0].Luid跟这个函数所查询的东西相对应,也就是说,如果进程是SeDeDeBug权限,那Privileges[0].Luid的取值是怎样的呢?用LookupPrivilegeValue函数便可以获取其取值。这个函数是这样定义的:BOOLLookupPrivilegeValue(LPCTSTRlpSystemName,LPCTSTRlpName,PLUIDlpLuid);第一个参数lpSystemName通常都填NULL,本地系统调用,第二个参数lpName填要查询的权限名,如要查询的是SeDeDebug权限则取值是SE_DEBUG_NAME,第三个参数lpLuid接收其取值。如LUIDluid;LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&luid);------------------------------------------------------------------39第四十八个AdjustTokenPrivileges调整一个进程的访问令牌信息(权限)---------------------------------------------------------39第四十九个LoadLibrary加载动态链接库,返回动态链接库模块句柄----------------------------------------------------------------------40第五十个GetProcAddress根据模块句柄获取相应的函数地址-------------------------------------------------------------------------------40第五十一个SetWindowsHookEx安装一个钩子-----------41第五十二个SHGetFileInfo获取一个文件的各项信息(文件关联图标,属性等)函数定义:DWORDSHGetFileInfo(LPCSTRpszPath,DWORDdwFileAttributes,SHFILEINFOAFAR*psfi,UINTcbFileInfo,UINTuFlags);pszPath是文件的路径,dwFileAttributes一般取0,如果想要获取文件夹信息的话,则取值为FILE_ATTRIBUTE_D
本文标题:windowsAPI函数中文详解
链接地址:https://www.777doc.com/doc-5892678 .html