How-to 單一執行個體的裝置應用程式(CE)

一般PC的應用程式在專案屬性中就有一個樣目可以勾選目前這個應用程式是不是"只能夠執行一次",而到了裝置專案中,卻沒有這個項目可以用,那麼該怎麼辦呢?

首先是一些參考資料,下面提到的解決方式也是利用搜尋來的;利用"PrevInstance"的關鍵字到MSDN上去搜尋就會有很多資料可以參考了,相關網址是這邊 http://social.msdn.microsoft.com/Search/zh-TW/?query=PrevInstance&addEnglish=1&ac=3

再來我們看看解決方式,首先再專案屬性中的"起始物件"我們要設定成"Sub Main",之後新增一個模組,模組內要包含Sub Main這個"方法"喔,之後利用下面程式碼的方式就可以了(這邊說明以VB為主,用C#的朋友請自行轉換一下)


Declare Function FindWindow Lib "coredll.dll" (ByVal className As Char(), ByVal WindowsName As Char()) As Integer
Declare Function 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

留言

這個網誌中的熱門文章

開啟cshtml檔案時,出現『並未將物件參考設定為物件執行個體』的錯誤訊息

無法設定中斷點 尚未載入符號檔

DataGridView欄位計算總合