VB6.0で1つのメイン実行ファイルから別のexeファイルをShell関数で起動させているのですが、メインのプログラムの変数をもう1つもプログラムに引き渡すことはできるのでしょうか?どちらもVB6.0で作成したプログラムです。
手法の一つとして
Command関数などを用いて、
引数として別EXEに値を引き渡せますよね?
APIを使うのであれば、ShellExecuteを使う事も可能です。
Const SW_HIDE As Long = 1 'ウインドウ非表示
Const SW_SHOWMINIMIZED As Long = 2 'ウインドウ最小化パラメータ
Const SW_SHOWMAXIMIZED As Long = 3 'ウインドウ最大化パラメータ
Const SW_SHOW As Long = 5 'ウインドウを現在の位置とサイズで表示
Const SW_RESTORE As Long = 6 'ウインドウを元の位置とサイズで表示
Dim strParam As String 'パラメータ
Dim strPath As String '実行ファイルのフルパス
Dim ret As Long 'ShellExecuteの戻り値
ret = ShellExecute(0, vbNullString, strFilePath, strParam, "", SW_SHOW)
上記例の strFilePath, strParamには、ShellExecute実行前に
任意のパスとパラメータを与えて下さい。
失礼。ShellExecuteの定義を書き忘れました。
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
APIビューアーで拾ったものと一緒です。参考までに。
自作のアプリ間であれば、
1:変数の内容をテキストファイルで出力してからexeを起動
2:起動したexeでそのテキストファイルを読み込む
というようにすれば、多い日も安心
ツイート | ![]() |