Trochę to trwało ale znalazłem odpowiedź na moje pytanie i wam je przedstawiam. Otóż zająłem się rozgryzaniem funkcji CreateProcess() i znalazłem coś w internecie:
Creating a Process with CreateProcess
The function CreateProcess is the standard way of creating processes. The code in Listing 5.1 prompts the user for the filename of an application (for example, "pword.exe" for Pocket Word) and then calls CreateProcess to run the application.
Listing 5.1 Creates a process with CreateProcess
void Listing5_1()
{
TCHAR szApplication[MAX_PATH];
PROCESS_INFORMATION pi;
if(!GetTextResponse(_T("Enter Application to Run:"),
szApplication, MAX_PATH))
return;
if(CreateProcess(szApplication,
NULL, NULL, NULL, FALSE, 0,
NULL, NULL, NULL, &pi) == 0)
cout « _T("Cannot create process") endl;
else
{
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
}
Dodatkowo zastosowałem to w moim przykładowym programiku i działa. Przedstawię część kodu. Mam nadzieję ze komuś się to przyda.
void CUruchomDlg::OnUruchom()
{
// TODO: Add your control notification handler code here
//////// NOWY KOD ŹRÓDŁOWY ///////
UpdateData(TRUE);
CString strNazwaProg;
PROCESS_INFORMATION pi;
strNazwaProg = m_aplikacja;
if (strNazwaProg == "Notes")
CreateProcess(TEXT("Windows\\notes.exe"),NULL,NULL,NULL,FALSE,0,NULL,NULL,NULL, &pi);
if (strNazwaProg == "Pocket Excel")
CreateProcess(TEXT("Windows\\pxl.exe"),NULL,NULL,NULL,FALSE,0,NULL,NULL,NULL, &pi);
if (strNazwaProg == "Pocket Word")
CreateProcess(TEXT("Windows\\pword.exe"),NULL,NULL,NULL,FALSE,0,NULL,NULL,NULL, &pi);
if (strNazwaProg == "Solitare")
CreateProcess(TEXT("Windows\\solitare.exe"),NULL,NULL,NULL,FALSE,0,NULL,NULL,NULL, &pi);
if ((strNazwaProg != "Notes") && (strNazwaProg != "Pocket Excel") &&
(strNazwaProg != "Pocket Word") && (strNazwaProg != "Solitare"))
strNazwaProg = TEXT("Windows\\") + m_aplikacja + _T(".exe");
CreateProcess(strNazwaProg,NULL,NULL,NULL,FALSE,0,NULL,NULL,NULL, &pi);
//// KONIEC KODU /////
}
Pozdrawiam