人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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


具体的にしたいこと

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

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

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

よろしくお願いします。

●質問者: islayw
●カテゴリ:コンピュータ
✍キーワード:exe Hello MESSAGE VB2008 コマンドプロンプト
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● SALINGER
●35ポイント

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

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

◎質問者からの返答

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

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

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

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


2 ● SALINGER
●100ポイント ベストアンサー

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

既に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#の実行環境しかないので試していませんが、これでいけると思います。

◎質問者からの返答

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ