VBAなんでも質問スレat TECH
VBAなんでも質問スレ - 暇つぶし2ch627:622
14/03/15 14:12:17.82 FLjN0SBh
>>626
コードの必要な箇所を抜き出すと以下になります。

======================
Public Const PROCESS_ALL_ACCESS As Long = &H1F0FFF
Public Const INFINITE As Long = &HFFFF

Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, _
ByVal dwMilliseconds As Long) As Long

Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long

Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

If ~ Then
Dim TaskId As Long
Dim hProc As Long
DoEvents
TaskId = Shell("powershell " & Chr(34) & "& { " & ~ & "}" & Chr(34), vbMinimizedNoFocus)

hProc = OpenProcess(PROCESS_ALL_ACCESS, 0, TaskId)
If hProc <> 0 Then
Call WaitForSingleObject(hProc, INFINITE)
CloseHandle hProc
End If
End If
======================

実のところ、shell関数の所で止まっていると思い込んでいたのですが、確認したところだと、powershellというよりは後続の同期処理、「Call WaitForSingleObject(hProc, INFINITE)」のところで起きているようでした。
おそらくこの部分を変えてやればうまくいくと思うのですが、しかしどうすればいいのか、分からない状況です。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch