C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 35 を表示中)
■17088 / )  Re[8]: コンソールアプリケーションでメッセージボックスを出すには
□投稿者/ ぽぴ王子 (354回)-(2008/04/16(Wed) 15:24:51)
ぽぴ王子 さんの Web サイト
No17083 (ミケ さん) に返信

> at 14:22 /interactive "○○.exe" /k
> +
> Console.WriteLine("終了しました。閉じてください")'----■方法3
>
> を実行してみましたが、コマンドプロンプトは一瞬しか出てくれませんでした。
> 指定方法が間違っておりますでしょうか。。。?

これだと Console.WriteLine でコンソールに出力して、出力を待たずに
終了してしまいますよね。なので一瞬しか出なくて正解です。
MessageBox.Show を使って一旦処理を止めないといけなくて、そうすると
自動実行ではインタラクティブに表示することは無理だ!じゃあ at コマンド
に /interactive オプションをつけるしか…!
という流れだったはずです。

で、/interactive スイッチをつけなければ、メッセージボックスを表示させる
といったインタラクティブな、ユーザーの操作を必要とするような処理はできない
わけで、API を利用しても無理と書いたのはそのためです。

逆に言えば、/interactive スイッチをつければできると思います。


> コンソールファイルはウィンドウを持たないので、そのままメッセージを出せないが、開いている画面(Access)
> のWindowの番号をFindWindowで指定すると、Accessからメッセージが上がったように見える、という理解は
> 間違っておりますでしょうか。

うーん、Access からメッセージが上がったように見えるというか、Access を
親としてメッセージボックスを出したい、ということですね。
まぁなんとかできるとは思いますが、あまりお勧めはしないかなぁ。

仕様的にどうかという点では774RRさんに同意です。どちらかといえば Access
内部でなんとかすべき話のような気もするし。VBA とかで。


あとは /interactive スイッチをつけてインタラクティブに表示させるなら
コンソールアプリケーションじゃなくて、普通のウィンドウアプリケーションに
するのがいいかも、と思います。
…っとフォームを出さずに実行させるのって VB だとどうするんだっけ。
なんか調べてみたけどよくわかんなかったです。
ウィンドウアプリケーションにして、ウィンドウを出さずに動作させれば
コマンドプロンプトも表示されなくて(゚Д゚)ウマーだと思ったんだけど。
返信 編集キー/


管理者用

- Child Tree -