[2008] How to adjust screen brightness?-VBForums
Results 1 to 10 of 10

Thread: [2008] How to adjust screen brightness?

  1. #1

    Thread Starter
    Fanatic Member sbasak's Avatar
    Join Date
    Aug 2001
    Location
    Globe Trotter
    Posts
    524

    Question [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.

  2. #2
    ASP.NET Moderator gep13's Avatar
    Join Date
    Nov 2004
    Location
    The Granite City
    Posts
    21,962

    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

  3. #3

    Thread Starter
    Fanatic Member sbasak's Avatar
    Join Date
    Aug 2001
    Location
    Globe Trotter
    Posts
    524

    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.

  4. #4
    ASP.NET Moderator gep13's Avatar
    Join Date
    Nov 2004
    Location
    The Granite City
    Posts
    21,962

    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

  5. #5

    Thread Starter
    Fanatic Member sbasak's Avatar
    Join Date
    Aug 2001
    Location
    Globe Trotter
    Posts
    524

    Re: [2008] How to adjust screen brightness?

    Found easier alternative code here.

    http://driveactivated.com/projects/p...ta-gadget.aspx
    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.

  6. #6

    Thread Starter
    Fanatic Member sbasak's Avatar
    Join Date
    Aug 2001
    Location
    Globe Trotter
    Posts
    524

    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 12:47 PM.
    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.

  7. #7
    ASP.NET Moderator gep13's Avatar
    Join Date
    Nov 2004
    Location
    The Granite City
    Posts
    21,962

    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

  8. #8

    Thread Starter
    Fanatic Member sbasak's Avatar
    Join Date
    Aug 2001
    Location
    Globe Trotter
    Posts
    524

    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.

  9. #9
    ASP.NET Moderator gep13's Avatar
    Join Date
    Nov 2004
    Location
    The Granite City
    Posts
    21,962

    Re: [2008] How to adjust screen brightness?

    Hey,

    This would tend to disagree with that:

    http://msdn.microsoft.com/en-us/libr....maxvalue.aspx

    Gary

  10. #10
    New Member
    Join Date
    May 2009
    Posts
    1

    Thumbs up 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
  •  



Featured


Click Here to Expand Forum to Full Width

Survey posted by VBForums.