-PR-
解決済み

実行可能ファイルの同期?

  • すぐに回答を!
  • 質問No.42223
  • 閲覧数135
  • ありがとう数7
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 38% (19/49)

外部の実行可能ファイル(いわゆるEXE)を実行させるのに
shell関数を利用しています。

この関数は非同期に実行してしまうのですが、これを
同期させる方法をご存知の方はいらっしゃいませんでしょうか?
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル11

ベストアンサー率 50% (173/345)

以下、それを実現するプロシージャの例です(インデントが崩れて読みづらいかもしれません)。
ご参考ください

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Public Function pfncWaitApp(strExeName As String, Optional vntOpt As Variant) As Boolean
Dim lngResultCode As Long
Dim lngIdProcess As Long
Dim lngHdlProcess As Long
Dim intOpt As Integer
Const SYNCHRONIZE = &H100000
Const INFINITE = &HFFFF

'フルパス指定の場合無視
'If InStr(strExeName, "\") = 0 Then

'カレントディレクトリの指定ファイル名を取得
' strExeName = App.Path & "\" & strExeName

'End If

If IsMissing(vntOpt) Then
intOpt = vbNormalFocus
Else
intOpt = vntOpt
End If

'EXE起動
On Error Resume Next
lngIdProcess = Shell(strExeName, intOpt)
DoEvents

Select Case Err
Case 53 'Not Found
MsgBox "指定されたプログラムが存在しません" & _
vbCr & "プログラム名 = " & strExeName, vbCritical
pfncWaitApp = False
Case 0 '正常
'同期をとる
lngHdlProcess = OpenProcess(SYNCHRONIZE, 0&, lngIdProcess)
lngResultCode = WaitForSingleObject(lngHdlProcess, INFINITE)
lngResultCode = CloseHandle(lngHdlProcess)
pfncWaitApp = True
Case Else 'エラー
MsgBox Error, vbCritical
pfncWaitApp = False
End Select


End Function
お礼コメント
s13

お礼率 38% (19/49)

ご回答、ありがとうございます。

早速やってみます。

結果は後ほど・・・
投稿日時 - 2001-02-19 16:03:34
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル11

ベストアンサー率 46% (145/312)

できません。
呼び出し元プログラムで終了まで待つしかありません。


このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ