From: NoSpam on 14 Apr 2010 12:15 I have found many articles on the web about the use of GetSystemMetrics(n) to determine the screen resolution by using n=0 and n=1. However, running the code: Declare Function GetSystemMetrics32 Lib "user32" _ Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long Sub x() Dim i As Long For i = 1 To 300 Range("A" & i) = i - 1 Range("B" & i) = GetSystemMetrics32(i - 1) Next i End Sub Seems to be giving meaningful values for n=0-84. All n>84 return 0. I found that n=80 gives the number of monitors. Is there a list of all meaningful values of n? (I haven't been able to find one.) Many thanks.
From: Rick Rothstein on 14 Apr 2010 12:39 Here is a link to a list of arguments (there are only about 38 of them) and what they mean... http://support.microsoft.com/kb/210603 -- Rick (MVP - Excel) <NoSpam(a)aol.com> wrote in message news:1hpbs594d6mtagctqsra5g7f6th919dvgv(a)4ax.com... > I have found many articles on the web about the use of GetSystemMetrics(n) > to determine the screen resolution by using n=0 and n=1. However, running > the code: > Declare Function GetSystemMetrics32 Lib "user32" _ > Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long > > Sub x() > Dim i As Long > > For i = 1 To 300 > Range("A" & i) = i - 1 > Range("B" & i) = GetSystemMetrics32(i - 1) > Next i > End Sub > > Seems to be giving meaningful values for n=0-84. All n>84 return 0. > > I found that n=80 gives the number of monitors. > > Is there a list of all meaningful values of n? (I haven't been able to > find one.) > > Many thanks.
From: NoSpam on 14 Apr 2010 13:29 Thanks for the reply and the list. From experimentation, there must be many more valid arguments. For example, as I mentioned, n=80 returns the number of monitors and that value is not on Microsoft's list in kb/210603. I tried adding and deleting monitors from my multiple monitor system, and n=80 always gave the current number of monitors. On my system, 66 values of n returned a non-zero value. Some of the zero returns also had meaning according to kb/210603. On Wed, 14 Apr 2010 12:39:30 -0400, "Rick Rothstein" <rick.newsNO.SPAM(a)NO.SPAMverizon.net> wrote: >Here is a link to a list of arguments (there are only about 38 of them) and >what they mean... > >http://support.microsoft.com/kb/210603
From: Rick Rothstein on 14 Apr 2010 13:41 A little more searching revealed this link which shows more parameter values, but without an explanation (only somewhat cryptic parameter names as a hint)... http://wiki.tcl.tk/15401 -- Rick (MVP - Excel) <NoSpam(a)aol.com> wrote in message news:i8sbs5t0l6riadtqnpe0cqbfuokoc72ncs(a)4ax.com... > Thanks for the reply and the list. > > From experimentation, there must be many more valid arguments. For > example, as I mentioned, n=80 returns the number of monitors and that > value > is not on Microsoft's list in kb/210603. I tried adding and deleting > monitors from my multiple monitor system, and n=80 always gave the current > number of monitors. > > On my system, 66 values of n returned a non-zero value. Some of the zero > returns also had meaning according to kb/210603. > > On Wed, 14 Apr 2010 12:39:30 -0400, "Rick Rothstein" > <rick.newsNO.SPAM(a)NO.SPAMverizon.net> wrote: > >>Here is a link to a list of arguments (there are only about 38 of them) >>and >>what they mean... >> >>http://support.microsoft.com/kb/210603 >
|
Pages: 1 Prev: Need help with VBA help Next: Turning off whole word selection in Excel 2007 |