这是问题所在。在我们的计划中,我们有一个附加组件(机器视觉),客户可以自己编辑。我们在VB.NET 2010中为这个附加组件提供了一个模板。然后他们复制这个模板并重命名它(他们喜欢的任何东西),并编辑一些东西..问题是我想限制客户一次打开此模板的多个副本。
显然我选择了单个实例,但由于它们实际上是不同的程序,这只会阻止它们两次打开相同的模板。我的第一个想法是,我可以更改进程名称并在程序集名称前放置一些通用名称(myCompany - ),但我认为这不可行。我想知道是否有人知道另一种方法来检查这个程序是否开放。显然,我们可以编辑我们的模板,在模板的所有副本中放置一些东西(可以检查),但我想不出任何可用的东西。
答案 0 :(得分:1)
我无法理解您为什么要阻止模板多次显示。我从来没有尝试过这样的东西,但我会尝试使用System.Diagnostics.Process.Kill,并杀死该程序的任何新实例。所以你需要你的程序监视进程名称是否多次启动,并终止每次启动但是第一次启动。
答案 1 :(得分:0)
感谢所有评论。我今天早上才开始工作。这更像是一件混乱的事情。视觉程序(模板)连接到硬件相机。该相机只能连接一次,因此当第二个模板打开时,它会打开并显示错误。
我提出的修复是这样的 - 客户将所有这些文件夹放在Vision文件夹中,并被指示将文件夹命名为与程序集或进程名称相同的名称,因此我只是在文件夹中搜索并将杀死如果已经有一个打开任何文件夹名称的程序,则启动表单。也许有点混乱,但它是有效的。