Sco*_*007 7 .net c# c++ repaint
MyApp(.NET c#)由OtherApp(c ++)触发.
触发后,我的应用程序将占据整个屏幕并为用户提供两个选项.一个选项退出MyApp并返回到OtherApp主屏幕.第二个选项退出初始屏幕并显示另一个用户输入屏幕 - 输入后退出并返回到OtherApp.
有时候,OtherApp屏幕不会重新绘制(只能看到背景,而不能看到按钮) - 我不能轻易复制它(当我这样做时看起来像是侥幸),但我已经在很多应用程序上看到了它.
有没有办法MyApp可以强制屏幕重绘OtherApp?
可能是什么导致了这个?
澄清 - 其他应用程序不是我们的.我们的客户使用OtherApp.MyApp由filewatcher事件触发.当我们看到一个文件时,我们会处理它.如果这是我们要查找的文件,我们会为用户提供两个选项.OtherApp不知道MyApp存在.
尝试获取 OtherApp 主窗口的 hwnd 并使整个内容无效:
[DllImport("user32.dll")]
static extern bool InvalidateRect(IntPtr hWnd, IntPtr lpRect, bool bErase);
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
static void InvalidateOtherApp()
{
IntPtr hWnd = FindWindow(null, "OtherApp's Main Window's Title");
if (hWnd != IntPtr.Zero)
InvalidateRect(hWnd, IntPtr.Zero, true);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1447 次 |
| 最近记录: |