關于vb.net只允許開一個的信息

vb.net如何實現(xiàn):只開啟一個exe實例打開多個txt文件?

試試看這樣行不:在應用程序設置中,勾選“生成單個實例應用程序”,然后在應用程序事件中處理這個事件

成都創(chuàng)新互聯(lián)公司致力于互聯(lián)網(wǎng)品牌建設與網(wǎng)絡營銷,包括網(wǎng)站設計、成都網(wǎng)站建設、SEO優(yōu)化、網(wǎng)絡推廣、整站優(yōu)化營銷策劃推廣、電子商務、移動互聯(lián)網(wǎng)營銷等。成都創(chuàng)新互聯(lián)公司為不同類型的客戶提供良好的互聯(lián)網(wǎng)應用定制及解決方案,成都創(chuàng)新互聯(lián)公司核心團隊十年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗,為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設服務,在網(wǎng)站建設行業(yè)內(nèi)樹立了良好口碑。

Private Sub MyApplication_StartupNextInstance(sender As Object, e As StartupNextInstanceEventArgs) Handles Me.StartupNextInstance

'這里的?e.CommandLine應該就是雙擊第二個文件時傳進來的命令行

End Sub

VB.NET編的form程序,如何操作可以搞成只能運行一個實例,也就是像微信一樣只能單開不能躲開?

在項目上右鍵,然后選擇屬性,打開如下圖所示的項目屬性對話框:

然后選擇左邊的“應用程序”標簽頁,再勾選上“生成單個實例應用程序”。

怎樣讓VB.NET做的應用程序只啟動一個實例

最簡單的方法

If UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) 0 Then End

前提是你的程序名別太普通了容易和別的進程重名就不行了

vb net只運行一個程序

方法一:通過Diagnostics.Process.GetProcessesByName函數(shù)來檢測程序是否已經(jīng)啟動

Imports System.Windows.Forms

Module Module1

Sub Main()

'檢測多重啟動

If Diagnostics.Process.GetProcessesByName( _

Diagnostics.Process.GetCurrentProcess.ProcessName).Length 1 Then

MessageBox.Show("已經(jīng)一個實例的本程序正在運行。")

Return

End If

Application.Run(New Form())

End Sub

End Module

不過這個方法有個缺點,如果用戶改了下exe的名字就檢測不到了,所以更好的方法如下

方法2:使用Mutex

Imports System.Windows.Forms

Module Module1

Sub Main()

Dim createdNew As Boolean

' 創(chuàng)建mutex

Dim mutex As System.Threading.Mutex = _

New System.Threading.Mutex(True, "YourAppName", createdNew)

If createdNew = False Then

MessageBox.Show("已經(jīng)一個實例的本程序正在運行。")

Return

End If

Application.Run(New Form())

' 釋放mutex

mutex.ReleaseMutex()

End Sub

End Module

vb.net中開一個線程,直到新窗體啟動完成

雖然你的想法是在 LoginBtn_Click 事件中將復雜的操作分離出去以減輕UI的負擔, 這很好完全沒有問題.

但是問題在于 Me.Invoke(dh)這里,若是ChkLogin里面仍然是大規(guī)模的操作呢 你的代碼就又變成將很復雜的操作扔給了UI, 當然會出現(xiàn)窗體無法拖動的情況了.

解決辦法很簡單, 很多種. 將ChkLogin()里的操作直接放在DelegateLogin()里面吧 me.invoke僅僅只是做簡單的輕量的刷新之類的操作就好了.

希望能幫上你的忙.

vb.net如下代碼只能運行一次,第二次后就沒效果了,求解?

因為你Dim lByte As Byte 沒有聲名數(shù)組,

lSWiter.WriteByte(Nothing) '這句話也是錯誤的,你把文件流給寫入空了,所以第二次運行打開文件就沒有數(shù)據(jù)了。

多調(diào)試,跟蹤數(shù)據(jù),可以多學點經(jīng)驗。

本文標題:關于vb.net只允許開一個的信息
文章源于:http://muchs.cn/article4/hjcjie.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、網(wǎng)站策劃網(wǎng)站維護、網(wǎng)站營銷、響應式網(wǎng)站、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設