[发明专利]一种接管windows系统开始菜单的方法有效
申请号: | 201710012481.1 | 申请日: | 2017-01-09 |
公开(公告)号: | CN106815023B | 公开(公告)日: | 2020-05-05 |
发明(设计)人: | 朱明;娄国栋 | 申请(专利权)人: | 山东华软金盾软件股份有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451;G06F3/0482;G06F21/56 |
代理公司: | 济南泉城专利商标事务所 37218 | 代理人: | 支文彬 |
地址: | 250101 山东省济南市高新区舜华路1号齐鲁*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 接管 windows 系统 开始菜单 方法 | ||
一种接管Windows系统开始菜单的方法,包括如下步骤:a)获取任务栏和开始菜单的窗口句柄;b)调用Windows系统中的SetWindowsHookExW参数注册键盘HOOK;c)调用Windows系统中的SetWindowsHookExW参数注册鼠标HOOK;d)根据任务栏窗口位置,设置自定义开始菜单的左边距和下边距分别为任务栏窗口的左边距和上边距,调用SetWindowPos参数,显示自定义的开始菜单。本方法除了接管了Windows开始菜单,方便用户区分两个桌面,更实现了对另外一个桌面的应用程序控制,相比传统应用程序黑名单要等应用程序运行后再杀掉,本方案使得用户只能运行自定义开始菜单GdStartMenu内置的程序,使得非法应用程序根本得不到运行。
技术领域
本发明涉及计算机领域,具体涉及一种接管windows系统开始菜单的方法。
背景技术
Windows多桌面,通过系统API函数 CreateDesktop即可创建一模一样的桌面环境,让同一个工作中程序放在一个桌面里面,另外的工作则放入另一个虚拟桌面,让工作和任务更加条分缕析,井井有条。比如在默认桌面下,可以访问访问互联网等娱乐操作,而在桌面2下只能办公等。现有实现方式下,默认桌面和桌面2开始菜单里面的内容是一样的,都是系统默认的,不利于管理员对在桌面2下进行限制,比如禁止运行QQ或禁止使用控制面板等,也不利于用户对默认桌面和桌面2进行良好的区分。
发明内容
本发明为了克服以上技术的不足,提供了一种通过Windows HOOK技术接管新建桌面下开始菜单,显示自定义的开始菜单,可实现不同桌面下应用程序的隔离和控制的接管windows系统开始菜单的方法。
本发明克服其技术问题所采用的技术方案是:
一种接管Windows系统开始菜单的方法,包括如下步骤:
a)调用Windows系统中的API FindWindowW和FindWindowEx参数分别获取任务栏和开始菜单的窗口句柄;
b) 调用Windows系统中的SetWindowsHookExW参数注册键盘HOOK,在GdGlobaKeyHook函数中,对接收到的键盘的按键进行判断,键盘的按键内容定义在Windows系统中的struct KBDLLHOOKSTRUCT参数中,当struct KBDLLHOOKSTRUCT参数的一个参数定义为#define VK_LWIN 0x5B或#define VK_RWIN 0x5C时,启动GdStartMenu,系统接管Windows系统的开始菜单,并显示自定义菜单,同时返回Windows系统中的假FALSE参数,终止键盘参数定义为#define VK_LWIN 0x5B或#define VK_RWIN 0x5C的键盘码的发送;
c) 调用Windows系统中的SetWindowsHookExW参数注册鼠标HOOK,在GdGlobaMouseHook函数中,接收鼠标按下时如下参数:包括横向坐标x及纵向坐标y、获取任务栏主窗口尺寸、获取开始菜单窗口尺寸,当鼠标按下时横向坐标x大于系统开始菜单左边距且小于系统开始菜单右边距,鼠标按下时纵向坐标大于任务栏上边距且小于任务栏下边距时,启动GdStartMenu,系统接管Windows系统的开始菜单,并显示自定义菜单,同时返回Windows系统中的假FALSE参数,终止鼠标按下时的参数的消息发送;
d)根据任务栏窗口位置,设置自定义开始菜单的左边距和下边距分别为任务栏窗口的左边距和上边距,调用SetWindowPos参数,显示自定义的开始菜单。
本发明的有益效果是:本方法除了接管了Windows开始菜单,方便用户区分两个桌面,更实现了对另外一个桌面的应用程序控制,相比传统应用程序黑名单要等应用程序运行后再杀掉,本方案使得用户只能运行自定义开始菜单GdStartMenu内置的程序,使得非法应用程序根本得不到运行。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东华软金盾软件股份有限公司,未经山东华软金盾软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710012481.1/2.html,转载请声明来源钻瓜专利网。