2010-09-08 71 views
2

我找叠加第三方应用程序的图形输出在某些行的方式,圆弧等应用程序接受一个窗口,它就会显示其输出的手柄。挂钩到窗体重绘

用VC++我放在一起的Windows在Visual Studio,吸引(非静态)的东西,在窗体的OnPaint中,方法窗体应用程序。通过这种形式的句柄到其他应用程序,当然,我的覆盖图形的东西每次其他应用程序重绘时间。

可以以某种方式挂钩到此重绘过程中,以便在之后添加我的图形其他应用程序重绘?用我绘制的透明面板重叠表格可能是另一种选择。但真实控件的透明度似乎是它自己在Windows中的问题...

回答

1

如果不从应用程序获取通知,您就无法轻松完成此操作。其中,如果不提供这些,就需要设置与调用SetWindowsHookEx全局钩子(),所以你可以看到WM_ERASEBKGND和WM_PAINT消息。这很难做到,你不能在托管代码中编写这样的钩子。由于它需要将DLL注入到目标进程中。

唯一的另一种选择是,你把一个透明的重叠式广告形式的顶部。另一种具有其TransparencyKey属性集的表单。基本的代码,你需要得到正确的是我在this thread答案可用。你只需要调整它,所以它是永久的。