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

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

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

Re[2]: EXEから値を渡しつつEXE起動


(過去ログ 164 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■94944 / inTopicNo.1)  EXEから値を渡しつつEXE起動
  
□投稿者/ VB.NET初心者 (1回)-(2020/06/05(Fri) 10:03:53)

分類:[VB.NET/VB2005 以降] 

VISUALBASICの2019を使用して、WindowsFormを作成しています。

タイトルにある通り、EXEからEXEを呼び出す際、呼出元で指定した値を呼び出す側へ渡したいです。
前提条件として、呼出先をDLLにして、プロパティで渡すということはできないです。(これは仕様上変更できません)

連携用のファイル書いて読むというのもありかと思うのですが、できればファイルを作らずに実行したいです。
やはりコマンドラインで渡すしかないのでしょうか
コマンドラインで渡すとして、呼出元から渡す情報が多く、配列情報等あり、こういった情報はコマンドラインで渡しきることができるのでしょうか?

引用返信 編集キー/
■94948 / inTopicNo.2)  Re[1]: EXEから値を渡しつつEXE起動
□投稿者/ 774RR (788回)-(2020/06/05(Fri) 11:18:08)
必要な情報を
- コマンドラインで渡してもいい(人間に可読な文字化が必要だけど)
- 非永続メモリマップトファイルで渡してもいい(たぶんこれが一番楽)
- パイプ類で渡してもいい
- 環境変数で渡してもいい
- 他にもいろんな手段がありそうだけど
お好みで。

エクスプローラ画面上のファイルアイコンをドラッグ・ドロップして EXE にファイルを渡すと
EXE 起動時にコマンドライン引数が使われるので、衝突しないように工夫は必要だろう。
引用返信 編集キー/
■94949 / inTopicNo.3)  Re[2]: EXEから値を渡しつつEXE起動
□投稿者/ Hongliang (1045回)-(2020/06/05(Fri) 12:38:56)
個人的に一番簡単と思うのは標準入力を使うことですかね

引用返信 編集キー/
■94950 / inTopicNo.4)  Re[1]: EXEから値を渡しつつEXE起動
□投稿者/ furu (45回)-(2020/06/05(Fri) 14:08:35)
No94944 (VB.NET初心者 さん) に返信
> コマンドラインで渡すとして、呼出元から渡す情報が多く、配列情報等あり、こういった情報はコマンドラインで渡しきることができるのでしょうか?
渡す情報が2000文字程度に収まれば大丈夫。
コマンドラインならテストしやすい。
引用返信 編集キー/
■94951 / inTopicNo.5)  Re[2]: EXEから値を渡しつつEXE起動
□投稿者/ とっちゃん (686回)-(2020/06/05(Fri) 16:15:09)
データ総量次第だと思いますが、コマンドラインよりは、入力制限がない標準入力経由かメモリマップ経由がいいと思いますよ。

標準入力なら、あらかじめテストファイルを作っておけば、
app.exe < testfile
で、データ渡せるし。

一応リファレンスのリンクも貼っておきます。

・Process.StandardInput プロパティ
https://docs.microsoft.com/ja-jp/dotnet/api/system.diagnostics.process.standardinput?view=netcore-3.1#System_Diagnostics_Process_StandardInput

・MemoryMappedFile.CreateNew メソッド
https://docs.microsoft.com/ja-jp/dotnet/api/system.io.memorymappedfiles.memorymappedfile.createnew?view=netcore-3.1#System_IO_MemoryMappedFiles_MemoryMappedFile_CreateNew_System_String_System_Int64_

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -