3
我知道如何使用Layered Windows将我自己的应用程序变成透明的,但是我想让不同的应用程序变得透明(例如记事本)。 我写了这样的代码,但它不与其他的窗口,除了我的应用程序的主窗口的工作:如何让另一个应用程序的窗口透明?
SetWindowLongPtr(WindowFromPoint(p), GWL_EXSTYLE,
GetWindowLongPtr(hWnd, GWL_EXSTYLE) | WS_EX_LAYERED);
SetLayeredWindowAttributes(WindowFromPoint(p), 0, (255 * 50)/100, LWA_ALPHA);
其中p为屏幕上的点(例如我用我的鼠标选择窗口)
如果有直接从Windows 7执行此操作的方法(不一定是程序化),我也很感兴趣。我认为必须有一种方法来实现它,因为每个应用程序都被渲染到它自己的表面上,DWM将它们合成到最终的图像中。
哎呀,是的,这是一个错误。谢谢,但它仍然不起作用:P – Sil 2010-02-20 09:17:11
非常感谢你,我的代码也可以工作,但我在POINT结构中硬编码了这些值,并手动将所需的窗口放到了那个位置.. :)我想我只是没有做到这一点,不要打上标题。再次感谢你。 – Sil 2010-02-20 16:59:38