一般PC的应用程序在项目属性中就有一个样目可以勾选目前这个应用程序是不是"只能够执行一次",而到了设备项目中,却没有这个项目可以用,那么该怎么办呢?
一般PC的应用程序在项目属性中就有一个样目可以勾选目前这个应用程序是不是"只能够执行一次",而到了设备项目中,却没有这个项目可以用,那么该怎么办呢?
首先是一些参考数据,下面提到的解决方式也是利用搜寻来的;利用"PrevInstance"的关键字到MSDN上去搜寻就会有很多数据可以参考了,相关网址是这边 http://social.msdn.microsoft.com/Search/zh-TW/?query=PrevInstance&addEnglish=1&ac=3
再来我们看看解决方式,首先再项目属性中的"起始对象"我们要设定成"Sub Main",之后新增一个模块,模块内要包含Sub Main这个"方法"喔,之后利用下面程序的方式就可以了(这边说明以VB为主,用C#的朋友请自行转换一下)
Declare 函数 FindWindow Lib "coredll.dll" (ByVal className As Char(), ByVal WindowsName As Char()) As Integer
Declare 函数 SetForegroundWindow Lib "coredll.dll" (ByVal hwnd As Integer) As Boolean
Public Sub Main()
Dim hWnd As Integer
hWnd = FindWindow(Nothing, "你的应用程序标题名称".ToCharArray)
If hWnd <> 0 Then
SetForegroundWindow(hWnd)
Application.Exit()
Exit Sub
Else
Application.Run(New Form1)
End If
End Sub
原文:大专栏 How-to 单一执行个体的设备应用程序(CE)