C语言光标是如何控制的,有什么作用?有没有例子
比如函数
//隐藏光标
void HideCursor()
{
CONSOLE_CURSOR_INFO curInfo; //定义光标信息的结构体变量
curInfo.dwSize = 1; //如果没赋值的话,光标隐藏无效
curInfo.bVisible = FALSE; //将光标设置为不可见
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); //获取控制台句柄
SetConsoleCursorInfo(handle, &curInfo); //设置光标信息
}
//光标跳转
void CursorJump(int x, int y)
{
COORD pos; //定义光标位置的结构体变量
pos.X = x; //横坐标
pos.Y = y; //纵坐标
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); //获取控制台句柄
SetConsoleCursorPosition(handle, pos); //设置光标位置
}
用两个函数封装了读写内存的过程,只需要输入进程句柄和对应地址即可。(参数名用processid其实描述的并不准确,此处应该用参数名processh)
//读进程内存
DWORD GetMemory(HANDLE processid,DWORD addr){
DWORD res;
LPCVOID pbase=(LPCVOID)addr;
LPVOID buffer=(LPVOID)&res;
ReadProcessMemory(processid,pbase,buffer,sizeof(DWORD),NULL);
return res;
}
//写进程内存
int SetMemory(HANDLE processid,DWORD addr,DWORD value){
LPVOID pbase=(LPVOID)addr;
LPCVOID buffer=(LPCVOID)&value;
SIZE_T res;
return WriteProcessMemory(processid,pbase,buffer,sizeof(DWORD),&res);
}