10. april 2001 - 14:52Der er
2 kommentarer og 1 løsning
Afventning af udførelse af DOS-kommando
Kan man få et VBA-program til at vente med at gå videre indtil en SHELL Command.com kommando er blevet færdig. Jeg kan stoppe den med MSGBOX, men så skal brugerne jo trykke på OK hver gang den stopper.
Shell \"command.com /c C:\\MILAN\\con2prt.EXE /c \" & Right(System.PrivateProfileString(\"c:\\milan\\prtdef.ini\", PGruppe(i), \"RESSOURCE\"), 16) Kommandoen bruges til ved hjælp opslag i ini-fil at kunne tlslutte og udskrive på andre printere.
Private Type STARTUPINFO cb As Long lpReserved As String lpDesktop As String lpTitle As String dwX As Long dwY As Long dwXSize As Long dwYSize As Long dwXCountChars As Long dwYCountChars As Long dwFillAttribute As Long dwFlags As Long wShowWindow As Integer cbReserved2 As Integer lpReserved2 As Long hStdInput As Long hStdOutput As Long hStdError As Long End Type
Private Type PROCESS_INFORMATION hProcess As Long hThread As Long dwProcessID As Long dwThreadID As Long End Type
Private Declare Function WaitForSingleObject Lib \"kernel32\" (ByVal _ hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function CreateProcessA Lib \"kernel32\" (ByVal _ lpApplicationName As String, ByVal lpCommandLine As String, ByVal _ lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, _ ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, _ ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As String, _ lpStartupInfo As STARTUPINFO, lpProcessInformation As _ PROCESS_INFORMATION) As Long
Private Declare Function CloseHandle Lib \"kernel32\" _ (ByVal hObject As Long) As Long
Private Declare Function GetExitCodeProcess Lib \"kernel32\" _ (ByVal hProcess As Long, lpExitCode As Long) As Long
\' Wait for the shelled application to finish: ret& = WaitForSingleObject(proc.hProcess, INFINITE) Call GetExitCodeProcess(proc.hProcess, ret&) Call CloseHandle(proc.hThread) Call CloseHandle(proc.hProcess) ExecCmd = ret& End Function
Sub Form_Click() Dim retval As Long retval = ExecCmd(\"notepad.exe\") MsgBox \"Process Finished, Exit Code \" & retval End Sub
/Jennemaan
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.