您的位置:首页 > 编程语言 > C#

c#避免弹出窗口获取焦点

2013-12-18 19:27 211 查看
比如我们正在编写一份文档,这时如果弹出一个窗口的话就会打断我们的操作,如何使窗口弹出时不影响用户当前的操作呢?

可以利用系统钩子,在弹出窗口前获取当前的活动窗口,弹出窗口后将活动窗口重新还原

 

[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern IntPtr GetActiveWindow();//获得当前活动窗体
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern IntPtr SetActiveWindow(IntPtr hwnd);//设置活动窗体


在弹出窗口的地方使用:

IntPtr activeForm = GetActiveWindow();//A弹出窗口前获得当前活动窗口
form.show();//要弹出的窗口
SetActiveWindow(activeForm);//B换回活动窗口


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐