Solved

Starting a 16-bit process on Win95

Posted on 1998-09-03
7
234 Views
Last Modified: 2013-11-20
I want to start a 16-bit process froma 32-bit application and then wait for that process to finish.
On NT it works perfectly as I am using CreateProcess with a CREATE_SEPARATE_WOW_VDM flag for process creation. However this flag is not valid on 95.
Followed by this I call WaitForSingleObject in order to wait for the 16-bit process to finish.
Now, if I dont ise CREATE_SEPARATE_WOW_VDM on NT this WaitForSingleObject returns immidiaely as the new process is spawned in 16-bit shared VDM.
So this problem is solved by CRAETE_SEPARATE_WOW_VDM on NT.

I will describe the scenario on win 95 in more detail.

1. I call CreateProcess to run a batch file (16-bit app)
2. This execution starts another process 'WINOLDAP'.
3. Even after all the execution in the batch file is complete this process does not shut down.
4. Because of this I do not get response for WaitForSingleObject which finally terminates on a time-out signal.

So how do I get rid of this WINOLDAP?

Thnx
0
Comment
Question by:unmeshv
  • 4
  • 3
7 Comments
 

Author Comment

by:unmeshv
ID: 1321703
Edited text of question
0
 
LVL 1

Expert Comment

by:Bonev
ID: 1321704
I think that the process in Win95 is pretty much the same as in NT. I don't have any problems using WaitForSingleObject under 95.
0
 

Author Comment

by:unmeshv
ID: 1321705
Edited text of question
0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 

Author Comment

by:unmeshv
ID: 1321706
Adjusted points to 100
0
 
LVL 1

Expert Comment

by:Bonev
ID: 1321707
Do you really need to call a batch file?
If no, WaitForSingleObject will work for you.
If yes, write a small program that executes COMMAND.COM /C <batch-file-name> and wait for its termination.
0
 

Author Comment

by:unmeshv
ID: 1321708
Thanks. That olves the problem. I have to use batch file. So the second option wotks correctly. Thanks again.
0
 
LVL 1

Accepted Solution

by:
Bonev earned 100 total points
ID: 1321709
Are you going to give me the points?
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Here is how to use MFC's automatic Radio Button handling in your dialog boxes and forms.  Beginner programmers usually start with a OnClick handler for each radio button and that's just not the right way to go.  MFC has a very cool system for handli…
Introduction: Load and Save to file, Document-View interaction inside the SDI. Continuing from the second article about sudoku.   Open the project in visual studio. From the class view select CSudokuDoc and double click to open the header …
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now