C++ 怎么在非界面编程中设置鼠标形状 100
在VS中编程,非MFC。想通过windows中API获取当前窗口,并设置鼠标形状。下面是我自己一段代码,可以实现鼠标位置的移动及获得当前窗口句柄,但是鼠标形状设置不成功。...
在VS中编程,非MFC。想通过windows中API获取当前窗口,并设置鼠标形状。下面是我自己一段代码,可以实现鼠标位置的移动及获得当前窗口句柄,但是鼠标形状设置不成功。返回错误原因是拒绝访问。请问该怎么实现鼠标形状修改
void main()
{
int i=1;
while(i<10)
{
HCURSOR hcur = LoadCursor(NULL,IDC_CROSS);// 加载系统预置的鼠标样式
//HWND h=GetForegroundWindow();
// 获取屏幕鼠标坐标
POINT pt;
POINT pt1;
GetCursorPos(&pt);
printf("%d %d\n",pt.x,pt.y);
pt1=pt;
// 获取窗口鼠标坐标
HWND h= WindowFromPoint(pt);
// 获取窗口标题
char text[200];
GetWindowText(h,(text),200);
printf("%s\n",text);
ScreenToClient(h,&pt);
printf("%d %d\n",pt.x,pt.y);
SetCursorPos(pt1.x+10,pt1.y+10);
DWORD erro = SetClassLong(h, GCL_HCURSOR, (long)hcur); // 设置窗口类的鼠标样式
DWORD erro1 = GetLastError();
cout<<"设置鼠标的返回值:"<<erro<<","<<erro1<<endl;
Sleep(1000);
}
} 展开
void main()
{
int i=1;
while(i<10)
{
HCURSOR hcur = LoadCursor(NULL,IDC_CROSS);// 加载系统预置的鼠标样式
//HWND h=GetForegroundWindow();
// 获取屏幕鼠标坐标
POINT pt;
POINT pt1;
GetCursorPos(&pt);
printf("%d %d\n",pt.x,pt.y);
pt1=pt;
// 获取窗口鼠标坐标
HWND h= WindowFromPoint(pt);
// 获取窗口标题
char text[200];
GetWindowText(h,(text),200);
printf("%s\n",text);
ScreenToClient(h,&pt);
printf("%d %d\n",pt.x,pt.y);
SetCursorPos(pt1.x+10,pt1.y+10);
DWORD erro = SetClassLong(h, GCL_HCURSOR, (long)hcur); // 设置窗口类的鼠标样式
DWORD erro1 = GetLastError();
cout<<"设置鼠标的返回值:"<<erro<<","<<erro1<<endl;
Sleep(1000);
}
} 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏100(财富值+成长值)
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询