PROCEDURE Processus_ChangePriorite(LOCAL nPriorité is int)
nIndiceProcessus is int
// Récupère l'indice du processus
nIndiceProcessus = Processus_DonneIndice()
// Change la priorité du processus
ExePriority(TH_Liste[nIndiceProcessus], nPriorité)
// Mise à jour des informations
ExecuteProcess(TH_Liste, trtSelection)
RESULT nIndiceProcessus
PROCEDURE Processus_DonneIndice()
nIndice is int
// Si la ligne courante n'a aucun ID de processus indiqué, il s'agit d'une dépendance
IF COL_ID[TH_Liste] = 0 THEN
// Récupère l'indice du parent qui correspond à l'indice du processus
nIndice = TableGiveParent(TH_Liste, TH_Liste)
ELSE
// Mémorise l'indice courante comme indice du processus
nIndice = TH_Liste
END
// Renvoie l'indice du processus
RESULT nIndice
PROCEDURE Processus_DonnePID()
sModèle is string = [
Informations sur le processus courant :
PID : %1
PID Parent : %2
TID : %3
]
ok is boolean = True
// Affiche les informations du processus courant
InfoBuild(sModèle, ExeGetPID(exePID), ExeGetPID(exeParentPID), ExeGetPID(exeTID))
RESULT ok
PROCEDURE Processus_Info()
nIndiceProcessus is int
sCheminProcessus is string
// Contrôle qu'un processus soit sélectionné
IF TH_Liste = -1 THEN
// Message d'erreur
Error("Vous n'avez sélectionné aucun processus.")
RETURN
END
// Récupère l'indice du processus
nIndiceProcessus = Processus_DonneIndice()
sCheminProcessus = TH_Liste[nIndiceProcessus].COL_REPERTOIRE+["\"]+TH_Liste[nIndiceProcessus].COL_NOM
sModèle is string = [
Copyright : %1
Description : %2
Mode : %3
Nom : %4
Répertoire : %5
Version : %6
Version (format standard Windows) : %7
Société : %8
]
InfoBuild(sModèle,
ExeInfo(exeCopyright, sCheminProcessus),
ExeInfo(exeDescription, sCheminProcessus),
ExeInfo(exeMode, sCheminProcessus),
ExeInfo(exeName, sCheminProcessus),
ExeInfo(exeDirectory, sCheminProcessus),
ExeInfo(exeVersion, sCheminProcessus),
ExeInfo(exeVersionWindowsFormat, sCheminProcessus),
ExeInfo(exeCompany, sCheminProcessus))
PROCEDURE Processus_Kill(WxProgramPID)
ok is boolean
ok = ExeTerminate(WxProgramPID)
ToastDisplay("Programas finalizados!", toastShort, vaMiddle, haCenter,RGB(255,0,0))
RESULT ok
PROCEDURE Processus_Lancé()
nIndiceProcessus is int
sMessage is string
// Récupère l'indice du processus
nIndiceProcessus = Processus_DonneIndice()
// Renvoie le nom d'occurrence du processus selon son PID, son nom et son chemin complet
sMessage = StringBuild("L'application de PID ""%1"" est-il en exécution : %2", TH_Liste.COL_ID[nIndiceProcessus], ExeRunning(TH_Liste.COL_ID[nIndiceProcessus]) ? "OUI" ELSE "NON")
sMessage += CR + StringBuild("L'exécutable ""%1"" est-il en exécution : %2 exécution(s).", TH_Liste.COL_NOM[nIndiceProcessus], ExeRunning(TH_Liste.COL_NOM[nIndiceProcessus]))
sMessage += CR + StringBuild("L'exécutable ""%1"" est-il en exécution : %2 exécution(s).", TH_Liste.COL_REPERTOIRE[nIndiceProcessus]+TH_Liste.COL_NOM[nIndiceProcessus], ExeRunning(TH_Liste.COL_REPERTOIRE[nIndiceProcessus]+TH_Liste.COL_NOM[nIndiceProcessus]))
// Mise à jour des informations
Info(sMessage)
PROCEDURE Processus_ListeDLL()
nIndiceProcessus is int
// Contrôle qu'un processus soit sélectionné
IF TH_Liste = -1 THEN
// Message d'erreur
Error("Vous n'avez sélectionné aucun processus.")
RETURN
END
// Récupère l'indice du processus
nIndiceProcessus = Processus_DonneIndice()
Info("Liste des DLL :",ExeListDLL(TH_Liste.COL_ID[nIndiceProcessus]))
PROCEDURE Processus_Termine()
nIndiceProcessus is int
// Contrôle qu'un processus soit sélectionné
IF TH_Liste = -1 THEN
// Message d'erreur
Error("Vous n'avez sélectionné aucun processus.")
RETURN
END
// Récupère l'indice du processus
nIndiceProcessus = Processus_DonneIndice()
Acao is string = COL_ID[nIndiceProcessus]
// Termine l'application
IF ExeTerminate(COL_ID[nIndiceProcessus]) THEN
ToastDisplay("Application terminée", toastShort, vaMiddle, haCenter,RGB(255,0,0))
// Si l'application a bien été terminée, supprime la ligne correspondante
TableDelete(TH_Liste, nIndiceProcessus)
ELSE
// Impossible d'arrêter le processus.
Error("Impossible de terminer ce processus", ErrorInfo(errMessage))
END
FONTES:
https://repository.windev.com/resource.awp…
--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/