none
[VB 2005]如何避免程式(.exe)連開兩個以上 RRS feed

  • 問題

  •  

    各位老師好

    今天我的問題如題

    如何可以使我寫好的程式.只能開一次

     

    謝謝各位老師

    2008年4月7日 上午 06:36

解答

  • VB2005好像下面這選項勾起來即可

    專案=>屬性=>應用程式=>建立單一執行個體應用程式

    2008年4月7日 上午 07:39

所有回覆

  • 方法一

     

    Code Snippet

     Just add that piece of code (here in C#) in your main method (you need to
    include the System.Diagnostic namespace) :
    Process currentProcess = Process.GetCurrentProcess();

    Process [] allProcesses =
    Process.GetProcessesByName(currentProcess.ProcessN ame);


    if (allProcesses.Length > 1)

    {

    MessageBox.Show(currentProcess.ProcessName + " is already running !",
    currentProcess.ProcessName, MessageBoxButtons.OK, MessageBoxIcon.Error);

    }

    else

    {

    //do your stuff here

    }

     

     

     

    方法二

     

    Code Snippet

    In the VB.NET application:

    \\\
    Imports System.Threading
    ..
    ..
    ..
    Dim m As Mutex = _
    New Mutex(False, "{11C92606-65D9-4df2-9AEA-B6A4DA91BCE2}")
    If m.WaitOne(10, False) Then
    Application.Run(New Form1())
    m.ReleaseMutex()
    Else
    MessageBox.Show("Application already running!")
    End If
    ///

     

     

    2008年4月7日 上午 07:34
  • VB2005好像下面這選項勾起來即可

    專案=>屬性=>應用程式=>建立單一執行個體應用程式

    2008年4月7日 上午 07:39
  • 請問cmf大大

    方法2那些東西

    我應該寫在程式的哪邊

     

    謝謝

    2008年4月7日 上午 07:39
  • 蹂躪  方法 優  免寫程式碼

    2008年4月7日 上午 07:41
  •  

    謝謝蹂躪大大

    剛試過可以了

    2008年4月7日 上午 07:45
  • 非以 Form 為起始的專案,或是因為需要必須改用 Sub Main 的專案:

    [VB2005]在 Sub Main 的 Console 或 Window 應用程式限定為單一執行個體應用程式

    http://tlcheng.spaces.live.com/blog/cns!145419920BFD55A7!2431.entry

     

    註:此範例包含 Command Line 的轉移,例如註冊附檔名後的軟體。

     

    2008年4月8日 上午 05:33
    版主