700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C#:将另一个应用程序的主窗口移至屏幕最前

C#:将另一个应用程序的主窗口移至屏幕最前

时间:2018-10-20 23:56:57

相关推荐

C#:将另一个应用程序的主窗口移至屏幕最前

独角兽企业重金招聘Python工程师标准>>>

使用WindowsAPI函数SwitchToThisWindow,可以将指定窗口移动到屏幕最前。

如果要将另一个应用程序的窗口移动到最前,只需要找到该窗口的句柄,再调用SwitchToThisWindow函数即可。可通过遍历进程的方式找到该窗口主窗体的句柄。

建立一个C#写的Windows窗体应用程序,里面放一个TextBox用来写进程名,一个Button用来触发窗口置顶操作。

代码如下:

using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Diagnostics;using System.Drawing;using System.Linq;using System.Runtime.InteropServices;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace TopWindowTest{public partial class FormMain : Form{public FormMain(){InitializeComponent();}[DllImport("user32.dll", CharSet = CharSet.Auto)]public static extern bool SwitchToThisWindow(IntPtr hWnd, bool fAltTab);/// <summary>/// 置顶/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnTop_Click(object sender, EventArgs e){//找到指定的进程string processName = this.txtProcessName.Text;bool hasFound = false;Process processInfo = null;foreach (Process process in Process.GetProcesses()){if (process.ProcessName == processName){processInfo = process;hasFound = true;break;}}if (!hasFound){MessageBox.Show("未找到指定进程");return;}//移动到最前SwitchToThisWindow(processInfo.MainWindowHandle, true);}}}

程序运行结果如下,在文本框中输入calc后点击置顶按钮,计算器程序便会被移至屏幕最前:

DEMO程序下载地址:/s/1mimkCIG

END

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。