kørsel af et program fra C++

Tags:    c++ diverse

Jeg ved at man kan bruge stdlib.h og system("<kommando>") men når jeg laver GUI-programmer fryser den mit program mens den kører det andet.... er der noget man kan gøre for at det ikke sker?

Mvh. Peter



9 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
når jeg laver GUI-programmer fryser den mit program mens den kører det andet....

Hmm. hvad mener du med det.?
Hvad er det 'andet'?
Bruger du Borland C++ Builder?
Med Venlig Hilsen: CHadi
http://chadi.h4f.dk



når jeg laver GUI-programmer fryser den mit program mens den kører det andet....

Hmm. hvad mener du med det.?
Hvad er det 'andet'?
Bruger du Borland C++ Builder?
Med Venlig Hilsen: CHadi
http://chadi.h4f.dk


mit eget program, som jeg kører et program fra, fryser. hvordan kan man undgå dette?



Du kan ikke bruge system () funktionen i GUI programmer.
I GUI programmer skal du bruge ShellExecute();

Med Venlig Hilsen: CHadi
http://chadi.h4f.dk

[Redigeret d. 26/06-03 16:16:58 af CHadi]



Du kan ikke bruge system () funktionen i GUI programmer.
I GUI programmer skal du bruge ShellExecute();

Med Venlig Hilsen: CHadi
http://chadi.h4f.dk

[Redigeret d. 26/06-03 16:16:58 af CHadi]


hvad skal jeg include for at kunne bruge shellexecute?



Du skal inkludere shellapi.h
og windows.h
Med Venlig Hilsen: CHadi
http://chadi.h4f.dk

[Redigeret d. 26/06-03 16:25:35 af CHadi]



Hej Peter !!!
Du kan også bruge API- kaldet CreateProcess, BeginTheat, CreateThreat eller noget helt andet. Har selv mange gange brugt CreateProcess med held. Du søger bare på I-nettet så kommer der hvordan du bruger den.

Se evt. http://www.tek-tips.com/gviewthread.cfm/lev2/4/lev3/32/pid/207/qid/417118

Ellers prøv
PROCESS_INFORMATION pi;
STARTUPINFO si;

// Set up the start up info struct.

ZeroMemory(&si,sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESTDHANDLES;
si.hStdOutput = hChildStdOut;
si.hStdInput = hChildStdIn;
si.hStdError = hChildStdErr;

si.wShowWindow = SW_HIDE;

if (!CreateProcess(NULL,
"D:\\\\Prgms\\\\Debug\\\\samp.exe aaa bbb",
NULL,
NULL,
TRUE,
0,//CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi))
DisplayError("CreateProcess");
else
{
printf("\\n CreateProcess() successfull\\n");
}

// Set global child process handle to cause threads to exit.

hChildProcess = pi.hProcess; // Close any unnecessary handles.

if (!CloseHandle(pi.hThread))
DisplayError("CloseHandle");

Med Venlig Hilsen
Janus S. Andersen

P.s Har mange gange haft held med at finde kodestumper på codegure.com

* Life is a dream in a programmers heaven *



Tak for din lange listing. Det var flot, at du kunne copy-paste det fra experts-exchange...

Et link havde også været ok...




Ok
Jeg havde downloade den og den liger på mit c-drev, her kan jeg ikke linke til. (griner)
* Life is a dream in a programmers heaven *



t