我开发了一个Windows应用程序。每隔5分钟,窗口右下方会显示一个通知表单。如果我在处理notepad / excel时打开通知表单,焦点会自动转移到Windows窗体。我想阻止这种形式的焦点。有没有解决方案?
答案 0 :(得分:0)
以下代码工作正常..谢谢大家..
[的DllImport( “User32.dll中”)] public extern static int ShowWindow(IntPtr hWnd,Int32 cmdShow);
const Int32 SW_SHOWNOACTIVATE = 4;
const Int32 SWP_NOACTIVATE = 0x0010;
const Int32 HWND_TOPMOST = -1;
[DllImport("User32.dll")]
public extern static bool SetWindowPos(
IntPtr hWnd, // handle to window
Int32 hWndInsertAfter, // placement-order handle
Int32 X, // horizontal position
Int32 Y, // vertical position
Int32 cx, // width
Int32 cy, // height
Int32 uFlags // window-positioning options
);
当您显示弹出窗口时调用以下方法:
ShowWindow(this.Handle,SW_SHOWNOACTIVATE);