by Mario2 » 2005年8月29日(月) 16:50
ここのページを参考に
電源の状態を取得できるGetSystemPowerStatusと言うのを使いたいのですが、「アクセス違反」がでてしまい、上手く出来ません。
コード: 全て選択
Declare Function GetSystemPowerStatus Lib "kernel32.dll" _
(ByRef lpSystemPowerStatus As SYSTEM_POWER_STATUS) As Long
Type SYSTEM_POWER_STATUS
ACLineStatus As Byte 'ACパワーの状態を示す定数の組み合わせ
BatteryFlag As Byte 'バッテリチャージの状態を表す定数の組み合わせ
BatteryLifePercent As Byte 'バッテリの残り容量のパーセント(0~100)
'255のとき不明
Reserved1 As Byte '常に0
BatteryLifeTime As Long 'バッテリーの残り秒数(&Hffffffffのとき不明)
BatteryFullLifeTime As Long 'フルチャージ時の残り秒数(同上)
End Type
Dim PowerStatus As *SYSTEM_POWER_STATUS
Dim pPowerStatus As SYSTEM_POWER_STATUS
IF GetSystemPowerStatus(pPowerStatus)=0 Then End
MessageBox(hMainWnd,pPowerStatus.ACLineStatus,0,0)
MessageBox(hMainWnd,pPowerStatus.BatteryFlag,0,0)
MessageBox(hMainWnd,pPowerStatus.BatteryLifePercent,0,0)
MessageBox(hMainWnd,pPowerStatus.Reserved1,0,0)
としているのですが、(多分)If GetSystem~の部分でアクセス違反が出ています。
(ソース行が多いせいなのか、別の行をエラーとして表示されていました)
自分なりにがんばってみたのですが、取得できませんでした。
どうすれば良いのか、よろしくお願いします。
[url=http://www.winapi-database.com/System/Power/GetSystemPowerStatus.html]ここ[/url]のページを参考に
電源の状態を取得できるGetSystemPowerStatusと言うのを使いたいのですが、「アクセス違反」がでてしまい、上手く出来ません。
[code]Declare Function GetSystemPowerStatus Lib "kernel32.dll" _
(ByRef lpSystemPowerStatus As SYSTEM_POWER_STATUS) As Long
Type SYSTEM_POWER_STATUS
ACLineStatus As Byte 'ACパワーの状態を示す定数の組み合わせ
BatteryFlag As Byte 'バッテリチャージの状態を表す定数の組み合わせ
BatteryLifePercent As Byte 'バッテリの残り容量のパーセント(0~100)
'255のとき不明
Reserved1 As Byte '常に0
BatteryLifeTime As Long 'バッテリーの残り秒数(&Hffffffffのとき不明)
BatteryFullLifeTime As Long 'フルチャージ時の残り秒数(同上)
End Type
Dim PowerStatus As *SYSTEM_POWER_STATUS
Dim pPowerStatus As SYSTEM_POWER_STATUS
IF GetSystemPowerStatus(pPowerStatus)=0 Then End
MessageBox(hMainWnd,pPowerStatus.ACLineStatus,0,0)
MessageBox(hMainWnd,pPowerStatus.BatteryFlag,0,0)
MessageBox(hMainWnd,pPowerStatus.BatteryLifePercent,0,0)
MessageBox(hMainWnd,pPowerStatus.Reserved1,0,0)
[/code]
としているのですが、(多分)If GetSystem~の部分でアクセス違反が出ています。
(ソース行が多いせいなのか、別の行をエラーとして表示されていました)
自分なりにがんばってみたのですが、取得できませんでした。
どうすれば良いのか、よろしくお願いします。