当前位置: 首页 > news >正文

细分网站宿迁房产网58同城网二手房

细分网站,宿迁房产网58同城网二手房,蓝科企业建站,网络平台指网站 建设项目所在地功能使用场景#xff1a; 开发一个教学系统#xff0c;包含了教师端、学生端#xff0c;并且教师端支持示教功能。此时#xff0c;学生端的鼠标、键盘不响应系统事件#xff0c;但需要响应教师端发过来的鼠标移动、按下消息。 因为共享页面相同#xff0c;为了提高局域…功能使用场景 开发一个教学系统包含了教师端、学生端并且教师端支持示教功能。此时学生端的鼠标、键盘不响应系统事件但需要响应教师端发过来的鼠标移动、按下消息。 因为共享页面相同为了提高局域网实时效率采用UDP通讯方式使用共享鼠标的方式最快目前我没有找到比这个更快的了如果有小伙伴可以评论区告诉我哟我也学习下 在实现功能时主要实现方式使用钩子函数处理系统发送的鼠标以及键盘消息。 那么禁用掉教师端的鼠标键盘消息后如何在教师端响应按下消息时也让学生端响应呢 此时就需要模拟鼠标按下消息并且需要区分哪些消息是模拟的哪些是PC机自己发送的。这是本文的重点 模拟鼠标左键消息 项目中采用了WIN32的方式可以应用到Qt框架中我觉得比Qt的MouseEvent方式更简单 int nPointX 100; int nPointY 100; mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN, nPointX, nPointY, 0, 200); mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP, nPointX, nPointY, 0, 200); 注意大家有没有发现使用mouse_event的最后一个参数不是0而是一个具体的值那么在这里这个值有什么用呢 回答200这个值就是用来区分系统的鼠标消息与自定义消息的。当使用钩子函数禁用鼠标左键消息时只需要屏蔽由鼠标发送的消息而不需要屏蔽模拟鼠标消息这样保证了在示教过程中任何点击事件都是由教师端控制的。 钩子函数应用 1禁用键盘消息 HHOOK hook_hwnd_mouse NULL; HMODULE g_moduleMouse;LRESULT CALLBACK KeyboardHookProc(int nCode, WPARAM wParam, LPARAM lParam) {KBDLLHOOKSTRUCT* pkbhs (KBDLLHOOKSTRUCT*)lParam;if (nCode HC_ACTION){if (wParam WM_KEYDOWN || wParam WM_KEYUP){//qDebug() QStringLiteral(当前是键盘消息);return TRUE;}}return CallNextHookEx(NULL, nCode, wParam, lParam); } 在开启教师端示教功能时开启对钩子函数的应用关闭时解除钩子函数 //开启钩子函数 hook_hwnd_key SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProc, g_moduleKeyboard, 0); //取消钩子函数 UnhookWindowsHookEx(hook_hwnd_key); 使用这种方式可以禁用所有的键盘消息。 2禁用鼠标移动消息 HHOOK hook_hwnd_mouse NULL; HMODULE g_moduleMouse;//鼠标事件 LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam) {if (nCode HC_ACTION){switch (wParam){case WM_MOUSEWHEEL: // 忽略鼠标滚轮输入禁用滑动case WM_MOUSEMOVE:return TRUE; // 拦截消息不再传递}}return CallNextHookEx(NULL, nCode, wParam, lParam); }控制钩子函数的开启与释放代码如下 //开启钩子函数 hook_hwnd_mouse SetWindowsHookEx(WH_MOUSE_LL, MouseHookProc, g_moduleMouse, 0); //关闭钩子函数 UnhookWindowsHookEx(hook_hwnd_mouse); 3禁用特定鼠标左键消息 在第二个功能的基础上钩子函数需要捕获鼠标左键按下、弹起的消息 //鼠标事件 LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam) {if (nCode HC_ACTION){switch (wParam){case WM_MOUSEWHEEL: // 忽略鼠标滚轮输入禁用滑动case WM_MOUSEMOVE:return TRUE; // 拦截消息不再传递case WM_LBUTTONDOWN:case WM_LBUTTONUP:{MOUSEHOOKSTRUCT* pMouseHookStruct reinterpret_castMOUSEHOOKSTRUCT*(lParam);if (dwExtraInfo 0){return TRUE; //屏蔽鼠标的消息}}break;}}return CallNextHookEx(NULL, nCode, wParam, lParam); } 注dwExtraInfo由鼠标按下传过来的参数值是0mouse_event模拟的消息中dwExtraInfo是200。由此就能区分出需要屏幕哪些按键消息了。 好了到这里就结束啦代码简单难的是查询函数功能希望对小伙伴们有用哟 我是糯诺诺米团一名C程序媛~
http://www.hkea.cn/news/14413051/

相关文章:

  • 网站建设怎么放到云空间营销型网站规划
  • 《网站建设》期末考试3d网站带后台下载
  • 哪个网站做h5好建设彩票网站合法吗
  • 电商网站建设流程网站建设kaicz
  • 设计参考图网站彭山住房和城乡建设局网站
  • 手机网站建设的费用网页浏览器打不开
  • 招商网站建设免费青岛网站关键词
  • 网站备案查询主办单位性质为个人什么是网络营销活动
  • 吉林省建设项目招标网站网站友情链接 关键词经常改动
  • 为wordpress 转 app网站seo课设
  • 企业网站的建立多少钱会员管理网站ASP建设
  • 安吉做企业网站王烨飞微博
  • 电商网站建设设计报告总结江苏网站建设基本流程
  • 网站建设自助建站云建站济南网站建设推荐q479185700上快
  • 网站建设企业响应式网站模板png素材网站
  • 域名备案查询网站备案信息企业网站备案要求
  • 医疗今科云平台网站建设技术开发wordpress影视主题公园
  • 深圳网站网站建设大连手机自适应网站建设费用
  • 云浮北京网站建设没有rss源的网站如何做rss订阅
  • dedecms电影网站源码网页制作学什么内容
  • 用来做视频连接的网站网站建设收获与不足
  • 青岛网站建设找正信济南网站优化公司哪家好
  • 仿制单页面网站多少钱wordpress 微信 登陆地址
  • 郑州网站优化渠道小说网站编辑怎么做
  • 深圳分销网站设计站长工具排行榜
  • 正能量视频免费网站免下载宜昌市建设监理协会网站
  • 昆山市建设局招投标网站0453牡丹江信息网怎么发布信息
  • 网站关键词排名如何提升东莞在那里建个网站
  • 惠州网站建设 鑫关键词密度
  • 网站建站建设wordpress主题no.7