-2

これが問題です。私たちのプログラムには、お客様が自分で編集できるアドオン (マシン ビジョン) があります。VB.NET 2010 でこのアドオンのテンプレートを提供しています。次に、このテンプレートをコピーして名前を変更し (任意の名前に)、いくつか編集します。問題は、顧客を制限したいことです。このテンプレートの複数のコピーを一度に開く。

明らかに単一のインスタンスを選択しましたが、これらは実際には異なるプログラムであるため、同じテンプレートを 2 回開くのを防ぐだけです。私の最初の考えは、プロセス名を変更して、アセンブリ名の前に一般的なもの (myCompany - ) を配置できるということでしたが、それは可能ではないと思います。このプログラムが開いていることを確認する別の方法を誰かが知っているかどうか疑問に思っていました. 明らかに、テンプレートを編集して、テンプレートのすべてのコピーに何かを配置することができます (これはチェックできます) が、利用できるものは何も思いつきません。

4

2 に答える 2

1

テンプレートが複数回表示されないようにする理由がわかりません。私はこのようなことを試したことはありませんが、System.Diagnostics.Process.Kill を使用して、プログラムの新しいインスタンスを強制終了してみます。したがって、プロセス名が複数回起動されたかどうかを監視し、最初の起動を除くすべての起動を終了するプログラムが必要になります。

于 2013-04-19T00:21:05.623 に答える
0

すべてのコメントをありがとう。私は実際に今朝これを機能させました。それはもっと雑然としたものです。ビジョン プログラム (テンプレート) は、ハードウェア カメラに接続します。そのカメラは 1 回しか接続できないため、2 番目のテンプレートを開くとエラーが発生します。

私が思いついた修正はこれです-顧客はこれらすべてのフォルダーをVisionフォルダー内に置き、フォルダーにアセンブリまたはプロセス名と同じ名前を付けるように指示されたので、フォルダーを検索して起動を強制終了しますフォルダー名のいずれかが開いているプログラムが既に存在する場合は、フォーム。少し面倒かもしれませんが、うまくいきました。

于 2013-04-19T16:09:11.120 に答える