Page 3 sur 3

Publié : mer. 08/sept./2004 22:22
par hardy
A propos de la réponse d'Oliv, concernant le fait de ne pas garder les dlls en mémoire, j'utilise un logiciel freeware qui permet de changer plein de paramètres windows, dont celui-ci : X-Setup (www.xteq.com)
Très pratique.

Publié : mer. 08/sept./2004 22:38
par Flype
oui je l'utilise aussi. elle est tres complete la bete

Publié : sam. 25/sept./2004 18:39
par gansta93
Bonjoour,

J'ai testé ce défragmenteur sur un autre PC sous 98, et ça marche.
Voilà pour info.

Publié : sam. 25/sept./2004 18:44
par Le Soldat Inconnu
merci :D

Re: Optimiseur de RAM

Publié : ven. 11/janv./2008 1:21
par beauregard
bonsoir,

Code : Tout sélectionner

If OpenWindow(0, 0, 0, #TailleX, #TailleY, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "Optimiser la RAM") = 0 Or CreateGadgetList(WindowID()) = 0
  End
EndIf
Je ne peux pas en profiter car il y un problème avec la 4.10 et cette ligne...

Ce site propose plusieurs logiciels, lequel dois je prendre ? est ce que Xteq RAM Alloc 1.0 rempli la même fonction ?
http://www.xteq.com/downloads/
A+

Publié : ven. 11/janv./2008 2:06
par Oliv
Les paramètres titre et options on été échangés car les options sont maintenant facultatives

Publié : ven. 11/janv./2008 20:31
par SpaceMan
@ beauregard

Code : Tout sélectionner

Enumeration 
  #Memoire 
  #Libre 
  #Occupee 
  #Optimiser 
  #Etat 
EndEnumeration 

#TailleX = 200 
#TailleY = 92 

Procedure Optimisation(Total.l) 
  #TailleMem = 16 * 1024 * 1024 ; 16 Mb 
  NewList Memoire.l() 
  
  ; On crée un échantillon destinée à remplir la mémoire 
  MemOrigine = AllocateMemory(#TailleMem) 
  
  For n = 0 To Total / 16 ; On rempli la mémoire avec des connerires 
    AddElement(Memoire()) 
    Memoire() = AllocateMemory(#TailleMem) 
    CopyMemory(MemOrigine, Memoire(), #TailleMem) ; On utilise la mémoire sinon, ça ne marche pas 
  Next 
  
  ; On supprime les blocs mémoire 
  ResetList(Memoire()) 
  While NextElement(Memoire()) 
    FreeMemory(Memoire()) 
  Wend 
  FreeMemory(MemOrigine) 
  
  ClearList(Memoire()) 
  SetGadgetText(#Etat, "") 
  DisableGadget(#Optimiser, 0) 
EndProcedure 


If OpenWindow(0, 0, 0, #TailleX, #TailleY, "Optimiser la RAM", #PB_Window_ScreenCentered | #PB_Window_SystemMenu) = 0 Or CreateGadgetList(WindowID(0)) = 0 
  End 
EndIf 


; Structure MEMORYSTATUS 
;   dwLength.l ; SizeOf(MEMORYSTATUS) 
;   dwMemoryLoad.l ; Pourcentage de mémoire utilisée 
;   dwTotalPhys.l ; Taille de la mémoire en octects 
;   dwAvailPhys.l ; Quantité de mémoire libre en octects 
;   dwTotalPageFile.l 
;   dwAvailPageFile.l 
;   dwTotalVirtual.l 
;   dwAvailVirtual.l 
; EndStructure 

MemoireInfo.MEMORYSTATUS 
MemoireInfo\dwLength = SizeOf(MEMORYSTATUS) 


TextGadget(#PB_Any, 3, 3, 100, 15, "Mémoire libre : ") 
TextGadget(#PB_Any, 3, 18, 100, 15, "Mémoire occupée : ") 
TextGadget(#Libre, 103, 3, #TailleX - 6, 15, "") 
TextGadget(#Occupee, 103, 18, #TailleX - 6, 15, "") 

ProgressBarGadget(#Memoire, 1, 33, #TailleX - 2, 20, 0, 100, #PB_ProgressBar_Smooth) 

ButtonGadget(#Optimiser, 1, 54, #TailleX - 2, 22, "Optimiser la RAM") 

TextGadget(#Etat, 3, #TailleY  - 15, #TailleX - 6, 15, "") 

Timer = SetTimer_(WindowID(0), 0, 250, 0) 

Quitter = 0 

Repeat 
  Event = WaitWindowEvent() 

  If Event = #PB_Event_Gadget 
    Select EventGadget() ; boutons, zone de texte, ... 
      Case #Optimiser 
        If Total > 0 
          SetGadgetText(#Etat, "Opération en cours") 
          DisableGadget(#Optimiser, 1) 
          CreateThread(@Optimisation(), Total) 
        EndIf 
    EndSelect 
    
  ElseIf Event = #WM_TIMER ; On rafraichie l'affichage 
    GlobalMemoryStatus_(@MemoireInfo) ; On récupère les information sur la RAM 
    Pourcentage = MemoireInfo\dwMemoryLoad ; Pourcentage de RAM utilisée 
    Libre = MemoireInfo\dwAvailPhys / 1024 / 1024 ; Espace libre en Mo 
    Total = MemoireInfo\dwTotalPhys / 1024 / 1024 
    Occupee = Total - Libre ; Espace occupée en Mo 
    
    ; On affiche les valeurs 
    SetGadgetState(#Memoire, Pourcentage) 
    SetGadgetText(#Libre, Str(Libre) + " Mb") 
    SetGadgetText(#Occupee, Str(Occupee) + " Mb (" + Str(Pourcentage) + "%)") 
    
  ElseIf Event = #PB_Event_CloseWindow 
    If GetGadgetText(#Etat) = "" 
      Quitter = 1 
    EndIf 
  EndIf 
  
Until Quitter 

KillTimer_(WindowID(0), Timer) 
End
:wink:

Publié : ven. 11/janv./2008 21:07
par beauregard
SpaceMan a écrit :@ beauregard
je te remercie :)

Publié : ven. 11/janv./2008 21:08
par SpaceMan
:D