-----------------------------------------------------------
New Message on BDOTNET
-----------------------------------------------------------
From: Sitaraman
Message 4 in Discussion
Hi Vineet Guess Arun problem is not in sending the mail, but in making the "Mail
Sending Process" wait until the "Zipping Process " is over. Some time back i had
this problem just before our site was moving to production and really didnt have time
to look at it myself. So my client wrote this code for me to make the calling program
wait till the shell process was over :). Here u go Option Explicit Private
Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal
bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long,
lpExitCode As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Const STILL_ACTIVE = &H103&
Const PROCESS_QUERY_INFORMATION = &H400& Sub main()
runCommand ("winword")
End Sub Sub runCommand(p_strCommand As String) Dim lTaskID As Long
Dim lProcHandle As Long
Dim lExitCode As Long
Dim lReturnCode As Long lTaskID = Shell(p_strCommand, vbNormalFocus)
'???????????
lProcHandle = OpenProcess(PROCESS_QUERY_INFORMATION, 1, lTaskID)
'?????????????
Do
'?????????
lReturnCode = GetExitCodeProcess(lProcHandle, lExitCode)
DoEvents Loop While lExitCode = STILL_ACTIVE
'?????????
'CloseHandle lProcHandle
MsgBox "done"
End Sub
Here note that u trap the return value of the Shell cmd, which is the process Id.
Using the winapi functions we can track the status of the process based on this
process id, loop until it is over and then exit. you can paste the runcommand
function in ur program and call it instead of calling shell cmd hope this helps
regards, sr p.s. btw i posted this solution in response to ur post in chennai user
group also
-----------------------------------------------------------
To stop getting this e-mail, or change how often it arrives, go to your E-mail
Settings.
http://groups.msn.com/BDotNet/_emailsettings.msnw
Need help? If you've forgotten your password, please go to Passport Member Services.
http://groups.msn.com/_passportredir.msnw?ppmprop=help
For other questions or feedback, go to our Contact Us page.
http://groups.msn.com/contact
If you do not want to receive future e-mail from this MSN group, or if you received
this message by mistake, please click the "Remove" link below. On the pre-addressed
e-mail message that opens, simply click "Send". Your e-mail address will be deleted
from this group's mailing list.
mailto:[EMAIL PROTECTED]