C# 在判断是否是二次启动程序时候,如果程序已经启动,怎么显示那个程序的主窗口呢

C# 在判断是否是二次启动程序时候,如果程序已经启动,怎么显示那个程序的主窗口呢,第1张

可以用API函数查找并显示这个窗体,如下

把ShowWindow的第二个参数换成SW_SHOW(显示隐藏的窗体)就行了,如下

using System

using System.Collections.Generic

using System.Windows.Forms

using System.Runtime.InteropServices

namespace SolveQuestion

{

static class Program

{

/// <summary>

/// 应用程序的主入口袭谈点。

/// </summary>

[STAThread]

static void Main()

{

Application.EnableVisualStyles()

Application.SetCompatibleTextRenderingDefault(false)

bool createdNew = false

System.Threading.Mutex mutex = new System.Threading.Mutex(true, "Form15", out createdNew)//Form1为窗体标题,芦穗最好起一个不会和别的程序重名的标题

if (!createdNew)

{

ShowWindow(FindWindow(null, "陪禅卜Form15"), SW_SHOW)

}

else

{

Application.Run(new Form15())

mutex.ReleaseMutex()

}

}

public const int SW_SHOW = 5

private const int SW_NORMAL = 1

[DllImport("user32.dll")]

public static extern int ShowWindow(IntPtr hwnd, int nCmdShow)

[DllImport("user32.dll")]

private static extern IntPtr FindWindow(string lpClassName, string lpWindowName)

}

}

在windows上的程序不一定要有界面才是程序,如果你windows系统里后台运行的程序在桌面右下角的任务栏里有该程序就可以点击打开界面,如果没有,则是于一个进程(一个进程也称为程序)在windows平台上运行,这时是没有任何如喊友界面的程序,有界面的程序是一个编程者编出来的界面,不渣槐是任何渗告程序都是有界面的,在windows系统的平台上,只有打开任务管理器即可看到整个平台所进行的进程(包括后台)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12300601.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存