Autor Beitrag
ArnoBruegge
Hält's aus hier
Beiträge: 5

WIN98, Win XP

BeitragVerfasst: Do 13.05.04 12:15 
Hallo!

Ich habe da ein Problem! Ich wollte ein Programm schreiben das
automatisch beim Starten des Programmes die Bildschirmauflösung
verändert z.B.: in 800*600. Ich weiß leider gar nicht, wie ich
da zu einer Lösung kommen könnte.

Danke schon mal im Vorraus!

ArnoBruegge

_________________
Man kann nicht der Beste sein, denn es gibt immer einen Besseren!
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: Do 13.05.04 12:27 
EDH200 hat folgendes geschrieben:
ausblenden volle Höhe 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:
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;

          // Neustart erforderlich.
          DISP_CHANGE_RESTART:
            Showmessage('You have to restart'); 

          // Nicht unbedingt ein Fehler,
          DISP_CHANGE_BADFLAGS:
            Showmessage('Bad display mode flags');

          // es klappt nicht, ohne nähere Begründung
          DISP_CHANGE_FAILED:
            Showmessage('Failed in changing resolution');

          // diese Auflösung gibt es nicht
          DISP_CHANGE_BADMODE:
            Showmessage('Display mode not supported');

          // Nur Windows NT
          DISP_CHANGE_NOTUPDATED:
            Showmessage('Registry could not be updated');

        else Result:=true;
        end;

        if Result then 
          //jetzt wird umgeschaltet
          ChangeDisplaySettings(DeviceMode, CDS_FULLSCREEN)
      end;
    Inc(i);
  end;
End;
Der Aufruf erfolgt über ChangeResolution(800,600,16).

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
toms
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1099
Erhaltene Danke: 2



BeitragVerfasst: Do 13.05.04 12:27 
Zitat:
Ich weiß leider gar nicht, wie ich
da zu einer Lösung kommen könnte.


Hi,

Googlen heisst deine Lösung:
www.google.ch/search...btnG=Suche&meta=