problem withCreateProcess

Posted on 2006-07-03
Medium Priority
Last Modified: 2013-11-20
Hi All
I am having a problem in my application, what I am doing is:
Calling a function SaveKeys(TCHAR *) within a loop and this function save the specified registry key to a .reg file,
for this using CreateProcess( ) for calling regedit.exe from command line and WaitForSingleObject( ) function.
code looks like this

for (int i = 0; i < 10; i++)
// some code here
SaveKeys(cRegistryKey ); // for specified Registry Key

void MyClass::SaveKeys(TCHAR *cRegistryKey)

WaitForSingleObject( ProcessInformation.hProcess, INFINITE );

//e.g. Here cCommand = regedit /e C:\File.reg HKEY_CURRENT_USER\MyKey

Now what is my problem is that here WaitForSingleObject( ) function is not working. and only a single reg file is created.
and when use Sleep(1000) then all the 10 reg file are created.

So please tell me that how should I overcome this problem.

Please reply
Question by:davinder101
LVL 86

Accepted Solution

jkr earned 200 total points
ID: 17030860
Initialize the STARTUPINFO struct:

   ZeroMemory  (   &StartupInfo,    sizeof  (   STARTUPINFO));

   StartupInfo.cb           =   sizeof  (   STARTUPINFO);
   StartupInfo.dwFlags      =   STARTF_USESHOWWINDOW;
   StartupInfo.wShowWindow  =   SW_SHOWNORMAL;
LVL 45

Assisted Solution

AndyAinscow earned 200 total points
ID: 17031001
I'd write it directly into the registry rather than creating a file on disc then 'running' the file.  (Look at CRegKey in help)

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Introduction: Hints for the grid button.  Nested classes, templated collections.  Squash that darned bug! Continuing from the sixth article about sudoku.   Open the project in visual studio. First we will finish with the SUD_SETVALUE messa…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
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.
Hi, this video explains a free download that you can incorporate into your Access databases, or use stand-alone for contact management. Contacts -- Names, Addresses, Phone Numbers, eMail Addresses, Websites, Lists, Projects, Notes, Attachments…

597 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