替换开始菜单
我想制作自己的开始菜单替换,我正在尝试找出使用什么方法。激活“开始”菜单的方法有多种:单击它、按 Windows 键、按 Ctrl+Esc 键或 tab 直到它出现获得焦点并按空格键或 Enter 键。
我对 win32 有足够的了解,可以分别完成其中的每一项,并且我可以使用 Spy++ 来解决。我真的很想知道是否有更简单的方法,但我找不到任何有用的文章。
我想为 XP 和 Vista/Windows 7 执行此操作。
I want to make my own Start Menu replacement and I am trying to figure out what approach to use. There are a number of ways the Start Menu is activated: click on it, hit windows key, hit Ctrl+Esc keys or tab until it gets focus and hit the space or enter key.
I know enough about win32 to do each one of these separately and I could figure it out with Spy++. I'd really like to know if there is an easier way through and I can't find any helpful articles.
I'd like to do this for XP and Vista/Windows 7.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我猜你必须将自己注入到 explorer.exe 进程中(可以有多个进程,但你想要一个具有“Shell_TrayWnd”窗口的进程)并子类化任务栏或其子进程之一来捕获/吃掉显示开始菜单并显示您自己的窗口的消息。
I guess that you would have to inject yourself into the explorer.exe process (There can be more than one, but you want the one that has the "Shell_TrayWnd" window) and subclass the taskbar or one of its children to catch/eat the message that brings up the startmenu and instead, show your own window.
看看 http://bitbucket.org/wez/evildesk/src/ 755606d7935d/gdi.cpp,我认为您可以通过查看他们所做的事情来开始您的项目。
Take a look at http://bitbucket.org/wez/evildesk/src/755606d7935d/gdi.cpp , I think you could start your project by seing what they've done.
您还可以使用 WindowBlinds 并设计自己的开始菜单。
You can use WindowBlinds and design your own Start Menu as well.