none
如何判斷同一支程式是否重複被開啟?

    問題

  • 請問如何用 vb.net 判斷得知同一支程式是否重複被開啟?

    也就是在第二次開啟的時候,就會判斷此程式已在執行中了!

    請各位幫幫忙~謝謝

    2007年8月4日 上午 04:10

所有回覆

  • 謝謝你提供的答案~

    但是跟我所提問的疑問有點不太一樣,不好意思,我再把問題說仔細一點

    假設我有一個vb.net撰寫成的主選單程式(MainMenu),然後我在主選單中點擊選項開啟 小算盤,這時如果我再次在主選單中點取開啟小算盤時,就會出現小算盤已執行中的訊息!(主選單中開啟的程式是單純的執行檔,與 vb.net 無關)

    而你所提供的方式,在我的例子中是判斷我的主選單程式(MainMenu)是否重複執行中,但是透過主選單程式(MainMenu)呼叫起來執行的小算盤,就沒有辦法了。

    請問該如何修改或是其它方法可以解答?謝謝 ~~

     

    2007年8月4日 上午 06:46
  • 提問導致網友的誤解,是提問者的責任,請先參考本版公告:張貼文章應注意事項及應提供資訊

     

    你可以使用 System.Diagnostics.Process.GetProcessesByName("calc")

     

    來看看目前小算盤有幾個。

     

    註:小算盤執行檔名為 calc.exe 。

    2007年8月4日 上午 07:12
  •  璉璉 寫信:
    提問導致網友的誤解,是提問者的責任,請先參考本版公告:張貼文章應注意事項及應提供資訊

     

    你可以使用 System.Diagnostics.Process.GetProcessesByName("calc")

     

    來看看目前小算盤有幾個。

     

    註:小算盤執行檔名為 calc.exe 。

     

    --------------------------------------------------------------------------------------------------

    以上為VB.NET的用法。

     

    如果要運用在VB6中,請問其語法又是如何呢?

     

    謝謝!

    2007年8月7日 上午 02:35
  • 樓主是問 VBNET 耶~

     

    VB6 沒有包這類,要呼叫 Windows API 。你可以參考這頁:

    http://tlcheng.twbbs.org/TLCheng/Basic/vbtlhelp.htm

     

    這個東西當時我是在 Win98 寫的,那時會傳回完整全路徑檔名,後來 Win2k 改成只傳回檔名,要改成能抓全路徑請參閱該網頁的 取得列舉模組內容 ,模組 0 就是執行檔,從這可取得全路徑。我自己懶的改那個網頁說明,在這邊補充一下。

    2007年8月7日 上午 02:44
  •  

    謝謝你的回覆!

     

    我知道樓主問的是VB.NET

     

    但看到這個標題,覺得或許以後用得到,就再詢問一次vb6的用法

     

    學海無涯...多學多問

     

    謝謝!

    2007年8月7日 上午 03:00