1、首先小编这里创建一个winform小程序,在主界面中只是放一个按钮,如下图:
2、然后程序的代码就是如下图,点击按钮然后弹出一句话,实现这样一个简单的功能,如下图:
3、生成解决方案之后,我们到程序下的Debug文件夹下,然后就会看到我们创建的程序,直接点击这里生成的exe文件之后就可以打开软件了,如下图:
4、我们点击这个exe文件,然后可以发现可以无限启动这个软件,小编这里启动了三个这个小软件,但是有的时候我们只是需要让软件启动一次怎么办呢,如下图:
5、这个时候我们需要通过编程控制一下,然后打开Program.cs文件,在这里进行编程控制,下图中是Program.cs文件中所有代码,先一睹为快,如下图:
6、接下来对Program.cs文件中的代码依次做出解释,下图中的代码主要意思是通过RunningInstance(),获取当前程序的实例进程,返回值如果台仵瑕噤存在并且不为空说明该程序已经启动,已经启动的直接返回不进行任何操作,如果返回值为空,说明该程序还没有启动,继续执行启动程序,如下图:
7、下图中程序就是获得当前运行程序进程的方法,首先获取当前程序进程,然后根据获取的当前进程名称获取所有与当前进程名称相同的进程,然后比较获取所有进程与当前进程的id,如果id不一致说明重复打梯瓣氨割开程序了,返回已存在的进程,否则返回空,如下图:
8、下图中程序就是通过传进来的进程,调用ShowWinfowAsync方法正常显示窗口,然后调用SetForegroundWinfow方法将显示的窗口置于最前端,如下图: