![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
ネット接続と「単一インスタンスのアプリケーションを作成する」設定について
(VB2008EEです)
プロジェクトの設定(「アプリケーション」の項)で、
「単一インスタンスのアプリケーションを作成する」にチェックを入れたら、
実行(デバッグ実行ではなく、ビルドして作成されたexe実行)時に、
ウイルスバスター2010が、以下のように、
「プログラムがインターネットからデータを通信するのをブロックしました。」
とのメッセージを表示するようになりました。
プログラム自体は、通信などは全く行わないものであり、
また、上記プロジェクト設定をしなければ、メッセージが出ません。
これはどのように理解したらよいのでしょうか。
何か他に設定が必要なのでしょうか。
それともウイルスバスターがアホなのでしょうか。
それとも上記プロジェクト設定をする限りやむを得ないものなのでしょうか。
お分かりの方がいらっしゃったら教えてください。
なお、ウイルスバスターの添付メッセージ画面で、通信を許可しても
拒否しても、問題なく単一動作してます。
![「ネット接続と「単一インスタンスのアプリケ」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/d/20816379_5497beb0d783c/M.jpg)
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんばんは。
推測でしかないですが。
「単一インスタンスのアプリケーションを作成する」のチェックを入れると、VB2008によって、あらかじめ用意されている、多重起動をチェックするためプログラムが組み込まれることになると思うのですが、そのコード内において、ソケット通信を行うようなコードが実行されてしまっているのかもしれません。
Windowsにおいて、多重起動のチェックは、自分と同じ名前のプロセスを探すとか、自分と同じクラスIDのウィンドウを探すとか、プロセス間通信のたぐいのことをします。.NET Frameworkでは、プロセス間通信のたぐいのことは、.NETリモーティング という機構として、まとめられており、その機構のなかには、ソケット通信による外部ノードとのリモーティングも含まれています。同一ノードで完結するような処理であるはずなのに、上で書いた「あらかじめ用意されている」プログラムにおいて、もしかしたら、ソケット通信を行うコードが含まれているのかもしれない、というのを、若干、苦しいですが、ひとつの仮定の材料にしましょう。。。。
これをふまえて、以下の2つが解決のヒントになると思います。
1.実行前と実行後のポートの状況を比較して、ポート番号から何の処理をしようとしているか推測する
実行前に、コマンドプロンプトから netstat /a で実行前のポートの状況をメモしておき、ウィルスバスターの警告で通信を許可して実行し、その状態での netstat /a と、実行前の結果を比較すれば、どのポートで通信をしようとしているのかわかります。ポート番号で検索してみれば、実行しようとしている処理が何かわかるかもしれません。
2.多重起動のチェックを自前で実装する
アプリケーションの起動時にすでに同一のプログラムが起動しているかチェックして、起動していれば、プログラムを終了させる、というコードを自前で書く方法もあります。
以下のURLが詳しいです。
http://dobon.net/vb/dotnet/process/checkprevinst …
これらの実装をしてみても、ウィルスバスターが警告を出すのならば、ウィルスバスター的に危険な処理ということなのでしょう。:-)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- 画像編集・動画編集・音楽編集 AfterEffectでのシャターの挙動がおかしい 1 2023/05/07 00:38
- グループウェア Macでオープンオフィスが開きません 1 2023/01/14 14:22
- サーバー 接続・ログインはできているのにメールが送信できない 2 2022/06/27 15:03
- プリンタ・スキャナー 「用紙が違う」メッセージが頻発 4 2022/08/22 08:30
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- Evernote Evernoteの操作 1 2023/07/24 17:17
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Visual Studio 「AnyCpu」について
-
excel vbaから実行するexe実行...
-
Windows PowerShellでC言語を実...
-
「読み込み違反」が起きたとき...
-
ActiveDirectoryから値を取得
-
VB2005 Vistaで印刷ができません
-
VC++のCOMのデバッグ方法について
-
MFCと.NETFramework
-
mscorlib.dllの初回例外について
-
C#VB、exeに埋め込んだexeの実行
-
VBコンソールアプリケーション...
-
他人のプログラムを実行すると...
-
system関数(Windows)の戻り値!!
-
ACCESSランタイムでエラー
-
visual c++ 2008 にてhello wo...
-
実行ファイル(.exe)が別のPC...
-
C++初心者です。 debug asserti...
-
androidで.exeを実行できますか?
-
一通ずつ処理したい(アウトル...
-
Designer.vbは直接コードをいじ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「読み込み違反」が起きたとき...
-
Visual Studio 「AnyCpu」について
-
Windows PowerShellでC言語を実...
-
excel vbaから実行するexe実行...
-
実行ファイル(.exe)が別のPC...
-
C++初心者です。 debug asserti...
-
Format 関数のバグ?
-
C#VB、exeに埋め込んだexeの実行
-
VisualStudioでC#が実行できない
-
VB6.0 exe作成時に実行時エラー...
-
Pythonのコードをexe化
-
shell関数には二重引用符を渡せ...
-
ActiveDirectoryから値を取得
-
mscorlib.dllの初回例外について
-
ActiveX → VB を起動するとCre...
-
androidで.exeを実行できますか?
-
外部exe呼び出しの方法 ShellEx...
-
VBがデバッグ時落ちてしまう
-
Eclipse CDT MinGWによるC言語
-
ACCESSランタイムでエラー
おすすめ情報