?
Solved

where is the sysinfo counterpart in .NET?

Posted on 2004-04-15
6
Medium Priority
?
408 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
  • 2
4 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 1000 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

[Webinar] Cloud and Mobile-First Strategy

Maybe you’ve fully adopted the cloud since the beginning. Or maybe you started with on-prem resources but are pursuing a “cloud and mobile first” strategy. Getting to that end state has its challenges. Discover how to build out a 100% cloud and mobile IT strategy in this webinar.

Question has a verified solution.

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

It seems a simple enough task, yet I see repeated questions asking how to do it: how to pass data between two forms. In this article, I will show you the different mechanisms available for you to do just that. This article is directed towards the .N…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …
Loops Section Overview
Suggested Courses

809 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