====== Lanciare eseguibile windows senza prompt dos ======
Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **//25/03/2013//** \\ \\
Ecco come lanciare un eseguibile windows da un nostro programma senza che la finestra dell'interprete dei comandi faccia la sua comparsa. Useremo la funzione **CreateProcess** . \\ \\
**start.c**
#include
#include
int main(int argc, char* argv[] )
{
STARTUPINFO info={sizeof(info)};
PROCESS_INFORMATION processInfo;
if (CreateProcess(NULL, "./bin/mytest.exe", NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, NULL, &info, &processInfo))
{
MessageBox( NULL, "Creazione processo con successo", "Informazione", MB_OK | MB_ICONINFORMATION| MB_TASKMODAL);
CloseHandle(processInfo.hProcess);
CloseHandle(processInfo.hThread);
}else {
MessageBox( NULL, "Creazione del processo fallita!", "Attenzione", MB_OK | MB_ICONERROR| MB_TASKMODAL);
}
return 0 ;
}
===== Compilazione (crosscompilazione su Gnu/Linux) =====
E' nessario informare il compilatore che l'eseguibile sara' un'applicazione grafica per windows quindi dobbiamo aggiungere alle opzioni i flags **-mwindows -mms-bitfields ** .
i586-mingw32msvc-gcc -mwindows -mms-bitfields -static-libgcc -static-libstdc++ start.c -o start.exe