在VMware模拟鼠标没反应

jaril 2016-06-08 09:28:22
本人小白,刚学C++,用Visual Studio 2013模拟鼠标,我是在虚拟机上运行,代码如下:
#include <windows.h>
void main()
{
SetCursorPos(0,0);
Sleep(1000);
SetCursorPos(100,100);
Sleep(1000);
SetCursorPos(200,200);
Sleep(1000);
SetCursorPos(300,300);
Sleep(1000);
SetCursorPos(400,400);
Sleep(1000);
SetCursorPos(500,500);
Sleep(1000);

}
能编译成功,运行时只看见光标闪了5下,窗口就关闭了,鼠标箭头一直没动静。
...全文
581 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jaril 2016-06-17
  • 打赏
  • 举报
回复
引用 3 楼 zhoujielunzhimi 的回复:
#1说的很对。 另:在vmware中,SetCursorPos失效。因为vmware需要掌控cursor位置(我们在vmware中移动鼠标,光标不会跑到vmware外面)
是的,谢谢,我再慢慢找解决办法吧
jaril 2016-06-17
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
添加消息循环: 将Sleep(1000); 替换为: MSG msg; int i; for (i=0;i<10;i++) { Sleep(100); if (GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } }
试过了,也没用,不过还是谢谢大神,在虚拟机里面就SetCursorpos没用,其他mouse_event,Keybord_event都正常
jaril 2016-06-17
  • 打赏
  • 举报
回复
引用 1 楼 waji2000 的回复:
在学习win32 API? 创建的是:Win32 -->win32控制台应用程序? 建议将Sleep的时间改长一点。 典型的windows程序,需要创建窗口程序,消息循环之。建议创建win32-->win32项目看看。 有一本书挺不错的“VC++技术内幕”,个人推荐。 如果是学习c++语法,不要先扎进win32程序开发,可先看看 “C++ Primer”。
创建的就是空项目,Sleep改长也没用,试了创建win32项目,一堆代码看不懂,不知道把代码放哪里,我是看视频学的,尹成老师讲的C基础
赵4老师 2016-06-12
  • 打赏
  • 举报
回复
添加消息循环: 将Sleep(1000); 替换为: MSG msg; int i; for (i=0;i<10;i++) { Sleep(100); if (GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } }
sumos 2016-06-12
  • 打赏
  • 举报
回复
#1说的很对。 另:在vmware中,SetCursorPos失效。因为vmware需要掌控cursor位置(我们在vmware中移动鼠标,光标不会跑到vmware外面)
waji2000 2016-06-09
  • 打赏
  • 举报
回复
在学习win32 API? 创建的是:Win32 -->win32控制台应用程序? 建议将Sleep的时间改长一点。 典型的windows程序,需要创建窗口程序,消息循环之。建议创建win32-->win32项目看看。 有一本书挺不错的“VC++技术内幕”,个人推荐。 如果是学习c++语法,不要先扎进win32程序开发,可先看看 “C++ Primer”。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧