<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Auflösung des Monitors ändern]]></title><description><![CDATA[<p>Hi @ All.</p>
<p>ich kann ja die Auflösung bekommen, wenn ich das mache:</p>
<pre><code class="language-cpp">RECT rect;
SystemParametersInfo(SPI_GETWORKAREA, 0, &amp;rect, 0);
</code></pre>
<p>Wie kann ich die Farbtiefe bekommen? und dann die Werte auch ändern?</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/191312/auflösung-des-monitors-ändern</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 13:39:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/191312.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 01 Sep 2007 15:05:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Auflösung des Monitors ändern on Sat, 01 Sep 2007 15:45:21 GMT]]></title><description><![CDATA[<p>Hi @ All.</p>
<p>ich kann ja die Auflösung bekommen, wenn ich das mache:</p>
<pre><code class="language-cpp">RECT rect;
SystemParametersInfo(SPI_GETWORKAREA, 0, &amp;rect, 0);
</code></pre>
<p>Wie kann ich die Farbtiefe bekommen? und dann die Werte auch ändern?</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356838</guid><dc:creator><![CDATA[Script-Styler]]></dc:creator><pubDate>Sat, 01 Sep 2007 15:45:21 GMT</pubDate></item><item><title><![CDATA[Reply to Auflösung des Monitors ändern on Sat, 01 Sep 2007 16:06:20 GMT]]></title><description><![CDATA[<p>Hast du bereits in der MSDN nachgeschaut?</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356873</guid><dc:creator><![CDATA[Black Shadow]]></dc:creator><pubDate>Sat, 01 Sep 2007 16:06:20 GMT</pubDate></item><item><title><![CDATA[Reply to Auflösung des Monitors ändern on Sat, 01 Sep 2007 16:08:20 GMT]]></title><description><![CDATA[<p><a href="http://www.google.de/search?hl=de&amp;q=%22aufl%C3%B6sung+%C3%A4ndern%22+winapi&amp;btnG=Suche&amp;meta=" rel="nofollow">http://www.google.de/search?hl=de&amp;q=&quot;auflösung+ändern&quot;+winapi&amp;btnG=Suche&amp;meta=</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356874</guid><dc:creator><![CDATA[ss]]></dc:creator><pubDate>Sat, 01 Sep 2007 16:08:20 GMT</pubDate></item><item><title><![CDATA[Reply to Auflösung des Monitors ändern on Sat, 01 Sep 2007 16:12:50 GMT]]></title><description><![CDATA[<p>Also ich mache immer wenn ich eine solche allgemeine funktion aufrufe, die auf bestimmte #defines reagiert, immer erst mal einen test ob es nicht auch ein define gibt, wo set drin seht. Ganz einfach: man drück Strg+Leertaste und gibt dann SPI_SETW ein und schon sieht man: juhu es gibt ein SPI_SETWORKINGAREA, und nund kann der gesunde menschenverstand daraus schließen, dass man damit die auflösung einstellen kann. Zur sicherheit kann man nun noch schnell die dokumentation der funktion angucken und gut isses.</p>
<p>Naja aber ich habs ja nicht so mit dem (vielleicht etwas arrogrant wirkendem) [autocogito] à la TKKG.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356878</guid><dc:creator><![CDATA[ddffgff]]></dc:creator><pubDate>Sat, 01 Sep 2007 16:12:50 GMT</pubDate></item><item><title><![CDATA[Reply to Auflösung des Monitors ändern on Sat, 01 Sep 2007 16:31:32 GMT]]></title><description><![CDATA[<p>ja ich habe es versucht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>allerdings mit einer von mir erstellten klasse.</p>
<p>das will aber irgendwie nicht gehen, weiß der geier warum!</p>
<p>Die Klasse:</p>
<pre><code class="language-cpp">/* DisplaySettings.h */
#pragma once

class CDisplaySettings
{
public:
	CDisplaySettings(void);
	~CDisplaySettings(void);
	void Change(void);
	void Reset(void);

public:
	DEVMODE dmCurrent;
private:
	DEVMODE dmDefault;
};

/* DisplaySettings.cpp */
#include &lt;windows.h&gt;

#include &quot;DisplaySettings.h&quot;

CDisplaySettings::CDisplaySettings(void)
{
	// initialize
	dmDefault.dmSize = dmCurrent.dmSize = sizeof(DEVMODE);

	// Get device settings
	EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&amp;dmDefault);

	// copy to current
	memcpy(&amp;dmCurrent,&amp;dmDefault,sizeof(DEVMODE));
}

CDisplaySettings::~CDisplaySettings(void)
{
	Reset();
}

void CDisplaySettings::Change(void)
{
	// change settings
	ChangeDisplaySettings(&amp;dmCurrent,CDS_FULLSCREEN);
}

void CDisplaySettings::Reset(void)
{
	// change settings
	ChangeDisplaySettings(&amp;dmDefault,CDS_FULLSCREEN);

	// copy to current
	memcpy(&amp;dmCurrent,&amp;dmDefault,sizeof(DEVMODE));
}
</code></pre>
<p>Nun die Main.cpp</p>
<pre><code class="language-cpp">{
	CDisplaySettings dsDisplay;
	dsDisplay.dmCurrent.dmPelsWidth = 800;
	dsDisplay.dmCurrent.dmPelsHeight = 600;
	dsDisplay.dmCurrent.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;

	Sleep(10000);
	dsDisplay.Reset();
	return 0;
}
</code></pre>
<p>was ist daran falsch???</p>
<p>die klasse kompiliert er ohne fehler.</p>
<p>danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356897</guid><dc:creator><![CDATA[Script-Styler]]></dc:creator><pubDate>Sat, 01 Sep 2007 16:31:32 GMT</pubDate></item><item><title><![CDATA[Reply to Auflösung des Monitors ändern on Sat, 01 Sep 2007 16:37:04 GMT]]></title><description><![CDATA[<p>Vielleicht solltest du noch CDisplaySettings::Change aufrufen, wenn das nicht klappt, gibt ChangeDisplaySettings wahrscheinlich einen Wert zurück, der auf Erfolg/Fehler schließen lässt und eventuell sogar den <em>Grund</em> dafür, eventuell musst du auch die Funktion GetLastError zu Rate ziehen, alles eine Sache der MSDN</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356899</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sat, 01 Sep 2007 16:37:04 GMT</pubDate></item><item><title><![CDATA[Reply to Auflösung des Monitors ändern on Sat, 01 Sep 2007 16:40:37 GMT]]></title><description><![CDATA[<p>Du hast beispielsweise in den DEVMODE structs die ganzen member nicht auf 0 gesetzt. Ich würde die beiden DEVMODEs im ctor initialisieren</p>
<pre><code class="language-cpp">CDisplaySettings::CDisplaySettings(void) : dmDefault()
{
    // initialize
    dmDefault.dmSize = dmCurrent.dmSize = sizeof(DEVMODE);

    // Get device settings
    EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&amp;dmDefault);

    // copy to current
    dmCurrent = dmDefault; // Warum so schwer?
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1356903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356903</guid><dc:creator><![CDATA[dfgdfgfg]]></dc:creator><pubDate>Sat, 01 Sep 2007 16:40:37 GMT</pubDate></item><item><title><![CDATA[Reply to Auflösung des Monitors ändern on Sat, 01 Sep 2007 16:58:55 GMT]]></title><description><![CDATA[<p>soo, danke. wenn ich change aufrufe, dann klappts.</p>
<p>aber nun habe ich die Change-Funktion so geändert, dass man direkt den ganzen quark übergeben kann, aber irgendwie will er die Flags nicht hinzufügen.</p>
<pre><code class="language-cpp">void CDisplaySettings::Change(int nXRes, int nYRes, int nBits, int nFreq)
{
	dmCurrent.dmFields = NULL;
	if (nXRes &gt; 0)
	{
		dmCurrent.dmFields &amp;= DM_PELSWIDTH;
		dmCurrent.dmPelsWidth = nXRes;
	}
	if (nYRes &gt; 0)
	{
		dmCurrent.dmFields &amp;= DM_PELSHEIGHT;
		dmCurrent.dmPelsHeight = nYRes;
	}
	if (nBits &gt; 0)
	{
		dmCurrent.dmFields &amp;= DM_BITSPERPEL;
		dmCurrent.dmBitsPerPel = nBits;
	}
	if (nFreq &gt; 0)
	{
		dmCurrent.dmFields &amp;= DM_DISPLAYFREQUENCY;
		dmCurrent.dmDisplayFrequency = nFreq;
	}

	if (dmCurrent.dmFields != NULL)
	{
		// change settings
		ChangeDisplaySettings(&amp;dmCurrent,CDS_FULLSCREEN);
	}
}
</code></pre>
<p>thx.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356910</guid><dc:creator><![CDATA[Script-Styler]]></dc:creator><pubDate>Sat, 01 Sep 2007 16:58:55 GMT</pubDate></item><item><title><![CDATA[Reply to Auflösung des Monitors ändern on Sat, 01 Sep 2007 17:15:44 GMT]]></title><description><![CDATA[<p>du musst |= benutzten nicht &amp;=.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356924</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356924</guid><dc:creator><![CDATA[dfgfdfgd]]></dc:creator><pubDate>Sat, 01 Sep 2007 17:15:44 GMT</pubDate></item><item><title><![CDATA[Reply to Auflösung des Monitors ändern on Sat, 01 Sep 2007 18:02:54 GMT]]></title><description><![CDATA[<p>nBits is ned immer größer als 0.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356960</guid><dc:creator><![CDATA[programmChecker]]></dc:creator><pubDate>Sat, 01 Sep 2007 18:02:54 GMT</pubDate></item><item><title><![CDATA[Reply to Auflösung des Monitors ändern on Sat, 01 Sep 2007 18:07:16 GMT]]></title><description><![CDATA[<p>warum nBits nicht immer größer als null???</p>
<p>wie soll ich das verstehen?</p>
<p>txh.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356963</guid><dc:creator><![CDATA[Script-Styler]]></dc:creator><pubDate>Sat, 01 Sep 2007 18:07:16 GMT</pubDate></item><item><title><![CDATA[Reply to Auflösung des Monitors ändern on Sat, 01 Sep 2007 18:48:52 GMT]]></title><description><![CDATA[<p>sorry sorry dachte nBits wär ein bitfeld für flags</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1356986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1356986</guid><dc:creator><![CDATA[programmChecker]]></dc:creator><pubDate>Sat, 01 Sep 2007 18:48:52 GMT</pubDate></item></channel></rss>