Bonjour,
Je suis débutant en Delphi et je dois désactiver l'écran de veille de ma machine.
Je souhaite utiliser SystemParametersInfo afin de faire cela.
Le paramètre pvParam est de type PVOID sur le site de msdn http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
Je n'arrive pas à faire marcher cette fonction...
Voici ma section [code]
J'appelle SystemParametersInfo dans la procedure DeinitializeSetup() mais c'est juste pour mon test.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 const MB_ICONINFORMATION = $40; SPI_SETSCREENSAVEACTIVE = $17; SPIF_UPDATEINIFILE= 0; //importing a Windows API function function MessageBox(hWnd: Integer; lpText, lpCaption: AnsiString; uType: Cardinal): Integer; external 'MessageBoxA@user32.dll stdcall'; function SystemParametersInfo(uiAction: Cardinal; uiParam: Boolean; pvParam: cardinal; fWinIni:Cardinal): boolean; external 'SystemParametersInfoA@user32.dll stdcall'; procedure DeinitializeSetup(); var obj: Variant; va: boolean; hWnd: Integer; begin va := SystemParametersInfo(SPI_SETSCREENSAVEACTIVE,FALSE,0,SPIF_UPDATEINIFILE); if va = FALSE then begin MessageBox(hWnd, 'Changement ecran veille fail', 'MessageBoxA', MB_OK or MB_ICONINFORMATION); end; end;
Je suis obligé de mettre pvParam en "Cardinal" et de lui envoyer "0" pour que ça compile mais ça ne fonctionne pas.
Il faudrait mettre "nil" mais je ne suis même pas sûr que ça fonctionnerai.
Je ne sais pas si j'ai été clair.
Merci d'avance de vos réponses.
Partager