Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Using CreateProcess repeatedly
Message
General information
Forum:
Visual FoxPro
Category:
Windows API functions
Miscellaneous
Thread ID:
00504932
Message ID:
00504952
Views:
23
>I am running a VFP 6.0 EXE on a Windows 2000 Workstation. This program converts TIF files to PDF by calling a 32-bit DOS application called c42pdf.exe. We have thousands of TIF files to convert. So, I created the VFP program to repeatedly call c42pdf.exe to convert each TIF file. The program creates around 4000 PDF files per hour and steadily decreases every hour. If I terminate the program and start it up, it resumes the same pattern of decreasing work per hour.
>
>The code for the program is scattered across different methods. I can supply it if it is helpful. Here is basically what I do:
>
>1) Use FCREATE() to create an input file, and close it with FCLOSE().
>2) Call Win32 CreateFile() to create a log file.
>3) Call Win32 CreateProcess() to call c42pdf.exe. Redirect standard error and output to the log file (step 2). Hide the DOS window by changing ShowWindow field in StartupInfo.
>4) Get process and thread IDs from ProcessInfo.
>5) Call Win32 WaitForSingleObject() to wait until process is complete.
>6) Call Win32 TerminateProcess() to end process.
>7) Call Win32 CloseHandle() to close thread, process, and log file (step 2).
>8) Use FOPEN() to open log file, FGETS() to read it, and FCLOSE() to close it.
>
>Do these steps sound reasonable? Are these some additional steps that might help?
>
>Thanks!

I don't know if this is going to help, but have you looked into some of the objects exposed by the Windows Script Host? For example, the WScript.Shell object has a Run method, that supports an optional parameter to require the caller to wait for completion. It also supports a LogEvent method.
George

Ubi caritas et amor, deus ibi est
Previous
Reply
Map
View

Click here to load this message in the networking platform