=head1 NOM Win32::Process - Création et manipulation de processus. =head1 SYNOPSIS use Win32::Process; use Win32; sub ErrorReport{ print Win32::FormatMessage( Win32::GetLastError() ); } Win32::Process::Create($ProcessObj, "D:\\winnt35\\system32\\notepad.exe", "notepad temp.txt", 0, NORMAL_PRIORITY_CLASS, ".")|| die ErrorReport(); $ProcessObj->Suspend(); $ProcessObj->Resume(); $ProcessObj->Wait(INFINITE); =head1 DESCRIPTION Ce module permet l'accès aux fonctions de contrôle de processus de l'API Win32. =head1 MÉTHODES =over 8 =item Win32::Process::Create($obj, $appname, $cmdline, $iflags, $cflags, $curdir) Crée un nouveau processus. Arguments : $obj conteneur pour l'objet processus $appname chemin complet vers l'exécutable $cmdline arguments de la ligne de commande $iflags flag: hérite des descripteurs des processus appelants ou non $cflags flags pour création (voir les constantes exportées ci-dessous) $curdir répertoire de travail du nouveau processus Retourne une valeur non nulle en cas de succès, 0 en cas d'échec. =item Win32::Process::Open($obj, $pid, $iflags) Crée un descripteur que Perl peut utiliser pour le processus identifié par $pid. Le $iflags est l'indicateur d'héritage qui est passé à OpenProcess. Actuellement les objets Win32::Process créés avec Win32::Process::Open ne peuvent suspendre (avec Suspend) ou relancer (avec Resume) le processus. Tous les autres appels doivent marcher. Win32::Process::Open retourne une valeur non nulle en cas de succès, 0 en cas d'échec. =item Win32::Process::KillProcess($pid, $exitcode) Termine tout processus identifié par $pid. $exitcode sera mis au code de sortie du processus. =item $ProcessObj->Suspend() Suspend le processus associé à $ProcessObj. =item $ProcessObj->Resume() Relance un processus suspendu. =item $ProcessObj->Kill( $exitcode ) Tue le processus associé, en l'ayant terminé avec le code de sortie $ExitCode. =item $ProcessObj->GetPriorityClass($class) Obtient la classe de priorité du processus. =item $ProcessObj->SetPriorityClass( $class ) Fixe la classe de priorité du processus (voir ci-dessous les valeurs exportées pour cette option) =item $ProcessObj->GetProcessAffinitymask( $processAffinityMask, $systemAffinitymask) Obtient le masque d'affinité du processus. C'est un vecteur de bits dont chaque bit représente un des processeurs sur lequels le processus à la permission d'être lancé. =item $ProcessObj->SetProcessAffinitymask( $processAffinityMask ) Fixe le masque d'affinité. Disponible seulement sur Windows NT. =item $ProcessObj->GetExitCode( $exitcode ) Rapporte le code de sortie du processus. =item $ProcessObj->Wait($timeout) attend la mort d'un processus. $timeout doit être spécifié en millisecondes. Pour attendre indéfiniment, spécifiez la constante C. =item $ProcessObj->GetProcessID() Retourne l'IDentificateur du Processus (PID) =back =head1 CONSTANTES EXPORTÉES Les constantes suivantes sont exportées par défaut. CREATE_DEFAULT_ERROR_MODE CREATE_NEW_CONSOLE CREATE_NEW_PROCESS_GROUP CREATE_NO_WINDOW CREATE_SEPARATE_WOW_VDM CREATE_SUSPENDED CREATE_UNICODE_ENVIRONMENT DEBUG_ONLY_THIS_PROCESS DEBUG_PROCESS DETACHED_PROCESS HIGH_PRIORITY_CLASS IDLE_PRIORITY_CLASS INFINITE NORMAL_PRIORITY_CLASS REALTIME_PRIORITY_CLASS THREAD_PRIORITY_ABOVE_NORMAL THREAD_PRIORITY_BELOW_NORMAL THREAD_PRIORITY_ERROR_RETURN THREAD_PRIORITY_HIGHEST THREAD_PRIORITY_IDLE THREAD_PRIORITY_LOWEST THREAD_PRIORITY_NORMAL THREAD_PRIORITY_TIME_CRITICAL =head1 VERSION FRANÇAISE Cette traduction française correspond à la version anglaise distribuée avec perl 5.6.1. Pour en savoir plus concernant ces traductions, consultez http://www.enstimac.fr/Perl/ . =head1 TRADUCTION EN FRANÇAIS Jean-Louis Morel =cut