AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bildschirmfrequenz auslessen und ändern

Ein Thema von ferby · begonnen am 3. Jan 2006 · letzter Beitrag vom 5. Jan 2006
Antwort Antwort
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#1

Bildschirmfrequenz auslessen und ändern

  Alt 3. Jan 2006, 18:42
Hallo,

Ich suche eine möglichkeit die Bildschirmfrequenz (=Bildschirmaktualisierungsrate) auszulesen und zu verändern ohne dabei in irgendeiner weiße die registry zu verwenden.
Ist das möglich? Wenn ja wie?



Bin für jede Hilfe dankbar,
Ferby
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: Bildschirmfrequenz auslessen und ändern

  Alt 3. Jan 2006, 18:53
Moin!

Ja, ab Windows 2000 und neueren Betriebssystemen aus dem Hause Microsoft.

Ermitteln: MSDN-Library durchsuchenEnumDisplaySettings bzw. MSDN-Library durchsuchenEnumDisplaySettings bei MultiMon.
Setzen: MSDN-Library durchsuchenChangeDisplaySettings MSDN-Library durchsuchenChangeDisplaySettingsEx

MfG
Muetze1
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#3

Re: Bildschirmfrequenz auslessen und ändern

  Alt 3. Jan 2006, 19:32
Hallo,

mit diesen Seiten kenne ich mich zu wenig aus.... wie bekomme ich das in einen funktionierenden Delphi code???
  Mit Zitat antworten Zitat
Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#4

Re: Bildschirmfrequenz auslessen und ändern

  Alt 3. Jan 2006, 19:52
Hi, ich habe ein Infoprogramm erstellt und diese Funktion auch sehr lange gesucht (der Code liest die Frequenz nur aus):

Bidschirmwiederholungsfrequenz


Gruß
Mazel
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Bildschirmfrequenz auslessen und ändern

  Alt 3. Jan 2006, 19:56
Zitat von ferby:
mit diesen Seiten kenne ich mich zu wenig aus.... wie bekomme ich das in einen funktionierenden Delphi code???
Man könnte ja auch auf die völlig abwegige Idee kommen mit den oben genannten Stichwörtern mal hier im Forum zu suchen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#6

Re: Bildschirmfrequenz auslessen und ändern

  Alt 3. Jan 2006, 20:34
Hi,

@ Mazel
Danke, funktioniert super


@ Luckie
Hi, ich habe gerade gesucht aber leider nichts passendes gefunden
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#7

Re: Bildschirmfrequenz auslessen und ändern

  Alt 4. Jan 2006, 14:51
Hallo,

kann mir wirklich keiner Helfen?
Ich Suche nach einer möglichkeit die Bildschirmfrequenz zu ändern.....


Ferby
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Bildschirmfrequenz auslessen und ändern

  Alt 4. Jan 2006, 14:53
Hier im Forum suchenauflösung ändern
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#9

Re: Bildschirmfrequenz auslessen und ändern

  Alt 5. Jan 2006, 14:09
Hallo,

Habe jetzt meinen code Fertig,
danke.

Der Quellcode änder die Auflösung und stellt beim Beenden die Auflösung, Frequenz und Desktop Icons wieder her:

Delphi-Quellcode:
// ------------------------------------------------------------------------------ // Screen // ---------------------------------
function changescreen(Width, Height: Word; pfad: string): Boolean;
var
lpDevMode: TDeviceMode;
saveiconherstellen: boolean;
begin
  saveiconherstellen:=false;

  if width<>0 then
  begin
    ScreenAlt.x:=(screen.width);
    ScreenAlt.y:=(screen.height);
    refreshalt:=getrefresH;
    ShellExecute(0,'open', PChar(pfad + 'saveicon.exe'),'"\s"', nil, SW_Show);
    sleep(1000);
  end
  else
  begin
    saveiconherstellen:=true;
    width:=ScreenAlt.X;
    height:=ScreenAlt.Y;
  end;

  Result := EnumDisplaySettings(nil, 0, lpDevMode);
  if Result then
  begin
    lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT;
    lpDevMode.dmPelsWidth := Width;
    lpDevMode.dmPelsHeight := Height;
    lpDevMode.dmDisplayFrequency := refreshAlt;
    lpDevMode.dmFields := lpDevMode.dmFields Or DM_DISPLAYFREQUENCY;
    Result := ChangeDisplaySettings(lpDevMode,
    CDS_UPDATEREGISTRY) = DISP_CHANGE_SUCCESSFUL;
    if saveiconherstellen then ShellExecute(0,'open', PChar(pfad + 'saveicon.exe'),'"\r"', nil, SW_Show);
  end;

  if not Result then
  begin
    MessageBeep(MB_ICONERROR);
    MessageDlg('Fehler1' +#10#10+ 'Das Programm konnte die Auflösung nicht auf '+inttostr(width)+'x'+inttostr(height)+ ' umstellen.' +#10+ 'Es könnte sein das der Computer diese Auflösung nicht unterstützt' +#10+ 'Sollte der Computer diese Auflösung doch unterstüzen,' +#10+ 'dann stelle bitte die Auflösung manuel ein und starte das Spiel erneut.', mtError, [mbOK], 0);
    Application.Terminate;
  end;

end;

function GetRefresh : Integer;
var
  hDC : Cardinal;
begin
  hDC := GetDC(0);
  Result := GetDeviceCaps(hDC, VREFRESH);
  ReleaseDC(0, hDC);
end;


Ferby
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#10

Re: Bildschirmfrequenz auslessen und ändern

  Alt 5. Jan 2006, 14:26
Meine Meinung dazu: hier
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz