2013-04-18 158 views
-2

問題出在這裏。在我們的程序中,我們有一個客戶可以自己編輯的附加組件(機器視覺)。我們在VB.NET 2010中爲此附加組件提供了一個模板。然後,他們複製此模板並將其重命名爲(無論他們喜歡什麼),並編輯幾件事情。問題是我想限制客戶一次打開此模板的多個副本。停止一次運行多個程序

顯然我選擇了單個實例,但由於它們實際上是不同的程序,所以這隻會阻止它們打開兩次相同的模板。我的第一個想法是,我可以更改進程名稱並在程序集名稱前放置一些通用的(myCompany - ),但我認爲這不可能。我想知道是否有人知道另一種方法來檢查這個程序是否打開。很顯然,我們可以編輯我們的模板,以便在模板的所有副本中放置一些東西(可以檢查),但我想不出任何可用的東西。

+0

爲什麼你想限制客戶打開多個模板副本? – jsedano

+0

這是Microsoft Office的加載項嗎?還是對於Visual Studio?或者是其他東西?我真的不知道你的意思是「模板」。用戶如何打開它?它是否包含啓動時運行的任何代碼?我會建議使用信號燈或其他類型的鎖。 –

回答

1

我不明白你爲什麼要防止模板被顯示多次。我從來沒有嘗試過這樣的事情,但我會嘗試使用System.Diagnostics.Process.Kill,並殺死程序的任何新實例。因此,您需要使用程序來監視進程名稱是否不止一次啓動,並終止每次啓動,但第一次啓動。

0

感謝您的所有意見。我其實今天早上剛剛開始工作。這更多的是一個混亂的東西。視覺程序(模板)連接到硬件攝像頭。該相機只能連接一次,因此第二個模板打開時會打開並顯示錯誤。

我提出的修正是這樣的 - 顧客把所有這些文件夾放在一個Vision文件夾中,並且指示將該文件夾命名爲與程序集或進程名稱相同的名稱,所以我只是在文件夾中搜索並且將如果已經有一個打開了任何文件夾名稱的程序,則停止表單的啓動。也許有點混亂,但它是有用的。