<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >
<channel>
<title>Visual basic</title>
<link>http://vb-6.blogfa.com/</link>
<description></description>
<language>fa</language>
<generator>blogfa.com</generator>
<lastBuildDate>Sun, 15 Mar 2009 13:25:18 GMT</lastBuildDate>
<item>
<title>API چیست ؟</title>
<link>http://vb-6.blogfa.com/post-2.aspx</link>
<description>&lt;FONT size=1&gt; &lt;/FONT&gt; 
&lt;DIV dir=rtl align=right&gt;&lt;FONT face=Tahoma&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT size=1&gt;&lt;SPAN dir=ltr&gt;API&lt;/SPAN&gt; مخفف &lt;SPAN dir=ltr&gt;Application Programming Interface&lt;/SPAN&gt; مي‌باشد كه به معناي رابط برنامه‌سازي كاربردي است.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl align=right&gt;&lt;FONT face=Tahoma size=1&gt;&lt;EM&gt;&lt;STRONG&gt;نام &lt;SPAN dir=ltr&gt;API&lt;/SPAN&gt; به توابعي اطلاق مي‌شود كه در فايلهاي مختلف ويندوز مانند &lt;SPAN dir=ltr&gt;Advapi32.dll&lt;/SPAN&gt; ، &lt;SPAN dir=ltr&gt;User32dll&lt;/SPAN&gt; ، &lt;SPAN dir=ltr&gt;Ole32.dll&lt;/SPAN&gt; ، &lt;SPAN dir=ltr&gt;Kernel32.dll&lt;/SPAN&gt; ، &lt;SPAN dir=ltr&gt;Winmm.dll&lt;/SPAN&gt; ، &lt;SPAN dir=ltr&gt;Winspool.drr&lt;/SPAN&gt; ، &lt;SPAN dir=ltr&gt;Gdi32.dll&lt;/SPAN&gt; ، &lt;SPAN dir=ltr&gt;Mpr.dll&lt;/SPAN&gt; ، &lt;SPAN dir=ltr&gt;Netapi32.dll&lt;/SPAN&gt; ، &lt;SPAN dir=ltr&gt;Sheu32.dll&lt;/SPAN&gt; ، &lt;SPAN dir=ltr&gt;Rasapi32.dll&lt;/SPAN&gt; ، &lt;SPAN dir=ltr&gt;Version.dll&lt;/SPAN&gt; ، &lt;SPAN dir=ltr&gt;Wsock32.dll&lt;/SPAN&gt; ، &lt;SPAN dir=ltr&gt;Comdlg32.dll&lt;/SPAN&gt;، وجود دارند.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl align=right&gt;&lt;FONT face=Tahoma size=1&gt;&lt;EM&gt;&lt;STRONG&gt;ويندوز براي صدها كار مختلف خود از اين تابع‌ها استفاده مي‌كند و برنامه‌هاي كاربردي نيز به طور متعدد از اين توابع استفاده مي‌كنند. به عنوان مثال در زبان برنامه‌نويسي ويژوال بيسيك هر خط كد را كه تايپ مي‌‌كنيد و بعد برنامه را &lt;SPAN dir=ltr&gt;Run&lt;/SPAN&gt; مي‌كنيد، توسط توابع &lt;SPAN dir=ltr&gt;API&lt;/SPAN&gt; كنترل مي‌شوند. هنگامي كه دستور &lt;SPAN dir=ltr&gt;Form1.Print&lt;/SPAN&gt; &lt;SPAN&gt;را براي نمايش يك پيغام بر روي فرم صادر مي‌كند، در واقع ويژوال بيسيك در پشت صحنه از تابع &lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;API&lt;/SPAN&gt;، &lt;SPAN dir=ltr&gt;Textout&lt;/SPAN&gt; جهت نمايش اين پيغام استفاده مي‌كند و يا هنگامي كه از توابع رسم بيضي استفاده مي‌كنيد، درحقيقت از تابع &lt;SPAN dir=ltr&gt;API&lt;/SPAN&gt;، &lt;SPAN dir=ltr&gt;Elliptic&lt;/SPAN&gt; استفاده مي‌شود.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl align=right&gt;&lt;FONT face=Tahoma size=1&gt;&lt;EM&gt;&lt;STRONG&gt;و همچنين توابع ديگر، حركت ماوس، صفحه كليد، رنگها، دكمه‌ها، منوها و صدها عمليات ديگر.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl align=right&gt;&lt;FONT face=Tahoma size=1&gt;&lt;EM&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl align=right&gt;&lt;FONT face=Tahoma size=1&gt;&lt;EM&gt;&lt;STRONG&gt;علت استفاده از توابع &lt;SPAN dir=ltr&gt;API&lt;/SPAN&gt; در برنامه‌نويسي&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl align=right&gt;&lt;FONT face=Tahoma size=1&gt;&lt;EM&gt;&lt;STRONG&gt;دلايل استفاده از توابع &lt;SPAN dir=ltr&gt;API&lt;/SPAN&gt; در زبانهاي مختلف برنامه‌نويسي مي‌تواند اين باشد كه:&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl align=right&gt;&lt;FONT face=Tahoma&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT size=1&gt;&lt;SPAN&gt;1.&lt;SPAN&gt;      &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;API&lt;SPAN dir=rtl&gt;توابع &lt;/SPAN&gt;&lt;/SPAN&gt; به دليل آنكه در فايلهاي &lt;SPAN dir=ltr&gt;dll&lt;/SPAN&gt; هر سيستم عامل ويندوز مي‌باشد و در هر مكان مانند يكديگر مي‌باشند پس نيازي به ارائه آن فايل &lt;SPAN dir=ltr&gt;dll&lt;/SPAN&gt; در نسخه برنامه نمي‌باشد و درنتيجه حجم نسخه كم مي‌شود و درضمن سنديت برنامه نيز بيشتر مي‌شود و مي‌توان گفت كه شما از منابع ويندوز به نحو احسن استفاده كرده‌ايد.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl align=right&gt;&lt;FONT face=Tahoma&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT size=1&gt;&lt;SPAN&gt;2.&lt;SPAN&gt;      &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=rtl&gt;نسخه‌هاي ويندوز به طور مداوم تغيير مي كند ولي به دليل آنكه سازندگان هميشه حالتي را در نظر مي‌‌گيرند كه نسخه‌هاي قبلي را نيز پشتيباني كند. درنتيجه اگر شما برنامه‌اي را به كمك توابع &lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;API&lt;/SPAN&gt; بنويسيد با تغیير نسخه ويندوز نيازي به تغيیر جدي در توابع &lt;SPAN dir=ltr&gt;API&lt;/SPAN&gt; نمي‌باشد.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl align=right&gt;&lt;FONT face=Tahoma&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT size=1&gt;&lt;SPAN&gt;3.&lt;SPAN&gt;      &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=rtl&gt;بيشتر زبانهاي برنامه‌نويسي (به‌خصوص زبانهاي تحت ويندوز كه خود به صورت پنهان از توابع &lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;API&lt;/SPAN&gt; استفاده مي‌كنند، ممكن است به علت محدوديتهایي نتوانند تمام امكانات توابع را در اختيار قرا دهند. شما با دسترسي مستقيم به توابع مي‌توانيد از حداكثر قابليتهاي تابع استفاده كنيد.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl align=right&gt;&lt;FONT face=Tahoma&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT size=1&gt;&lt;SPAN&gt;4.&lt;SPAN&gt;      &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=rtl&gt;در بعضي از زبانهاي برنامه‌نويسي براي آنكه بتوان يك حالت را بوجود آورد و يا كار مشخصي را انجام داد، بايد كدهای زيادي بنويسيم و يا در زمان خطاگيري مدت زيادي را صرف كنيم و به طور حتم كاربر استفاده‌كننده از برنامه شما نيز بايد زمان بيشتري را براي گرفتن جواب صرف كند. اين موارد ذكر شده هر كدام به نوبه خود مي‌توانند از محبوبيت، قدرتمند و خوانابودن برنامه بكاهند. ولي توابع &lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;API&lt;/SPAN&gt; به دليل آنكه روتين شده و از قبل نوشته شده مي‌باشند پس فقط كافيست تابع را فراخواني كنيم و به آن ورودي دهيم و خروجي مورد نظر خود را دريافت كنيم.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl align=right&gt;&lt;FONT face=Tahoma&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT size=1&gt;&lt;SPAN&gt;5.&lt;SPAN&gt;      &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=rtl&gt;همانطور كه در توابع اين كتاب نيز خواهيد ديد، بيشتر توابع كارهايي را انجام مي‌دهند كه زبانهاي برنامه‌نويسي قادر به انجام آن نمي‌باشند. به عنوان مثال به تابع &lt;/SPAN&gt;&lt;SPAN dir=ltr&gt;SetlateradwindowAttributes&lt;/SPAN&gt; مراجعه كنيد كه باعث مي‌‌شود يك پنجره (فرم و يا كنترلهاي داخل آن) و با يك رنگ مشخص در آنها به مقدار دلخواه به حالت شفاف و &lt;SPAN dir=ltr&gt;Transparent&lt;/SPAN&gt; تبديل شوند. و يا توابع ديگر مانند &lt;SPAN dir=ltr&gt;StretchBlt , TransparentBlt , LokworkStation , TimGetTim , SHShutDownDialog&lt;/SPAN&gt; و ...&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV dir=rtl align=right&gt;&lt;FONT face=Tahoma&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT size=1&gt;&lt;SPAN&gt;6.&lt;SPAN&gt;      &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN dir=rtl&gt;و چندين علت ديگر....&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/DIV&gt;</description>
<pubDate>Sun, 15 Mar 2009 13:25:18 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=vb-6&amp;postid=2</comments>
<dc:creator>vb-6</dc:creator>
<guid>http://vb-6.blogfa.com/post-2.aspx</guid>
</item>
<item>
<title> توابع API</title>
<link>http://vb-6.blogfa.com/post-1.aspx</link>
<description>&lt;P dir=rtl style=&quot;MARGIN-LEFT: 0px&quot;&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SUP&gt;توابع API  به وسیله زبان C نوشته شده است و به وسیله API TEXT VIEWER استفاده میشود&lt;/SUP&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 0px&quot;&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SUP&gt;ویندوز شامل هزاران تابع APIاست&lt;/SUP&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 0px&quot;&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SUP&gt;از دستور Public  در کد ماژول استفاده میکنیم&lt;/SUP&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 0px&quot;&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SUP&gt;دستور Declare برای فراخوانی توابع خارج از وی بی استفاده میشود&lt;/SUP&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SUP&gt; &lt;/SUP&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 0px&quot;&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SUP&gt;دستور Alias به عنوان لقب تابع استفاده میشود&lt;/SUP&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 0px&quot;&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SUP&gt;مثا&lt;/SUP&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SUP&gt;ل اول  &lt;/SUP&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SUP&gt;:Public Declare Function ShowCursor Lib &quot;user32&quot; Alias &quot;ShowCursor&quot; (ByVal bShow As Long) As Long&lt;/SUP&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SUP&gt;&lt;BR&gt;مثال دوم:&lt;/SUP&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SUP&gt;
&lt;DIV dir=rtl style=&quot;BORDER-RIGHT: #c2ceda 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #c2ceda 1px solid; MARGIN-TOP: 12px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: #c2ceda 1px solid; PADDING-TOP: 4px; BORDER-BOTTOM: #c2ceda 1px solid; TEXT-ALIGN: right&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #353535; FONT-FAMILY: Tahoma; TEXT-DECORATION: none&quot;&gt;&lt;B&gt;اطلاعات پارامتر:&lt;/B&gt;&lt;BR&gt;Declare Function EnumDisplaySettings Lib &quot;user32&quot; Alias &quot;EnumDisplaySettingsA&quot; (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean&lt;BR&gt;&lt;BR&gt;· lpszDeviceName&lt;BR&gt;Pointer to a null-terminated string that specifies the display device whose graphics mode the function will obtain information about.&lt;BR&gt;This parameter can be NULL. A NULL value specifies the current display device on the computer that the calling thread is running on.&lt;BR&gt;If lpszDeviceName is not NULL, the string must be of the form \\.\DisplayX, where X can have the values 1, 2, or 3.&lt;BR&gt;Windows 95: lpszDeviceName must be NULL.&lt;BR&gt;&lt;BR&gt;· iModeNum&lt;BR&gt;Index value that specifies the graphics mode for which information is to be obtained.&lt;BR&gt;Graphics mode indexes start at zero. To obtain information for all of a display device’s graphics modes, make a series of calls to EnumDisplaySettings, as follows: Set iModeNum to zero for the first call, and increment iModeNum by one for each subsequent call. Continue calling the function until the return value is FALSE.&lt;BR&gt;When you call EnumDisplaySettings with iModeNum set to zero, the operating system initializes and caches information about the display device. When you call EnumDisplaySettings with iModeNum set to a non-zero value, the function returns the information that was cached the last time the function was called with iModeNum set to zero.&lt;BR&gt;&lt;BR&gt;· lpDevMode&lt;BR&gt;Pointer to a DEVMODE structure into which the function stores information about the specified graphics mode.&lt;BR&gt;The EnumDisplaySettings function sets values for the following five DEVMODE members:&lt;BR&gt;dmBitsPerPel&lt;BR&gt;dmPelsWidth&lt;BR&gt;dmPelsHeight&lt;BR&gt;dmDisplayFlags&lt;BR&gt;dmDisplayFrequency &lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P dir=rtl style=&quot;MARGIN-LEFT: 0px&quot;&gt;&lt;BR&gt; &lt;/P&gt;
&lt;DIV style=&quot;BORDER-RIGHT: #c2ceda 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #c2ceda 1px solid; MARGIN-TOP: 12px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: #c2ceda 1px solid; PADDING-TOP: 4px; BORDER-BOTTOM: #c2ceda 1px solid; TEXT-ALIGN: left&quot;&gt;&lt;SPAN style=&quot;FONT-SIZE: 12px; COLOR: #353535; FONT-FAMILY: Tahoma; TEXT-DECORATION: none&quot;&gt;
&lt;P align=right&gt;&lt;B&gt;:مثال&lt;/B&gt;&lt;/P&gt;
&lt;DIV class=vbScript&gt;&lt;SPAN class=Reserved&gt;Option&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Explicit&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;WM_DISPLAYCHANGE&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;&amp;&lt;/SPAN&gt;&lt;SPAN class=&quot;&quot;&gt;H7E&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;HWND_BROADCAST&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;&amp;&lt;/SPAN&gt;&lt;SPAN class=&quot;&quot;&gt;HFFFF&lt;/SPAN&gt;&lt;SPAN class=Operator&gt;&amp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;EWX_LOGOFF&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;0&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;EWX_SHUTDOWN&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;1&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;EWX_REBOOT&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;2&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;EWX_FORCE&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;4&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;CCDEVICENAME&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;32&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;CCFORMNAME&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;32&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;DM_BITSPERPEL&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;&amp;&lt;/SPAN&gt;&lt;SPAN class=&quot;&quot;&gt;H40000&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;DM_PELSWIDTH&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;&amp;&lt;/SPAN&gt;&lt;SPAN class=&quot;&quot;&gt;H80000&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;DM_PELSHEIGHT&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;&amp;&lt;/SPAN&gt;&lt;SPAN class=&quot;&quot;&gt;H100000&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;CDS_UPDATEREGISTRY&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;&amp;&lt;/SPAN&gt;&lt;SPAN class=&quot;&quot;&gt;H1&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;CDS_TEST&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;&amp;&lt;/SPAN&gt;&lt;SPAN class=&quot;&quot;&gt;H4&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;DISP_CHANGE_SUCCESSFUL&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;0&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;DISP_CHANGE_RESTART&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;1&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Const&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;BITSPIXEL&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;12&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Private&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Type&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;DEVMODE&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmDeviceName&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;String&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;*&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;CCDEVICENAME&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmSpecVersion&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmDriverVersion&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmSize&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmDriverExtra&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmFields&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmOrientation&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmPaperSize&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmPaperLength&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmPaperWidth&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmScale&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmCopies&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmDefaultSource&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmPrintQuality&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmColor&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmDuplex&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmYResolution&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmTTOption&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmCollate&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmFormName&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;String&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;*&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;CCFORMNAME&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmUnusedPadding&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmBitsPerPel&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmPelsWidth&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmPelsHeight&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmDisplayFlags&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;dmDisplayFrequency&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;End&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Type&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Private&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Declare&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Function&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;EnumDisplaySettings&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Lib&lt;/SPAN&gt; &lt;SPAN class=String&gt;&quot;user32&quot;&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Alias&lt;/SPAN&gt; &lt;SPAN class=String&gt;&quot;EnumDisplaySettingsA&quot;&lt;/SPAN&gt; (&lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;lpszDeviceName&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;, &lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;iModeNum&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;lpDevMode&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Any&lt;/SPAN&gt;) &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Boolean&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Private&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Declare&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Function&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;ChangeDisplaySettings&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Lib&lt;/SPAN&gt; &lt;SPAN class=String&gt;&quot;user32&quot;&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Alias&lt;/SPAN&gt; &lt;SPAN class=String&gt;&quot;ChangeDisplaySettingsA&quot;&lt;/SPAN&gt; (&lt;SPAN class=&quot;&quot;&gt;lpDevMode&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Any&lt;/SPAN&gt;, &lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;dwFlags&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;) &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Private&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Declare&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Function&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;ExitWindowsEx&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Lib&lt;/SPAN&gt; &lt;SPAN class=String&gt;&quot;user32&quot;&lt;/SPAN&gt; (&lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;uFlags&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;, &lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;dwReserved&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;) &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Private&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Declare&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Function&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;GetDeviceCaps&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Lib&lt;/SPAN&gt; &lt;SPAN class=String&gt;&quot;gdi32&quot;&lt;/SPAN&gt; (&lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;hdc&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;, &lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;nIndex&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;) &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Private&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Declare&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Function&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;CreateDC&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Lib&lt;/SPAN&gt; &lt;SPAN class=String&gt;&quot;gdi32&quot;&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Alias&lt;/SPAN&gt; &lt;SPAN class=String&gt;&quot;CreateDCA&quot;&lt;/SPAN&gt; (&lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;lpDriverName&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;String&lt;/SPAN&gt;, &lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;lpDeviceName&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;String&lt;/SPAN&gt;, &lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;lpOutput&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;String&lt;/SPAN&gt;, &lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;lpInitData&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Any&lt;/SPAN&gt;) &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Private&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Declare&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Function&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;DeleteDC&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Lib&lt;/SPAN&gt; &lt;SPAN class=String&gt;&quot;gdi32&quot;&lt;/SPAN&gt; (&lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;hdc&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;) &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Private&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Declare&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Function&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;SendMessage&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Lib&lt;/SPAN&gt; &lt;SPAN class=String&gt;&quot;user32&quot;&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Alias&lt;/SPAN&gt; &lt;SPAN class=String&gt;&quot;SendMessageA&quot;&lt;/SPAN&gt; (&lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;hwnd&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;, &lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;wMsg&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;, &lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;wParam&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;lParam&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Any&lt;/SPAN&gt;) &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Dim&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;OldX&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;OldY&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;nDC&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Sub&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;ChangeRes&lt;/SPAN&gt;(&lt;SPAN class=&quot;&quot;&gt;X&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;Y&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;Bits&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;)&lt;BR&gt;&lt;SPAN class=Reserved&gt;Dim&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;DevM&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;DEVMODE&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;ScInfo&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;erg&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;an&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;VbMsgBoxResult&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Comment&gt;&apos;Get the info into DevM&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;erg&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;EnumDisplaySettings&lt;/SPAN&gt;(&lt;SPAN class=&quot;&quot;&gt;0&lt;/SPAN&gt;&lt;SPAN class=Operator&gt;&amp;&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;0&lt;/SPAN&gt;&lt;SPAN class=Operator&gt;&amp;&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;DevM&lt;/SPAN&gt;)&lt;BR&gt;&lt;SPAN class=Comment&gt;&apos;This is what we&apos;re going to change&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;DevM.dmFields&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;DM_PELSWIDTH&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Or&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;DM_PELSHEIGHT&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Or&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;DM_BITSPERPEL&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;DevM.dmPelsWidth&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;X&lt;/SPAN&gt; &lt;SPAN class=Comment&gt;&apos;ScreenWidth&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;DevM.dmPelsHeight&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Y&lt;/SPAN&gt; &lt;SPAN class=Comment&gt;&apos;ScreenHeight&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;DevM.dmBitsPerPel&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Bits&lt;/SPAN&gt; &lt;SPAN class=Comment&gt;&apos;(can be 8, 16, 24, 32 or even 4)&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Comment&gt;&apos;Now change the display and check if possible&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;erg&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;ChangeDisplaySettings&lt;/SPAN&gt;(&lt;SPAN class=&quot;&quot;&gt;DevM&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;CDS_TEST&lt;/SPAN&gt;)&lt;BR&gt;&lt;SPAN class=Comment&gt;&apos;Check if succesfull&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Select&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Case&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;erg&lt;/SPAN&gt;&lt;SPAN class=Operator&gt;&amp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Case&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;DISP_CHANGE_RESTART&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;an&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=Function&gt;MsgBox&lt;/SPAN&gt;(&lt;SPAN class=String&gt;&quot;You&apos;ve to reboot&quot;&lt;/SPAN&gt;, &lt;SPAN class=Constant&gt;vbYesNo&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;+&lt;/SPAN&gt; &lt;SPAN class=Constant&gt;vbSystemModal&lt;/SPAN&gt;, &lt;SPAN class=String&gt;&quot;Info&quot;&lt;/SPAN&gt;)&lt;BR&gt;&lt;SPAN class=Reserved&gt;If&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;an&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=Constant&gt;vbYes&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Then&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;erg&lt;/SPAN&gt;&lt;SPAN class=Operator&gt;&amp;&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;ExitWindowsEx&lt;/SPAN&gt;(&lt;SPAN class=&quot;&quot;&gt;EWX_REBOOT&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;0&lt;/SPAN&gt;&lt;SPAN class=Operator&gt;&amp;&lt;/SPAN&gt;)&lt;BR&gt;&lt;SPAN class=Reserved&gt;End&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;If&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Case&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;DISP_CHANGE_SUCCESSFUL&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;erg&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;ChangeDisplaySettings&lt;/SPAN&gt;(&lt;SPAN class=&quot;&quot;&gt;DevM&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;CDS_UPDATEREGISTRY&lt;/SPAN&gt;)&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;ScInfo&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Y&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;*&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;2&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;^&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;16&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;+&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;X&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Comment&gt;&apos;Notify all the windows of the screen resolution change&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;SendMessage&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;HWND_BROADCAST&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;WM_DISPLAYCHANGE&lt;/SPAN&gt;, &lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Bits&lt;/SPAN&gt;, &lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;ScInfo&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Function&gt;MsgBox&lt;/SPAN&gt; &lt;SPAN class=String&gt;&quot;Everything&apos;s ok&quot;&lt;/SPAN&gt;, &lt;SPAN class=Constant&gt;vbOKOnly&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;+&lt;/SPAN&gt; &lt;SPAN class=Constant&gt;vbSystemModal&lt;/SPAN&gt;, &lt;SPAN class=String&gt;&quot;It worked!&quot;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Case&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Else&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Function&gt;MsgBox&lt;/SPAN&gt; &lt;SPAN class=String&gt;&quot;Mode not supported&quot;&lt;/SPAN&gt;, &lt;SPAN class=Constant&gt;vbOKOnly&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;+&lt;/SPAN&gt; &lt;SPAN class=Constant&gt;vbSystemModal&lt;/SPAN&gt;, &lt;SPAN class=String&gt;&quot;Error&quot;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;End&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Select&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;End&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Sub&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Private&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Sub&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Form_Load&lt;/SPAN&gt;()&lt;BR&gt;&lt;SPAN class=Reserved&gt;Dim&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;nDC&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Long&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Comment&gt;&apos;retrieve the screen&apos;s resolution&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;OldX&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Screen.Width&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;/&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Screen.TwipsPerPixelX&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;OldY&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Screen.Height&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;/&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Screen.TwipsPerPixelY&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Comment&gt;&apos;Create a device context, compatible with the screen&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;nDC&lt;/SPAN&gt; &lt;SPAN class=Operator&gt;=&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;CreateDC&lt;/SPAN&gt;(&lt;SPAN class=String&gt;&quot;DISPLAY&quot;&lt;/SPAN&gt;, &lt;SPAN class=Constant&gt;vbNullString&lt;/SPAN&gt;, &lt;SPAN class=Constant&gt;vbNullString&lt;/SPAN&gt;, &lt;SPAN class=Reserved&gt;ByVal&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;0&lt;/SPAN&gt;&lt;SPAN class=Operator&gt;&amp;&lt;/SPAN&gt;)&lt;BR&gt;&lt;SPAN class=Comment&gt;&apos;Change the screen&apos;s resolution&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;ChangeRes&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;640&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;480&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;GetDeviceCaps&lt;/SPAN&gt;(&lt;SPAN class=&quot;&quot;&gt;nDC&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;BITSPIXEL&lt;/SPAN&gt;)&lt;BR&gt;&lt;SPAN class=Reserved&gt;End&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Sub&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;Private&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Sub&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;Form_Unload&lt;/SPAN&gt;(&lt;SPAN class=&quot;&quot;&gt;Cancel&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;As&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Integer&lt;/SPAN&gt;)&lt;BR&gt;&lt;SPAN class=Comment&gt;&apos;restore the screen resolution&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;ChangeRes&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;OldX&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;OldY&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;GetDeviceCaps&lt;/SPAN&gt;(&lt;SPAN class=&quot;&quot;&gt;nDC&lt;/SPAN&gt;, &lt;SPAN class=&quot;&quot;&gt;BITSPIXEL&lt;/SPAN&gt;)&lt;BR&gt;&lt;SPAN class=Comment&gt;&apos;delete our device context&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=&quot;&quot;&gt;DeleteDC&lt;/SPAN&gt; &lt;SPAN class=&quot;&quot;&gt;nDC&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=Reserved&gt;End&lt;/SPAN&gt; &lt;SPAN class=Reserved&gt;Sub&lt;/SPAN&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/SUP&gt;&lt;/EM&gt;&lt;/STRONG&gt;</description>
<pubDate>Wed, 18 Feb 2009 20:00:18 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=vb-6&amp;postid=1</comments>
<dc:creator>vb-6</dc:creator>
<guid>http://vb-6.blogfa.com/post-1.aspx</guid>
</item>
</channel>
</rss>
