VB.net 2003を使用しています。
テキストボックス2つとコマンドボタンが1つある画面(exe)があります。コマンドボタンを押すと引き値を今作成しているプログラム(exe)に送るプログラムがあるのですが、引き値の受け取り方法がわかりません。
検索などで調べたところコマンドラインなどを使用すればよいことがわかったのですが、使用方法がよくわかりません。
http://dobon.net/vb/dotnet/programing/commandlin …
上記のサイトを参考に見ているのですが、System.Environment.CommandLineで引き値を取り出すexeを指定しているのではないのでしょうか?メッセージボックスなどで値を調べたところ引き値を受け取るexe(このコードが書いてあるexe)が指定されているみたいなのですが、引き値を取り出すexeの指定はどこで行っているのでしょうか?
ちなみにテキストボックス2つとコマンドボタンが1つある画面(exe)は他の人が作成しており、VBでは作成されていません。
どうか回答お願い致します。
No.3ベストアンサー
- 回答日時:
今作成しているプログラム(exe)で、GetCommandLineArgs を使って渡された引数を起動されたプログラムから利用できます。
>引き値を取り出すexeを指定しているのではないのでしょうか?
コマンドラインには、起動されたプログラム自体のファイル名が含まれます。
>引き値を取り出すexeの指定はどこで行っているのでしょうか?
強いて言うなら、そのプログラムを起動しようとしたプログラムでしょう。起動されるプログラムはそれ自体なので、考える必要はないと思います。
回答ありがとうございます。
自分の中でどこかで指定を行っていると勘違いしていました。
とてもわかりやすい説明ありがとうございます。
No.4
- 回答日時:
何か勘違いをされているようですね。
(1)a.exe
sub main()
shell "b.exe hello"
end sub
(2)b.exe
sub main
Dim cmds() As String
cmds = System.Environment.GetCommandLineArgs()
Dim cmd As String
For Each cmd In cmds
Console.WriteLine(cmd)
Next
end sub
ここでa.exeを実行するとコンソールに
"a.exe"
"hello"
と表示されます。
つまり外部モジュールを起動するshell関数実行時にb.exe内の空間に引数が強制的に渡されるということです。ですからb.exeからa.exeを認識する必要もなくどこから呼ばれたかは関係なく与えられた引数にしたがって処理されるということです。
No.2
- 回答日時:
???
引き値を取り出すexe、引き値を受け取るexeとは何でしょう。
コマンドライン引数はexeを起動する際に、起動側のexeに渡す引数ですよね。呼ぶ側と呼ばれる側のプライベートなやり取りですので、他のexeが認識できるものではないと思いますが・・・
回答ありがとうございます。
>コマンドライン引数はexeを起動する際に、起動側のexeに渡す引数ですよね。呼ぶ側と呼ばれる側のプライベートなやり取りですので、他のexeが認識できるものではないと思いますが・・
それは知りませんでした。ということは
URL内の
'コマンドライン引数の表示
Console.WriteLine(System.Environment.CommandLine)
'コマンドラインを配列で取得する
Dim cmds() As String
cmds = System.Environment.GetCommandLineArgs()
Dim cmd As String
For Each cmd In cmds
Console.WriteLine(cmd)
Next
'出力例
'"C:\VB TEST\VB.exe" "C:\VB TEST\1.bmp" "C:\VB TEST\2.bmp" "C:\VB TEST\3.bmp"
'C:\VB TEST\VB.exe
'C:\VB TEST\1.bmp
'C:\VB TEST\2.bmp
'C:\VB TEST\3.bmp
は呼ぶ側と呼ばれる側をどこで指定しているのでしょうか?
No.1
- 回答日時:
コマンドライン引数を使っているなら、データを送る側が送り先のプログラムを起動している事になるので、そちらのコードを調べる必要があるのでは。
引数(「引き値」よりはこっちのほうが一般的と思うので。)の渡し方は紳士協定みたいなものですから、必ずしもコマンドライン引数を使うとは限りません(RPCだったり、Windowsメッセージだったり色々あります)。
そのデータを送るプログラムを書いている作者と、インタフェース仕様について意識あわせ、あるいはドキュメントを作成してみては。
この回答への補足
既にできているexeはDelphiで作成されています。
コマンドボタンを押すとテキストボックスの中の値を引数として出力していることは分かっています。
回答ありがとうございます。
既に作成されているexeの場所は分かっています。
コマンドラインを使用した場合は引数をとってくるexeは指定できないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- Windows 10 Windows11の実行モジュールはどこにある 1 2022/05/31 07:33
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- オープンソース Pythonのコードをexe化 1 2023/07/03 08:01
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VB.NETで他のEXEを実行させる
Visual Basic(VBA)
-
Process.Startの戻り値を後で取得
Microsoft ASP
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
-
4
文字数に合わせて、コントロールの幅を設定する方法
Visual Basic(VBA)
-
5
CloseとDisposeの違い
Visual Basic(VBA)
-
6
別のアプリケーションのテキストフィールドに入力する方法
Visual Basic(VBA)
-
7
コンソールアプリケーションのコマンドプロンプト画面を非表示
Visual Basic(VBA)
-
8
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
9
VB.NETでのzip圧縮について
Visual Basic(VBA)
-
10
batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい
Visual Basic(VBA)
-
11
他のアプリケーションとの連携
Visual Basic(VBA)
-
12
VBでファイルが開かれているかどうかを確認したい
Visual Basic(VBA)
-
13
VBで作成した実行形式の戻り値を作成したい
Visual Basic(VBA)
-
14
VB.NETによるプロセス間通信
Visual Basic(VBA)
-
15
【VB】タブ切り替え時のイベント
Visual Basic(VBA)
-
16
Hideについて(.NET)
Visual Basic(VBA)
-
17
データセットのレコード更新がしたい
Visual Basic(VBA)
-
18
SPREAD(GrapeCity)のセルにフォーカスを設定するにはどうしたらいいのでしょうか?
Visual Basic(VBA)
-
19
文字列の後ろから必要分だけ削除したい。
Visual Basic(VBA)
-
20
DataGridViewに空白がある場合はエラーにしたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル 特定ウインドウ...
-
ExcelVBAにてアプリをタスクマ...
-
batファイルで立ち上げたaplを...
-
EXCELをバッチコマンドで...
-
VB.NETでDOSコマンドの複数実行
-
バッチファイル実行時に起動す...
-
ショートカットの作成とコピー
-
c#でコマンドプロンプトを実行...
-
PL/SQLで作成したストア...
-
指定したURLを表示させるバ...
-
stable diffusionのインストー...
-
起動しているmdbよりバッチでレ...
-
BASP21 で 外部プログラムが実...
-
gccがコマンドプロンプト上で使...
-
【VB.NET】コマンドプロンプト...
-
batからvbs起動
-
64bitのwindowsサーバーで32bit...
-
xampp1.7.4のApacheが起動しない
-
VBSでコマンドプロンプトのカレ...
-
相対パスのショートカットフォ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
stable diffusionのインストー...
-
バッチファイル 特定ウインドウ...
-
ショートカットの作成とコピー
-
ExcelVBAにてアプリをタスクマ...
-
EXCELをバッチコマンドで...
-
batファイルで立ち上げたaplを...
-
c#でコマンドプロンプトを実行...
-
VB.NETでDOSコマンドの複数実行
-
バッチファイル実行時に起動す...
-
exe間での引き値の受け取り方法
-
VBAからキャッシュを削除する方...
-
64bitのwindowsサーバーで32bit...
-
Shiftキーを押しながら起動
-
pcゲームの優先度の設定につい...
-
プログラムを実行すると、なぜ...
-
PL/SQLで作成したストア...
-
ASPからのEXEファイル起動
-
VB.NETでコマンドプロンプトの操作
-
バッチファイルでAPを終了さ...
-
ドライバーのインストーラーを...
おすすめ情報