-
Mar 14th, 2009, 01:52 PM
#1
Thread Starter
Fanatic Member
[2008] How to adjust screen brightness?
Is it possible to adjust monitor screen brightness [usually do via [fn]+F7/F8] via VB.NET?
If so how?
Life is a one way journey, not a destination. Travel it with a smile and never regret anything.
Yesterday is history, tomorrow is a mystery, today is gift - that's why we call it present.
-
Mar 14th, 2009, 01:58 PM
#2
Re: [2008] How to adjust screen brightness?
Hey,
From a quick google search, I believe this is possible using:
http://pinvoke.net/default.aspx/gdi3...GammaRamp.html
Here is an article about it:
http://www.nirsoft.net/vc/change_screen_brightness.html
Hope that helps!!
Gary
-
Mar 14th, 2009, 02:04 PM
#3
Thread Starter
Fanatic Member
Re: [2008] How to adjust screen brightness?
Hmm, not very straight forward. I was thinking about a function where I can pass RGB values/intensity temperature to get it adjusted.
Life is a one way journey, not a destination. Travel it with a smile and never regret anything.
Yesterday is history, tomorrow is a mystery, today is gift - that's why we call it present.
-
Mar 14th, 2009, 02:08 PM
#4
Re: [2008] How to adjust screen brightness?
Hey,
There is nothing to drop you wrapping the API call into a function, so it literally would be as simple as passing an RGB value into it.
Gary
-
Mar 14th, 2009, 02:58 PM
#5
Thread Starter
Fanatic Member
Re: [2008] How to adjust screen brightness?
Life is a one way journey, not a destination. Travel it with a smile and never regret anything.
Yesterday is history, tomorrow is a mystery, today is gift - that's why we call it present.
-
Mar 15th, 2009, 11:44 AM
#6
Thread Starter
Fanatic Member
Re: [2008] How to adjust screen brightness?
Can anyone help me converting the C# to VB.NET?
Code:
static void SetBrightness(byte targetBrightness)
{
//define scope (namespace)
System.Management.ManagementScope x = new System.Management.ManagementScope("root\\WMI");
//define query
System.Management.SelectQuery q = new System.Management.SelectQuery("WmiMonitorBrightnessMethods");
//output current brightness
System.Management.ManagementObjectSearcher mox = new System.Management.ManagementObjectSearcher(x, q);
System.Management.ManagementObjectCollection mok = mox.Get();
foreach (System.Management.ManagementObject o in mok)
{
o.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, targetBrightness }); //note the reversed order - won't work otherwise!
break; //only work on the first object
}
mox.Dispose();
mok.Dispose();
}
My VB code looks like this - but not working Giving me error in InvokeMethod call. Second argument should be an array but I can't figure out how.
Code:
Public Sub SetBrightness(ByVal v As Integer)
Dim curBrightness As Integer = 0
Dim x As New System.Management.ManagementScope("root\WMI")
Dim q As New System.Management.SelectQuery("WmiMonitorBrightness")
Dim mox As New System.Management.ManagementObjectSearcher(x, q)
Dim mok As System.Management.ManagementObjectCollection
Dim o As System.Management.ManagementObject
mok = mox.Get()
Dim p As Byte
p = v.Parse(Int(v))
For Each o In mok
o.InvokeMethod("WmiSetBrightness", p)
Exit For
Next
mox.Dispose()
mok.Dispose()
End Sub
Can't really understand how to pass the value of brightness in my Sub procedure. The C# code seem to pass as byte instead of number.
Last edited by sbasak; Mar 15th, 2009 at 11:47 AM.
Life is a one way journey, not a destination. Travel it with a smile and never regret anything.
Yesterday is history, tomorrow is a mystery, today is gift - that's why we call it present.
-
Mar 16th, 2009, 02:12 AM
#7
Re: [2008] How to adjust screen brightness?
Hey,
In the C# code you have this:
Code:
o.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, targetBrightness });
and in the VB code you have created you have this:
Code:
o.InvokeMethod("WmiSetBrightness", p)
Where p is a Byte.
The original code is looking for an object array, so you will have to match the parameters that you are passing in.
Gary
-
Mar 16th, 2009, 04:50 AM
#8
Thread Starter
Fanatic Member
Re: [2008] How to adjust screen brightness?
Well that's the problem! Google search shows VB.NET doesn't support UInt32.MaxValue. So, how do I actually pass it over the function?
Life is a one way journey, not a destination. Travel it with a smile and never regret anything.
Yesterday is history, tomorrow is a mystery, today is gift - that's why we call it present.
-
Mar 16th, 2009, 05:04 AM
#9
Re: [2008] How to adjust screen brightness?
-
May 9th, 2009, 06:44 PM
#10
New Member
Re: [2008] How to adjust screen brightness?
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|