Entwickler-Ecke

Windows API - Mauszeigergeschwindigkeit beibehalten


Roy - So 23.11.08 16:28
Titel: Mauszeigergeschwindigkeit beibehalten
Hallo Leute,

ich lasse mein Programm durch die Funktion

Delphi-Quelltext
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:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
function ChangeResolution(sizex, sizey, bpp: DWORD): Boolean;
var
 DeviceMode: TDeviceModeA;
 i: Integer;
begin
 i := 0;
 Result := False;
 while EnumDisplaySettings(nil, i, DeviceMode) do begin
   with DeviceMode do
     if (dmPelsWidth = sizex) and
        (dmPelsHeight = SizeY) and
        (dmBitsPerPel = bpp) then begin
       // erst testen, bevor wir umschalten!
       case ChangeDisplaySettings(DeviceMode, CDS_TEST) of
         // es wird klappen!
         DISP_CHANGE_SUCCESSFUL:
           Result := True;

         DISP_CHANGE_RESTART:
           Showmessage('Neustart erforderlich');

         DISP_CHANGE_BADFLAGS:
           Showmessage('Ungültige Bildschirmeinstellungen');

         DISP_CHANGE_FAILED:
           Showmessage('Auflösung konnte nicht geändert werden');

         DISP_CHANGE_BADMODE:
           Showmessage('Bildschirm unterstützt diese Auflösung nicht');

         // Nur Windows NT
         DISP_CHANGE_NOTUPDATED:
           Showmessage('Registry konnte nicht aktualisiert werden');

       else
         Result := True;
       end;

       if Result then
         //jetzt wird umgeschaltet
         ChangeDisplaySettings(DeviceMode, CDS_FULLSCREEN)
     end;
   Inc(i);
 end;
end;



procedure TForm1.FormShow(Sender: TObject);
begin
  ChangeResolution(102476832);
end;


die Bildschirmauflösung (1024x768 Pixel) setzen.

Mein Problem ist das nach dieser Einstellung bis zum schließen meines Programmes der Mauszeiger seine Ursprüngliche Geschwindigkeit verliert. Er wird schneller.
Wie kann ich das verhindern?

Danke