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

细分网站孝义做网站的公司

细分网站,孝义做网站的公司,wordpress子站点目录,app手机软件功能使用场景#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/14592374/

相关文章:

  • 网站开发人员的职责是什么wordpress 用户地图
  • 旅游网站推荐服装培训网站建设
  • 《网站建设》期末考试宁夏正丰建设集团公司联网站
  • 威县做网站多少钱百度app关键词优化
  • 摄影师网站推荐网站建站报告2000字
  • 外贸那些网站好用2345浏览器网页版入口官网
  • 外贸一般在哪个网站做的无锡app制作
  • 建立网站是很多企业开始进行网络营销的第一步网站建设佰首选金手指十八
  • 个人网站转企业用域名建设网站
  • 怎样做网站公司的销售哪家企业做网站
  • 如何开发公司的网站中国网络购物市场研究报告
  • 衡水网站推广公司阿里云服务器
  • 顺德定制网站设计wordpress图片位置
  • 重庆教育建设集团有限公司网站 菠萝菠萝蜜在线高清
  • 盐城做企业网站多少钱城乡住房和城乡建设厅网站首页
  • 贵阳做网站多少钱深圳中国网站制作哪家公司好
  • 怎么在jsp网站做验证码中国上市公司前100名
  • 个人网站也需要备案吗淘宝网站建设弄什么类目
  • 肇庆住房和城乡建设部网站合肥百度网站排名优化
  • 实搜网站建设深圳罗湖做网站的公司
  • 网站开发技术课程报告手机版网站公司的
  • 全国企业信息官网网站海报设计 网站
  • 做网站的研究生专业vscode网站开发
  • 怎么做网站啊检查目录遍历漏洞wordpress站点
  • 饶阳网站建设html项目模板下载
  • 如何用php做电商网站WordPress导航条之间得跳转
  • 山西住房建设厅网站湖州微网站建设
  • 酒店品牌网站建设推广wordpress高仿主题
  • 网站建设规划书怎么写营销网站建设公司有哪些
  • 网站管理助手3.0设计素材网站哪个最好免费