要用到u32的dll来打开任务栏的窗体,通过窗口句柄来弹窗
[DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
static extern bool ShowWindow(IntPtr hWnd, uint nCmdShow);
[DllImport("user32.dll", EntryPoint = "SetForegroundWindow")]
static extern bool SetForegroundWindow(IntPtr hWnd);
//通过Process来获取到所有在运行的进程
Process[] MyProcesses = Process.GetProcesses();
foreach (Process MyProcess in MyProcesses) //循环遍历获取到的每一个进程资源
{
//var version = MyProcess.MainModule.FileVersionInfo.FileVersion;
foreach (var item in _ip)
{
Match mat = Regex.Match(MyProcess.MainWindowTitle, @"[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"); //通过正则表达式来获取字符串中的ip地址
if (mat.Value != "")
{
if (mat.Value.Equals(item)) //对应自己的ip
{
try
{
var sss = MyProcess.MainWindowHandle; //获取窗口句柄
ShowWindow(sss, 1); //弹窗显示
SetForegroundWindow(sss);
}
catch (Exception)
{
continue;
}
}
}
}
}