如何使任意Windows窗口置顶
2009-01-16 08:55
387 查看
在论坛中看到有人问如何可以让任意Windows窗口置顶,这里其实可以使用Windows API函数SetWindowsPos做到。以下是示例代码:
示例代码演示将一个新打开的记事本程序置顶
1 [DllImport("user32.dll", SetLastError = true)]
2 public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
3
4 [DllImport("user32.dll")]
5 public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int x, int y, int cx, int cy, uint uFlags);
6
7 public static readonly IntPtr HWND_TOPMOST = new IntPtr(-1); //窗体置顶
8 public static readonly IntPtr HWND_NOTOPMOST = new IntPtr(-2); //取消窗体置顶
9 public const uint SWP_NOMOVE = 0x0002; //不调整窗体位置
10 public const uint SWP_NOSIZE = 0x0001; //不调整窗体大小
11
12 private void button1_Click(object sender, EventArgs e)
13 {
14 //找到默认的打开的记事本程序
15 IntPtr notepadHandle = FindWindow(null, "无标题 - 记事本");
16 if (notepadHandle == null || notepadHandle == IntPtr.Zero)
17 return;
18 SetWindowPos(notepadHandle, HWND_TOPMOST, 1, 1, 1, 1, SWP_NOMOVE | SWP_NOSIZE);
19 }
示例代码演示将一个新打开的记事本程序置顶
1 [DllImport("user32.dll", SetLastError = true)]
2 public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
3
4 [DllImport("user32.dll")]
5 public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int x, int y, int cx, int cy, uint uFlags);
6
7 public static readonly IntPtr HWND_TOPMOST = new IntPtr(-1); //窗体置顶
8 public static readonly IntPtr HWND_NOTOPMOST = new IntPtr(-2); //取消窗体置顶
9 public const uint SWP_NOMOVE = 0x0002; //不调整窗体位置
10 public const uint SWP_NOSIZE = 0x0001; //不调整窗体大小
11
12 private void button1_Click(object sender, EventArgs e)
13 {
14 //找到默认的打开的记事本程序
15 IntPtr notepadHandle = FindWindow(null, "无标题 - 记事本");
16 if (notepadHandle == null || notepadHandle == IntPtr.Zero)
17 return;
18 SetWindowPos(notepadHandle, HWND_TOPMOST, 1, 1, 1, 1, SWP_NOMOVE | SWP_NOSIZE);
19 }
相关文章推荐
- 如何在cmd窗口里快速且正确打开任意位置路径(各版本windows系统都适合)(图文详解)(博主推荐)
- Windows 如何为绿色软件运行时添加参数 如最小化,无窗口运行
- C# windows form如何隐藏窗口?
- [置顶] windows 窗口消息
- Windows中窗口置顶小工具
- 运行cmd /k start c:\windows ,如何让CMD窗口自动关闭?
- [置顶] 如何在Windows 7 64位安装Python,并使用Matplotlib绘图
- windows系统下如何在启动tomcat时,命令窗口关闭
- C#自动切换Windows窗口程序,如何才能调出主窗口?
- [置顶] Windows命令行窗口安装scipy失败解决方案
- goLang 如何开发 windows 窗口界面
- [置顶] linux,windows下如何使用XOWA查看离线的维基百科 XOWA 导入离线wiki
- [Windows 8小技巧]如何将任意文件固定到“开始”屏幕
- 连接移动存储设备时如何不弹出"你想让windows做什么"窗口
- 如何让SWT的窗口置顶(总在最上面)?
- windows资源文件(.rc)是如何变成窗口控件的
- C++ 和Matlab混合编程一些问题:如何让matlab不打开新的command windows窗口
- windows判断窗口是否置顶、设置取消置顶、设置前景
- Windows C++程序如何不显示黑色的 command 窗口
- Qt 调用 Windows 接口实现窗口置顶