Olá amigos, vejam se conseguem me ajudar.
Tenho uma aplicação em que utilizo o comando Shell para rodar uma rotina de BCP.
Como o BCP pode demorar muito, utilizo o WaitForSingleObject
WTask = Shell([COMANDO BCP], vbMaximizedFocus)
WpHandle = OpenProcess(SYNCHRONIZE, False, WTask)
Wret = WaitForSingleObject(WpHandle, INFINITE)
Wret = CloseHandle(WpHandle)
Para tal, preciso do ProcessID que é retornado pelo comando shell na variável WTask.
Porém, tenho um cliente em que eu não consigo utilizar o comando shell direto, tenho que fazer o seguinte:
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run [COMANDO BCP], 3, False
Com isso, não consigo obter o ProcessID, e consequentemente não consigo utilizar o WaitForSingleObject.
Tentei utilizar o FindWindow(vbNullString,vbNullString)
e o GetWindowThreadProcessId() mas não obtive sucesso.
Alguém pode me ajudar?
Obrigado.