|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 213
|
[C] creazione processi multipli da programma padre
Ciao a tutti,
sto scrivendo un programmino che serve a semplificarmi la vita per la conversione e l'ordine di file mp3. Questo programma prende in input una cartella qualsiasi e crea in un'altra cartella di output la stessa directory tree della cartella di partenza, copiandoci eventualmente sopra i file mp3 ri-codificati usando il ben noto LAME 3.97 Ora, il mio programma funziona molto bene, e riesco a far partire il processo LAME.exe tramite questa funzione, alla quale passo una stringa contenente "lame -h --abr 112 #FILE INPUT# #FILE OUTPUT#" per fare in modo che il LAME stesso crei un mp3 ri-codificato con bitrate medio sui 112kbps: Codice:
void startNewLameProcess(char* fullParString) { STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); if( !CreateProcess( NULL, TEXT(fullParString), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi ) ) { printf("Creazione processo fallita... (%d).\n", GetLastError() ); return; } WaitForSingleObject( pi.hProcess, INFINITE ); DWORD dwExitCode = 0; GetExitCodeProcess(pi.hProcess, &dwExitCode); if(dwExitCode == STILL_ACTIVE) { TerminateProcess(pi.hProcess, 0); } CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); } E' possibile effettuare questa operazione anche sul mio programma, anche utilizzando le API di windows??? Oppure posso tenere solo 1 istanza del LAME.exe, aspettare che termini, e poi iniziarne un'altra? In questo caso, esiste una sorta di ottimizzazione per i sistemi dual/quad core? Grazie anticipatamente ![]()
__________________
Ho concluso affari con: Ippo 2001, Klintf, albert78, Piripikkio, starsky, oldfield e IL0V€INT€R. da EVITARE zarovat |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Inoltre: GetSystemInfo() per sapere quanti processori ci sono. E se hai modo di usarle in modo interessante ... raccontacelo! Io personalmente non ho ancora avuto modo di mettere mano su un sistema dual-core. ![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) Ultima modifica di andbin : 28-11-2006 alle 19:59. |
|
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Sep 2005
Città: Bus PCI 1, periferica 0, funzione 0 (Torino)
Messaggi: 213
|
Quote:
![]() TI farò sapere qualcosa di più domani, dopo un pò di testing ![]()
__________________
Ho concluso affari con: Ippo 2001, Klintf, albert78, Piripikkio, starsky, oldfield e IL0V€INT€R. da EVITARE zarovat |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:40.