CPU 使用率の取得

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
M.S.
記事: 212
登録日時: 2005年6月01日(水) 21:51
お住まい: 奈良県北西部

CPU 使用率の取得

#1 投稿記事 by M.S. »

getcpust.dll (ぐうたら感謝の日 氏)で CPU 使用率を取得しようとしているのですが、
C 言語で書かれたコードを AB のコードにしていくのがどうにもうまくいきません。
どなたか、C 言語と AB が出来る方で教えていただけないでしょうか?

C 言語のコード 自力で直したコード     若しくは 僕ではこの程度までしか出来ません。
どなたかお願いします。
Toshi
記事: 98
登録日時: 2005年7月19日(火) 19:47
お住まい: 山形県
連絡する:

#2 投稿記事 by Toshi »

確認していませんが、

コード: 全て選択

declare function cpus lib "getcpust" alias "GetCpuStatus" (iStatus as *long) as long

cpus(VarPtr(st))
宣言をこのように変えてポインタを渡せばよいのではないでしょうか。
pCpuFunc は、Declare によって DLL の関数を定義する場合には不要だと思います。
M.S.
記事: 212
登録日時: 2005年6月01日(水) 21:51
お住まい: 奈良県北西部

#3 投稿記事 by M.S. »

> 確認していませんが、
>

コード: 全て選択

declare function cpus lib "getcpust" alias "GetCpuStatus" (iStatus as *long) as long
> 
> cpus(VarPtr(st))
> 
> 宣言をこのように変えてポインタを渡せばよいのではないでしょうか。
> pCpuFunc は、Declare によって DLL の関数を定義する場合には不要だと思います。

わかりました、とりあえずやってみます。
ありがとうございます。
M.S.
記事: 212
登録日時: 2005年6月01日(水) 21:51
お住まい: 奈良県北西部

#4 投稿記事 by M.S. »

> 確認していませんが、
>

コード: 全て選択

declare function cpus lib "getcpust" alias "GetCpuStatus" (iStatus as *long) as long
> 
> cpus(VarPtr(st))
> 
> 宣言をこのように変えてポインタを渡せばよいのではないでしょうか。

やってみましたが、ちゃんと表示されません。
表示されるのは、ずっと"0 %"です。
hira
記事: 203
登録日時: 2005年5月31日(火) 20:14
お住まい: 兵庫県
連絡する:

#5 投稿記事 by hira »

元のコード完全無視ですが(^^;;

コード: 全て選択

#prompt
declare function cpus lib "getcpust" alias "GetCpuStatus" (iStatus as *long) as long
Dim st As Long
Do
	cpus(VarPtr(st))
	Print st
	Sleep(1000)
Loop
当方ではこのコードで正しく動作しています。(Windows XP SP2 Home)
Windowsのバージョンが98やMeということはないでしょうか(DLLがNT系専用となっているので、念のため)。
M.S.
記事: 212
登録日時: 2005年6月01日(水) 21:51
お住まい: 奈良県北西部

#6 投稿記事 by M.S. »

> 元のコード完全無視ですが(^^;;
>

コード: 全て選択

#prompt
> declare function cpus lib "getcpust" alias "GetCpuStatus" (iStatus as *long) as long
> Dim st As Long
> Do
>  cpus(VarPtr(st))
>  Print st
>  Sleep(1000)
> Loop
> 当方ではこのコードで正しく動作しています。(Windows XP SP2 Home)
> Windowsのバージョンが98やMeということはないでしょうか(DLLがNT系専用となっているので、念のため)。

Windows 95/MEでやっていました。
95は何をしてもCPUの変化が起きなかったので、
意味はありませんでしたが…

Windows XP SP2でやってみます。
ありがとうございます。
M.S.
記事: 212
登録日時: 2005年6月01日(水) 21:51
お住まい: 奈良県北西部

#7 投稿記事 by M.S. »

> 元のコード完全無視ですが(^^;;
>

コード: 全て選択

#prompt
> declare function cpus lib "getcpust" alias "GetCpuStatus" (iStatus as *long) as long
> Dim st As Long
> Do
> 	cpus(VarPtr(st))
> 	Print st
> 	Sleep(1000)
> Loop
> 当方ではこのコードで正しく動作しています。(Windows XP SP2 Home)
> Windowsのバージョンが98やMeということはないでしょうか(DLLがNT系専用となっているので、念のため)。

Windows XP で実行したところ、表示されました。
ありがとうございました。
返信する