Solved

where is the sysinfo counterpart in .NET?

Posted on 2004-04-15
6
395 Views
Last Modified: 2007-12-19
I am new to .NET and am attempting to upgrade a VB6 application that tracks whether or not a laptop is on battery power or oputlet power.

The upgrade wizard simply wrapped the sysinfo control - Interop.SysInfoLib and AxInterop.SysInfoLib

I found the PowerStatusChange event in .NET but have had no luck finding the properties:
ACStatus
BatteryLifePercent
BatterFullTime
BatteryLifeTime
BatteryStatus

0
Comment
Question by:take_the_train
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
6 Comments
 
LVL 41

Expert Comment

by:graye
ID: 10836278
I'd recommend the use of Windows Management Instrumentation (WMI)...  it'd go something like this:

' remember to also add System.Management as a reference
Imports System.Management

Dim wmi As ManagementClass
Dim objs As ManagementObjectCollection
Dim obj As ManagementObject

wmi = New ManagementClass("Win32_Battery")
objs = wmi.GetInstances()
For Each obj In objs
      msgbox(Convert.ToInt32(obj.EstimatedRunTime))
      msgbox(Convert.ToInt32(obj.BatteryStatus))
       etc...
Next
objs.Dispose()
wmi.Dispose()
0
 

Author Comment

by:take_the_train
ID: 10838572
'EstimatedRunTime' is not a member of 'System.Management.ManagementObject'.
'BatteryStatus' is not a member of 'System.Management.ManagementObject'.

Sorry if I am dense but I received the following two build errors and could not find these properties in the system management object.
0
 

Expert Comment

by:CheewaCheewa
ID: 10838695
look into learning how to use
Import Microsoft.Win32.RegistryKey
Get the values you need there as far
as settings and such.

Start Regedit in the run box
and look at
HKEY_CURRENT_USER\Control Panel\PowerCfg

Hope it helps
0
 
LVL 41

Accepted Solution

by:
graye earned 250 total points
ID: 10841429
oops, you're right... I was mixing the syntax used with VBScript.   Sorry about that.

the proper syntax for VB.Net is:

        obj("EstimatedRunTime")

Besides, I was kinda hoping you'd be looking at the Win32_Battery documentation, so you'd see all of the other objects that were out there... I only listed two.
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A basic question.. “What is the Garbage Collector?” The usual answer given back: “Garbage collector is a background thread run by the CLR for freeing up the memory space used by the objects which are no longer used by the program.” I wondered …
In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question