Solved

where is the sysinfo counterpart in .NET?

Posted on 2004-04-15
6
393 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

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
VB.Net WebRequest Code from JSON curl 7 93
VB.NET 2008 - Windows Protected Your PC 7 53
Code enhancement 4 33
Header Font Size in Grid View 6 27
IP addresses can be stored in a database in any of several ways.  These ways may vary based on the volume of the data.  I was dealing with quite a large amount of data for user authentication purpose, and needed a way to minimize the storage.   …
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…

733 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