CPU情報

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
メッセージ
作成者
TISAproject
記事: 62
登録日時: 2016年9月24日(土) 15:35

CPU情報

#1 投稿記事 by TISAproject »

CPU情報を取得する方法を教えてください。
たかせ
記事: 215
登録日時: 2006年2月05日(日) 17:10
お住まい: 東京都

Re: CPU情報

#2 投稿記事 by たかせ »

どのような情報が必要なのかわかりませんが、
Win32 API GetSystemInfoで取得できるようです。
詳細はABのヘルプにも載ってますのでここをご確認ください。

#ところで、TISAprojectさんもWINDOWS 10/64BIT版のPCされているようですね?
TISAproject
記事: 62
登録日時: 2016年9月24日(土) 15:35

Re: CPU情報

#3 投稿記事 by TISAproject »

はい。
DYNABOOKです
TISAproject
記事: 62
登録日時: 2016年9月24日(土) 15:35

Re: CPU情報

#4 投稿記事 by TISAproject »

Declare Sub GetSystemInfo Lib "kernel32" _
(ByRef lpSystemInfo As SYSTEM_INFO)

"GetSystemInfo" はすでに定義されています

となってしまいます。
たかせ
記事: 215
登録日時: 2006年2月05日(日) 17:10
お住まい: 東京都

Re: CPU情報

#5 投稿記事 by たかせ »

TISAproject さんが書きました:Declare Sub GetSystemInfo Lib "kernel32" _
(ByRef lpSystemInfo As SYSTEM_INFO)

"GetSystemInfo" はすでに定義されています

となってしまいます。
ヘルプに記載されているWIN32 API関数はABのINCLUDEファイルに定義されていますので不要です。
具体的にはAB4のディレクトリの下にIncludeというフォルダがありその中にapi_system.sbpの372行目にあります。
TISAproject
記事: 62
登録日時: 2016年9月24日(土) 15:35

Re: CPU情報

#6 投稿記事 by TISAproject »

コード: 全て選択



#include ""

でいいのでしょうか

ℓ372 をコピーして、貼り付けてもおなじエラーが発生してしまいます。
たかせ
記事: 215
登録日時: 2006年2月05日(日) 17:10
お住まい: 東京都

Re: CPU情報

#7 投稿記事 by たかせ »

何も指定しないでください。

#include ""は不要です。

次のようにすればOKです。

'SYSTEM_INFO構造体の定義
DIM SYSINF AS SYSTEM_INFO

中略

'WIN32 API GetSystemInfoを呼び出す
GetSystemInfo(SYSINF)
TISAproject
記事: 62
登録日時: 2016年9月24日(土) 15:35

Re: CPU情報

#8 投稿記事 by TISAproject »

コード: 全て選択

DIM SYSINF AS SYSTEM_INFO

GetSystemInfo(SYSINF)

#console

print SYSINF
で、
"SYSINF" 型が違います
型が違います

となってしまいます。

DOSプロントで表示するにはどうすればいいですか?
たかせ
記事: 215
登録日時: 2006年2月05日(日) 17:10
お住まい: 東京都

Re: CPU情報

#9 投稿記事 by たかせ »

SYSINFはSYSTEM_INFO構造体として定義されているので、単純にPRINT SYSINFだと型が違うという理由でコンパイルエラーになります。
SYSTEM_INFO構造体の詳細はヘルプに記載されていますのでこちらをご確認下さい。
たとえば、PCのメモリページのサイズを表示するときは、
PRINT SYSINF.dwPageSizeと記載すればOKです。
TISAproject
記事: 62
登録日時: 2016年9月24日(土) 15:35

Re: CPU情報

#10 投稿記事 by TISAproject »

DOSプロントで、タイトルバーの文字列を変更するにどうすればいいでしょう?
たかせ
記事: 215
登録日時: 2006年2月05日(日) 17:10
お住まい: 東京都

Re: CPU情報

#11 投稿記事 by たかせ »

TISAproject さんが書きました:DOSプロントで、タイトルバーの文字列を変更するにどうすればいいでしょう?
Win32 APIのSetConsoleTitleで変更できるようです。
ABのヘルプに載っていませんので使用方法はSetConsoleTitleで検索してみてください
TISAproject
記事: 62
登録日時: 2016年9月24日(土) 15:35

Re: CPU情報

#12 投稿記事 by TISAproject »

ありがとうございます。
TISAproject
記事: 62
登録日時: 2016年9月24日(土) 15:35

Re: CPU情報

#13 投稿記事 by TISAproject »

コード: 全て選択

SetWindowText(SetConsoleTitle, "TEST" )
でできなかったのですが、どうすればいいですか?
たかせ
記事: 215
登録日時: 2006年2月05日(日) 17:10
お住まい: 東京都

Re: CPU情報

#14 投稿記事 by たかせ »

SetWindowTextでコンソールのタイトル変更はできません。
以下に使用例を記載します。
流れとして
①GetConsoleTitleで現在のコンソールのタイトル取得
②MessageBox関数で取得したコンソールのタイトルを表示
③SetConsoleTitleで現在のコンソールのタイトルを"コンソールタイトル変更"に変更
④①と同様
⑤②と同様
#console
DIM TEXT[255] AS Char
GetConsoleTitle(TEXT,255)
MessageBox(NULL,TEXT,"TEST",MB_OK)
SetConsoleTitle("コンソールタイトル変更")
GetConsoleTitle(TEXT,255)
MessageBox(NULL,TEXT,"TEST",MB_OK)
END
ご確認下さい。
TISAproject
記事: 62
登録日時: 2016年9月24日(土) 15:35

Re: CPU情報

#15 投稿記事 by TISAproject »

"SetConsoleTitle" 無効な識別子です
"GetConsoleTitle" 無効な識別子です

と、なってしまうのですが (AB4.24)
返信する