ページ 12

CPU情報

Posted: 2016年10月12日(水) 15:35
by TISAproject
CPU情報を取得する方法を教えてください。

Re: CPU情報

Posted: 2016年10月12日(水) 16:23
by たかせ
どのような情報が必要なのかわかりませんが、
Win32 API GetSystemInfoで取得できるようです。
詳細はABのヘルプにも載ってますのでここをご確認ください。

#ところで、TISAprojectさんもWINDOWS 10/64BIT版のPCされているようですね?

Re: CPU情報

Posted: 2016年10月12日(水) 18:02
by TISAproject
はい。
DYNABOOKです

Re: CPU情報

Posted: 2016年10月12日(水) 18:11
by TISAproject
Declare Sub GetSystemInfo Lib "kernel32" _
(ByRef lpSystemInfo As SYSTEM_INFO)

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

となってしまいます。

Re: CPU情報

Posted: 2016年10月12日(水) 19:24
by たかせ
TISAproject さんが書きました:Declare Sub GetSystemInfo Lib "kernel32" _
(ByRef lpSystemInfo As SYSTEM_INFO)

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

となってしまいます。
ヘルプに記載されているWIN32 API関数はABのINCLUDEファイルに定義されていますので不要です。
具体的にはAB4のディレクトリの下にIncludeというフォルダがありその中にapi_system.sbpの372行目にあります。

Re: CPU情報

Posted: 2016年10月12日(水) 20:42
by TISAproject

コード: 全て選択



#include ""

でいいのでしょうか

ℓ372 をコピーして、貼り付けてもおなじエラーが発生してしまいます。

Re: CPU情報

Posted: 2016年10月12日(水) 20:51
by たかせ
何も指定しないでください。

#include ""は不要です。

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

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

中略

'WIN32 API GetSystemInfoを呼び出す
GetSystemInfo(SYSINF)

Re: CPU情報

Posted: 2016年10月13日(木) 19:02
by TISAproject

コード: 全て選択

DIM SYSINF AS SYSTEM_INFO

GetSystemInfo(SYSINF)

#console

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

となってしまいます。

DOSプロントで表示するにはどうすればいいですか?

Re: CPU情報

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

Re: CPU情報

Posted: 2016年10月14日(金) 17:45
by TISAproject
DOSプロントで、タイトルバーの文字列を変更するにどうすればいいでしょう?

Re: CPU情報

Posted: 2016年11月09日(水) 19:45
by たかせ
TISAproject さんが書きました:DOSプロントで、タイトルバーの文字列を変更するにどうすればいいでしょう?
Win32 APIのSetConsoleTitleで変更できるようです。
ABのヘルプに載っていませんので使用方法はSetConsoleTitleで検索してみてください

Re: CPU情報

Posted: 2016年11月10日(木) 16:33
by TISAproject
ありがとうございます。

Re: CPU情報

Posted: 2016年11月13日(日) 11:13
by TISAproject

コード: 全て選択

SetWindowText(SetConsoleTitle, "TEST" )
でできなかったのですが、どうすればいいですか?

Re: CPU情報

Posted: 2016年11月13日(日) 21:26
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
ご確認下さい。

Re: CPU情報

Posted: 2016年11月14日(月) 22:36
by TISAproject
"SetConsoleTitle" 無効な識別子です
"GetConsoleTitle" 無効な識別子です

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