方法一:通過(guò)Diagnostics.Process.GetProcessesByName函數(shù)來(lái)檢測(cè)程序是否已經(jīng)啟動(dòng)
建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁(yè)設(shè)計(jì)師等,應(yīng)用各種網(wǎng)絡(luò)程序開(kāi)發(fā)技術(shù)和網(wǎng)頁(yè)設(shè)計(jì)技術(shù)配合操作的協(xié)同工作。成都創(chuàng)新互聯(lián)專業(yè)提供做網(wǎng)站、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站制作(企業(yè)站、響應(yīng)式網(wǎng)站設(shè)計(jì)、電商門(mén)戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗(yàn)的提升,我們力求做到極致!
Imports System.Windows.Forms
Module Module1
Sub Main()
'檢測(cè)多重啟動(dòng)
If Diagnostics.Process.GetProcessesByName( _
Diagnostics.Process.GetCurrentProcess.ProcessName).Length 1 Then
MessageBox.Show("已經(jīng)一個(gè)實(shí)例的本程序正在運(yùn)行。")
Return
End If
Application.Run(New Form())
End Sub
End Module
不過(guò)這個(gè)方法有個(gè)缺點(diǎn),如果用戶改了下exe的名字就檢測(cè)不到了,所以更好的方法如下
方法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)一個(gè)實(shí)例的本程序正在運(yùn)行。")
Return
End If
Application.Run(New Form())
' 釋放mutex
mutex.ReleaseMutex()
End Sub
End Module
假如指定的lisp程序存入"e:\abcd.lsp",其中有函數(shù)gczd4-1帶有三個(gè)參數(shù)即(gczd4-1 X1 X2 X3)和命令cc,則VB.NET調(diào)用程序如下:
Dim AcadApp As Object
Dim AcadDoc As Object
AcadApp = GetObject(, "AutoCAD.Application")
AcadDoc = AcadApp.ActiveDocument
AcadDoc.SendCommand("(load " Chr(34) "e:\\abcd.lsp" Chr(34) ") ")
AcadDoc.SendCommand("(gczd4-1 " Chr(34) X1 Chr(34) Chr(34) X2 Chr(34) Chr(34) X3 Chr(34) ") ")
AcadDoc.SendCommand("(c:cc) ")
AcadDoc = Nothing
AcadApp = Nothing
首先你要知道vb和vb.net是完全不同的。
vb6.0(vb最后的一款編譯器)編譯的軟件只要沒(méi)有用到外在的ocx控件則可以在windows下順利運(yùn)行,否則需要把ocx控件也安裝到對(duì)方電腦中。
vb.net則需要安裝.net
framework(相當(dāng)與安裝虛擬機(jī)),否則無(wú)法運(yùn)行。
20006年以后的vista都默認(rèn)安裝了.net
framework的。
MSI 不是可執(zhí)行程序呀
這么運(yùn)行: msiexec accessrt.msi
具體你應(yīng)該知道怎么弄吧.
不行, fileopen是用來(lái)打開(kāi)、讀取或創(chuàng)建文件的,主要是文本類的文件。
應(yīng)該用shell方法,如:
Shell("D:\mypath\abc.exe")
注意各種參數(shù)的設(shè)置,詳查msdn