WindowsAPI函数

一. 复制自身至Windows文件以及用户文件

GetModuleFileName();
GetWindowsDirectory();
GetSystemDirectory();
CopyFile();

二. 获得系统信息有关函数

GetVersionEx();//获取操作系统版本
GetComputerName();
GetUserName();

三. 网络连接有关函数

int WSAStartup(word wVersionRequested,lpwsadata lpwsadata)//lpwsadata是指向wsadata数据结构的指针,用来接受windows sockets实现的细节

SOCKET socket(int af, int type, int protocol)//返回一个带绑定的socket描述符

int bind(SOCKET s, const struct sockaddr FAR*name,int namlen)//绑定对应IP地址以及端口
//name对应的结构体为sockaddr_in

struct sockaddr_in
{
	short sin_family;
	u_short sin_port;//端口
	struct in_addr sin_addr;//IP地址,对应为字符型或者为unsignedlong型
	char sin_zero[8];
}

int connect(SOCKET s, const struct sockaddr FAR*name, int namelen)//s客户端创建的套接字,name存储服务器端的IP地址和端口,创建与服务器的连接

int send(SOCKET s, const char FAR *buf, int len, int flags)

int recv(SOCKET s, char FAR*buf, int len, int flags)

int listen(SOCKET s, int backlog);//开启监听服务

SOCKET accept(SOCKET S, struct sockaddr FAR *addr, int FAR *addrlen)//用于接受客户端的请求,addr返回新创建的套接字地址

四. 文件有关函数

CreateFileA, CreateMappingA 和 MapViewOfFile 是Windows操作系统中的API函数,用于文件的创建、映射和视图的获取。

    HANDLE WINAPI CreateFile(LPCTSTR lpFileName,DWORD dwDesiredAccess,DWORD dwShareMode,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORDdwCreationDisposition,DWORD dwFlagsAndAttributes,HANDLE hTemplateFile);//创建文件

CreateMappingA:这个函数用于在进程的地址空间中创建一个或多个物理内存映射文件。这些映射文件可以是匿名的,也可以有名字。
MapViewOfFile:这个函数用于将一个已存在的物理内存映射文件或者一个新创建的匿名物理内存映射文件映射到进程的地址空间。这样,进程就可以像操作普通的内存一样来操作这个映射文件。

关系:这三个函数的关系在于,它们都是Windows操作系统中用来管理文件和内存的重要工具。CreateFileA用于创建文件,CreateMappingA用于创建物理内存映射文件,而MapViewOfFile则用于将这些物理内存映射文件映射到进程的地址空间。这三者通常一起使用,例如先使用CreateFileA创建一个文件,然后使用CreateMappingA创建一个物理内存映射文件,最后使用MapViewOfFile将这个物理内存映射文件映射到进程的地址空间。

五. 进程有关函数

#include<windows.h>
int main(int argc,char* argv[])
{
	HWND hNoteWnd=FinddWindow(NULL,"无标题-记事本");//获得窗口句柄
	DWORD dwNotePid=0;
	GetWindowThreadProcessId(hNoteWnd,&dwNotePid);//获得窗口所属进程的id
	HANDLE hNoteHandle=OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwNotePid);//获得进程句柄
	TerminateProcess(hNoteHandle,0);//关闭进程
	CloseHandle(hNoteHandle);//关闭句柄
	return 0;
}
posted @ 2023-08-16 17:31  ONE_ZJ  阅读(21)  评论(0编辑  收藏  举报