如何绘制Windows 8的Metro界面上面? [英] How to draw above the Windows 8 Metro interface?

查看:159
本文介绍了如何绘制Windows 8的Metro界面上面?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想绘制图形将驻留的其他所有接口,包括Windows 8新的主屏幕上面。你会如何去这样做?随着Windows 7和下降,这将是为显示高于一切透明全屏窗口一样简单,但现在因为桌面从操作系统的其他部分割裂开来是不可能的了。



的原因是,我需要显示两个光标独立的Windows的鼠标光标。我正在开发一个多点触摸仿真软件的 Wii遥控器(使用感应棒指针),以及目前我只设置光标位置,并通过摇动+1和-1像素唤醒它。但它与感人干扰,所以我必须使用触摸模拟时禁用它。它的工作原理的时刻,但我想补充的多点触摸的支持,使您可以放大并与Wii遥控器旋转。触摸功能是准备好了,但你会希望看到光标拿着当一个接触点,并与Wii遥控器选择其他触摸点,同时保持第一个接触点在Windows光标无法在其他地方移动,因为它粘在触摸点。



我已经看到了如何通过aquiring为屏幕Graphics对象直接绘制到屏幕上,但它不工作,因为它是完全非托管,所以图形保持可见,直到别的东西刷新的区域。



那么,有什么建议?



该项目参与被称为Touchmote并提供源代码和安装touchmote.net测试。


解决方案

  1. 通过指定UIAccess =需求的应用程序清单的UIAccess完整性级别。

  2. 请在窗口最上面的(通过的 SetWindowPos 或在的WinForms设置TopMost属性/ WPF)

  3. 注册使用的数字证书链到在本地计算机受信任的根证书颁发机构的证书存储一个受信任的根。

  4. 直接运行(即应用程序,的不是来自调试)从< A HREF =http://technet.microsoft.com/en-us/library/dd834830.aspx相对=nofollow>在文件系统中一个安全的位置。你以后可以附加一个调试器



请注意这使你的应用程序中运行升高,则可能的问题,当您需要从一个较低的完整性级别<连接到您的应用程序/一>


I would like to draw graphics that will reside above all other interfaces, including Windows 8 new Home screen. How would you go about doing that? With Windows 7 and down, it would be as simple as showing a transparent fullscreen window above all else, but now since the desktop is separated from the rest of the operating system it is not possible anymore.

The reason is that I need to display two cursors independent of the Windows mouse cursor. I am developing a multi touch simulation software for a Wii Remote (using the sensor bar pointer), and for the moment I just set the cursor position and wakes it by shaking +1 and -1 pixels. But it interferes with the touching, so I have to disable it when using the touch simulation. It works for the moment, but I would like to add multi touch support so that you can zoom and rotate with the Wii Remote. The touch function is ready, but you would want to see cursors for when holding one touch point and choosing the other touch point with the Wii Remote, and while holding the first touch point the Windows cursor aren't able to move anywhere else because it sticks to the touch point.

I have seen how to draw directly to the screen by aquiring a Graphics object for the screen, but it does not work since it is completely unmanaged, so the graphics stay visible until something else refreshes the area.

So, any suggestions?

The project involved is called Touchmote and is available as source code and installable beta on touchmote.net.

解决方案

  1. Demand the UIAccess integrity level in application manifest by specifying UIAccess="true" in the requestedPrivileges attribute.
  2. Make the window topmost (change the position via SetWindowPos or set the TopMost property in WinForms/WPF)
  3. Sign the application using a digital certificate that chains up to a trusted root in the local machine Trusted Root Certification Authorities certificate store.
  4. run directly (that is, not from a debugger) from a secure location in the file system. You can attach a debugger afterwards.

Note this make your application running elevated, you may have issues when you need to connect to your application from a lower integrity level.

这篇关于如何绘制Windows 8的Metro界面上面?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆