Condividi:
Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!
Moderatori: Anthony47, Triumph Of Steel, archimede
di Milton » 02/07/07 14:08
Ragazzi scusate ma ho un problema e non rirsco proprio ad uscirne...
Ho scritto un Batch anni fa e vorrei riadattarlo in un programma in c++ ma, se semplicemente lo lancio da un programma exe, esce la solita schermata nera del batch in esecuzione, e questo succede anke se lo faccio partire ovvimente con un processo parallelo...
Vi chiedo se c'è modo da far eseguire un batch in modo nascosto senza la anti-estetica finestrella nera.
Io scrivo in c++ preferibilmente, ma andrebbe bene anke una soluzione in java o c#...
Vi Ringrazio in Anticipo !
-
Milton
- Newbie
-
- Post: 2
- Iscritto il: 02/07/07 14:01
di BianConiglio » 02/07/07 17:03
dichiara il main come winmain che, non trovando nessuna GUI, eseguira' i comandi in "hidden"
ciao
-
BianConiglio
- Utente Senior
-
- Post: 4710
- Iscritto il: 26/12/01 01:00
- Località: Varese / Lugano
-
di BianConiglio » 02/07/07 17:05
-
BianConiglio
- Utente Senior
-
- Post: 4710
- Iscritto il: 26/12/01 01:00
- Località: Varese / Lugano
-
di Milton » 02/07/07 17:21
Con dev mi dice:
[Linker error] undefined reference to `WinMain@16'
Cmq mi servirebbe una funzione tipo:
system("Comando x Cmd");
che faccia girare il comando ma in background (senza finestra nera)
-
Milton
- Newbie
-
- Post: 2
- Iscritto il: 02/07/07 14:01
di BianConiglio » 02/07/07 21:12
cerca winmain nella msdn e vedrai dove sbagli
-
BianConiglio
- Utente Senior
-
- Post: 4710
- Iscritto il: 26/12/01 01:00
- Località: Varese / Lugano
-
di zello » 05/07/07 11:29
Con la magica ShellExecuteEx (o CreateProcess, anche)
- Codice: Seleziona tutto
#include <windows.h>
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
SHELLEXECUTEINFO sei;
ZeroMemory(&sei,sizeof(sei));
sei.cbSize=sizeof(sei);
sei.fMask=SEE_MASK_NO_UI|SEE_MASK_NOCLOSEPROCESS;
sei.lpFile="\\comando\\da\\eseguire.exe";
sei.nShow=SW_HIDE;
if(ShellExecuteEx(&sei))
{
WaitForSingleObject (sei.hProcess,INFINITE);
CloseHandle(sei.hProcess);
}
return 0;
}
(può essere pieno di errori, non l'ho neppure compilato).
Il faut être toujours ivre. Tout est là : c'est l'unique question. Pour ne pas sentir l'horrible fardeau du Temps qui brise vos épaules et vous penche vers la terre,il faut vous enivrer sans trêve...
-
zello
- Moderatore
-
- Post: 2351
- Iscritto il: 06/05/02 13:44
Torna a Programmazione
Topic correlati a "batch e c++":
Chi c’è in linea
Visitano il forum: Nessuno e 10 ospiti