Sous Windows, on peut tout simplement régler la priorité de son programme de telle façon qu'il se mette en pause lorsque le système demande de la mémoire vive.
Pour cela on utilise l'api
Declare Function SetPriorityClass Lib "kernel32" (ByVal hProcess As Long, ByVal dwPriorityClass As Long) As Long
Hprocess est un pointeur sur le handle de l'application
dwPriorityClass est une constante parmi :
IDLE_PRIORITY_CLASS &H40 Priorité minimum.
BELOW_NORMAL_PRIORITY_CLASS &H4000 Priorité en dessous de normal.
NORMAL_PRIORITY_CLASS &H20 Priorité normale.
ABOVE_NORMAL_PRIORITY_CLASS &H8000 Priorité au dessus de normal.
HIGH_PRIORITY_CLASS &H80 Priorité haute.
REALTIME_PRIORITY_CLASS &H100 Priorité maximum (temps réel).
Attention cependant, avec une priorité temps réel, les entrées ne sont pas analysées..donc plus de clavier ni de souris.
Avec IDLE_PRIORITY_CLASS, ton processus ne tourne que si le système est quasiment inactif.
Edité par neamar ( 17/03/2007 10:24:41 )Before you criticize someone, you should walk a mile in their shoes. That way when you criticize them, you are a mile away from them and you have their shoes.
http://neamar.free.fr
Ou le portail général :
http://neamar.fr