拡張子を変えて読み込んで、Shellで外部プログラムから実行。
その後にまた、拡張子を戻すことはできますか?
外部のプログラムが複数立ち上がるのですが、可能でしょうか?
どなたかよろしくお願いいたします。
現在はDVDの中のデータを実行しています。
そのファイルが使用されているとリネームできないと思うので、以下の手順でどうでしょうか?
1:ファイルをコピー(その時に拡張子変更)
2:Shell実行
3:コピーしたファイルを消す
ありがとうございます。
ただShellで実行するプログラムが
A とすると、
実際の動きは
Shell(A,b)・・・・・bは実行ファイル
このとき、実はAがCのプログラムを立ち上げるのです。
Aは通常のアプリでVBで作成したものではありません。
このCの終了を見れるのでしょうか?
よろしくお願いします。
※横から失礼。
> ただShellで実行するプログラムが A とすると、
A="hoge.exe"としておきます。
> 実際の動きは Shell(A,b) (bは実行ファイル)
…Shell A & " " & b ということですか?
> このとき、実はAがCのプログラムを立ち上げるのです。
"hoge.exe"はランチャーのようなものなのですね。
> Aは通常のアプリでVBで作成したものではありません。
>
> このCの終了を見れるのでしょうか?
プロセスの状況を監視してCが起動しているかどうか(複数のCがある場合は難しいかも)を確かめるしかないかと。
もし、Aを経由せずにCを起動させられればプロセスIDを受け取れるのでより簡単にできると思います。
google検索:
WMI プロセス、CreateToolhelp32Snapshot、GetExitCodeProcess
など。
Cのプログラムの名前(タイトルバーのところ)が変更されないという条件がありますが、FindWindowAPIを使って起動しているかどうか確認する事ができますね
Cが終了したらAを破棄してもよい、という設計ならば、
1:自アプリからコピー&リネームしたAを起動
2:AからB及びCを起動
3:自アプリでCが終了したか確認
4:終了していたらコピーしたAを消去
でできるかもしれませんね
と・とりあえずやってみます。
皆様ありがとうございました。
現在、社内データを他社で(限定した)閲覧できるものを作成しています。
これからもいろいろ質問に来ると思います。
よろしくお願いします。
ツイート | ![]() |