何もしないまま1ヶ月経ってた。多分このまま何もしなくなると思うので、OlsApi.hとOlsDef.hとOlsApiInit.hのDelphi2009用のユニットだけ、出してみる。OlsApi.pas OlsDef.pas OlsApiInit.pas
program sample_CPU_information;
{$APPTYPE CONSOLE}
uses
SysUtils,
OlsApi in 'OlsApi.pas',
OlsDef in 'OlsDef.pas',
OlsApiInit in 'OlsApiInit.pas',
Windows;
var
Index: DWORD;
Eax: DWORD;
Ebx: DWORD;
Ecx: DWORD;
Edx: DWORD;
MaxCpuid: DWORD;
begin
try
if InitOpenLibSys then
begin
//-----------------------------------------------------------------------
// CPU Information
//-----------------------------------------------------------------------
if IsCpuid then
begin
CpuidPx(0, @MaxCpuid, @Ebx, @Ecx, @Edx, 1);
Writeln('[CPUID]');
Writeln('Index EAX EBX ECX EDX');
for Index := 0 to MaxCpuid do
begin
if CpuidPx(Index, @Eax, @Ebx, @Ecx, @Edx, 1) then
Writeln(Format('%.8x: %.8x %.8x %.8x %.8x', [Index, Eax, Ebx, Ecx, Edx]));
end;
end;
DeinitOpenLibSys;
end;
Readln;
except
on E:Exception do
Writeln(E.Classname, ': ', E.Message);
end;
end.
Update 3、Update 4、Boost Updateがようやく出た。以前書いたTStringBuilderのReplaceやTStackのバグは直っていた。
OlsSampleDlg.cppを元にVersion Checkのところだけ少し書いてみた。他の関数はまだ動作確認してない。
program sample_version;
{$APPTYPE CONSOLE}
uses
SysUtils,
OlsApi in 'OlsApi.pas',
OlsDef in 'OlsDef.pas',
OlsApiInit in 'OlsApiInit.pas',
Windows;
var
Major, Minor, Revision, Release: Byte;
begin
try
if InitOpenLibSys then
begin
//-----------------------------------------------------------------------
// Version Check
//-----------------------------------------------------------------------
Writeln('[DLL Version]');
GetDllVersion(@Major, @Minor, @Revision, @Release);
Writeln(Format('%d.%d.%d.%d', [Major, Minor, Revision, Release]));
Writeln('[Device Driver Version]');
GetDriverVersion(@Major, @Minor, @Revision, @Release);
Writeln(Format('%d.%d.%d.%d', [Major, Minor, Revision, Release]));
Writeln('[Device Driver Type]');
case GetDriverType of
OLS_DRIVER_TYPE_WIN_9X: Writeln('OLS_DRIVER_TYPE_WIN_9X');
OLS_DRIVER_TYPE_WIN_NT: Writeln('OLS_DRIVER_TYPE_WIN_NT');
OLS_DRIVER_TYPE_WIN_NT4: Writeln('OLS_DRIVER_TYPE_WIN_NT4');
OLS_DRIVER_TYPE_WIN_NT_X64: Writeln('OLS_DRIVER_TYPE_WIN_NT_X64');
OLS_DRIVER_TYPE_WIN_NT_IA64: Writeln('OLS_DRIVER_TYPE_WIN_NT_IA64');
else
Writeln('OLS_DRIVER_TYPE_UNKNOWN');
end;
Writeln('[DLL Status]');
case GetDllStatus of
OLS_DLL_NO_ERROR: Writeln('OLS_DLL_NO_ERROR');
OLS_DLL_UNSUPPORTED_PLATFORM: Writeln('OLS_DLL_UNSUPPORTED_PLATFORM');
OLS_DLL_DRIVER_NOT_LOADED: Writeln('OLS_DLL_DRIVER_NOT_LOADED');
OLS_DLL_DRIVER_NOT_FOUND: Writeln('OLS_DLL_DRIVER_NOT_FOUND');
OLS_DLL_DRIVER_UNLOADED: Writeln('OLS_DLL_DRIVER_UNLOADED');
OLS_DLL_DRIVER_NOT_LOADED_ON_NETWORK:
Writeln('OLS_DLL_DRIVER_NOT_LOADED_ON_NETWORK');
else
Writeln('OLS_DLL_UNKNOWN_ERROR');
end;
DeinitOpenLibSys;
end;
Readln;
except
on E:Exception do
Writeln(E.Classname, ': ', E.Message);
end;
end.
PCを新しくしたらCPU温度がどの位なのか興味がでてきたので、SpeedFanやMooO SystemMonitorをインストールして測ってみた。さらに興味が出てきたので、自分でも作れないかなと探していたら、WinRing0というライブラリを見つけた。DLLとソースが配布されていたので、OlsApi.hとOlsDef.hとOlsApiInit.hのDelphi 2009用ユニットを書いてみた。1ks弱しか書いてないのに指が疲れた。そのうち公開用のページを作るかな。
I-O DATAのRamPhantom3のFREE版をインストールした。256MBまでしかRAMDISKが作成できない機能限定版だけど、OS管理外メモリーを少しは有効活用できるかな。操作性は簡単。しばらく使ってみて、問題なければ製品版を買ってもいい気がしてきた。
いまさらだけど、TMS Smooth Control Packをインストールしてみた。手軽にクールなインターフェイスを組み込める。
買ってきた。キーボードの感覚が少し狭くて、慣れるまで時間がかかりそうだ。OSはXPにしたので、ClearTypeを選択して文字をきれいにした。IPAフォントにした。
2年ほど使ってきたノートPCをそろそろ新しいものにしようかと思い始めた。でもVistaは嫌いなので、いまさらだけどXPにしようかなと。今のPCはマルチコアプロセッサが当たり前だけど、XPだと性能出るのかわからないので、調べてみた。(1)(2)結論は、XPのHome EditionでもSP2以降ならクアッドコアの全てのコアが利用可能なようだ。
ギリギリだけど合格した。
「ゴールデンウィーク スペシャル企画キャンペーン」をやっていたので、アドエス用に1回線新規追加してしまった。980円だし。ついでにこれまでのW-SIMは機種変更でAX530Sにした。通話用のWX130SとW-SIMセットのNS001UとPCカードのAX530Sで計3回線。いつもネットのWILLCOM STOREで注文するのだが、ほとんどの場合翌日には受け取れる。イーモバイルのD03HW(@nifty Mobile BB)は当初に比べて格段に遅くなってきたので、解約した。たぶん基地局の増加以上に人が増えたのだろう。
link download onig