• 締切済み

VB.NET2003 コンソールアプリとウインドウズアプリの各々単独で

VB.NET2003 コンソールアプリとウインドウズアプリの各々単独では動いています。それをボタンークリックで各々を動かしたいのですがうまくいきません。教えてください。

みんなの回答

  • MRT1452
  • ベストアンサー率42% (1391/3293)
回答No.2

こちらは質問内容から、 2つの単体プログラム(exeファイル)があり、それをボタン操作で起動したいという意味に捉えました。 そのため、それらを呼出すためのトップメニューに当たる画面を儲け、そこから、それぞれのexeをShellで呼出すというのが浮かんだので。 もしその形であれば、Shellは 単純に Shell("プログラムパス") で外部プログラムの呼出しができます。 (オプション指定等で、最小化で起動等も可能) Private Sub Button_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Button.Click [前処理] Shell("プログラムパス") [後処理] End Sub ただ、返答頂いた感じでは、ちょっと違うようですね。 しかし、ボタンを設置したから回避できるというような話でも無いかと。 単に一連の処理を直接行うか間接的に行うかの違いなので。 プログラミング時のエラー発生の場合は、単純に記述方法が適切で無いということなので。 不具合部が明確にでているのであれば、何が問題になっているかというのは、その部分にカーソルを合わせれば表示されるので、それを元に解決法を検索掛けてみるとか、色々と調べようがあるかと。 また、VB.Netのグラフィック系(特にペイントイベント)は、ややこしかった気がします。 (描画タイミング等がかなりシビアだったかと。描画の仕方によっては、一時的な描画で、他のウィンドウが上に重なったりすると消えてしまう等上手くいかないことが多い) paintイベント自体FormLoad等と同じで、対象のオブジェクトの描画に変化が有ったときに勝手に始まるイベントだったと思うので。 対象のオブジェクトでrefreshメソッドを実行することで意図的にペイントイベントを発動させることもできますし。 流れ的には コンソールでカラーデータのテキストを出力。  ↓ 出力されたテキストデータを読み込む  ↓ 読み込んだデータを元にカラーをセット  ↓ グラフィックの再描画 という感じになるんじゃないかな。 今回の質問だと、これを単にボタンで分けるか、一連で流すかという話なので。 エラーの根本的解決にはならないかと。 とりあえずは、何が原因でエラーとなっているのか。そこの調査からだと思います。

okuikufu
質問者

お礼

丁寧なご回答を頂きまことに感謝しております。早速 *.exe を Shell で実行したところ WithEvents 云々とメッセージが出ていろいろ調べましたが今の能力では解決できませんでした。意図していることの流れとしては正にご指摘の通りでほかにいろいろ当たってみたところ一応以下のように納得しています。 module    (コンソールの実行) ’まだ設定していませんが Dim f As New Form f.ShowDialog() End module あとフォームでの実行はできています。またご指摘にもありましたが Paint は .NET のウィンドウがかかると消える現象がありますが今は見過ごして、今回の質問・回答期限は一応終えさせて頂きます。 この後の問題として悩んでいるのは「呼び出したフォームを消したい」と f.Dispose() やpplication.Exit 等試みていますがうまくいきません。フォーム右上の ’X’ をクリックして消すとモジュールに戻りプロジェクトは無事に終えますが、なんとかプログラム的に消す方法をご教授頂けないでしょうか。今までのアドバイスを感謝して、引き続きよろしくお願い申しあげます。

  • MRT1452
  • ベストアンサー率42% (1391/3293)
回答No.1

単にShell等の起動系コマンド発行する画面作れば良いだけでは?

okuikufu
質問者

お礼

 早速のご返事をまことにありがたくぞんじます! が、感覚は分かりますが初心者で具体的方法がまったくわかりません。少し私の目的を説明させてもらいます。まずコンソールアプリでつくったデータをテキストファイルとしてセーブして、それを、 Sub Form1_Paint(.・・・) Handles MyBase.Paint   ・・・   Dim g As Graphics = e.Graphics   ・・・ End Sub で読み出しフォーム上でカラー表示しています。イベントープローシージャ的だとエラーや波線が生じてどうしても実行できません。ご指摘の 「Shell等・起動系コンド・発行」という具体的な書き方が分かりません。お手数ですが、サンプルをお示し頂けないでしょうか。よろしくお願い致します。

関連するQ&A