VB2008を使っています。

テキストボックスとボタンが配置されたフォームがあり、ボタンを押すとテキストボックスに入力されている文字をメッセージボックスに表示するプログラムを作りました。
このプログラムを改良して、メッセージボックスに表示する内容をコマンドラインのパラメータでも指定できるようにしたいのですが、どのようにしたら良いでしょう?


具体的にしたいこと

・hello.exeを立ち上げると、フォームが表示される。ボタンを押すと、テキストボックスに入力された文字をメッセージボックスに表示する。

・フォームが表示されている状態で、コマンドプロンプトで
hello.exe message
と入力すると、「message」とメッセージボックスに表示する。

多重起動にならないようにしたいです。

よろしくお願いします。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2009/10/25 22:32:09
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:SALINGER No.2

回答回数3454ベストアンサー獲得回数969

ポイント100pt

失礼しました。勘違いしていたようです。

既にhello.exeが起動していて、hello.exeにコマンドラインを与えて再度実行すると最初にコマンドラインが渡るということですね。


調べるとそのものずばりがありました。

http://dobon.net/vb/dotnet/process/checkprevinstance.html

ここの最後の方の「後で起動されたアプリケーションのコマンドライン引数を取得する」です。


My.Application.StartupNextInstanceイベントを使って2重起動を取得し、後の方のコマンドラインを取得した後に後の方を閉じればいいわけです。

http://msdn.microsoft.com/ja-jp/library/b9z4eyh8.aspx


当方、C#の実行環境しかないので試していませんが、これでいけると思います。

id:islayw

どうもありがとうございます!

やりたいことができました。

2009/10/25 22:31:32

その他の回答1件)

id:SALINGER No.1

回答回数3454ベストアンサー獲得回数969

ポイント35pt

System.Environment.CommandLineで取得できますよ。

http://msdn.microsoft.com/ja-jp/library/system.environment.comma...

id:islayw

どうもありがとうございます。

パラメタを取得できることを確認しました。

System.Environment.CommandLineの記述位置も示していただけるとありがたいです。

また、フォームが表示されている状態で、コマンドプロンプトからhello.exeとすると、多重起動になってしまいます。

2009/10/25 18:49:54
id:SALINGER No.2

回答回数3454ベストアンサー獲得回数969ここでベストアンサー

ポイント100pt

失礼しました。勘違いしていたようです。

既にhello.exeが起動していて、hello.exeにコマンドラインを与えて再度実行すると最初にコマンドラインが渡るということですね。


調べるとそのものずばりがありました。

http://dobon.net/vb/dotnet/process/checkprevinstance.html

ここの最後の方の「後で起動されたアプリケーションのコマンドライン引数を取得する」です。


My.Application.StartupNextInstanceイベントを使って2重起動を取得し、後の方のコマンドラインを取得した後に後の方を閉じればいいわけです。

http://msdn.microsoft.com/ja-jp/library/b9z4eyh8.aspx


当方、C#の実行環境しかないので試していませんが、これでいけると思います。

id:islayw

どうもありがとうございます!

やりたいことができました。

2009/10/25 22:31:32

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません