作ってしまったのでアップします。
最前面の方法としてはGrapeColor(DION)さんの方法とほぼ同等です。
#uselib "pdh.dll"
#func PdhOpenQuery "PdhOpenQuery" int,int,var
#func PdhAddCounter "PdhAddCounterA" int,str,int,var
#func PdhCollectQueryData "PdhCollectQueryData" int
#func PdhGetFormattedCounterValue "PdhGetFormattedCounterValue" int,int,int,var
#func PdhCloseQuery "PdhCloseQuery" int
#include "user32.as"
onexit *exit
bgscr 0,100,20
dim pfc,8
PdhOpenQuery 0,0,hQuery // クエリ
PdhAddCounter hQuery,"\\Processor(_Total)\\% Processor Time",0,hCounter // カウンタ
pos 90,0:objsize 10,10:button "",*exit // ボタン
*@
PdhCollectQueryData hQuery // クエリの更新
PdhGetFormattedCounterValue hCounter,0x200/*PDH_FMT_DOUBLE*/,0,pfc // 以前の値を取得
dupptr cpu,varptr(pfc)+8,8,3 // int から double へ
// 描画
redraw 0
color:boxf 0,0,100,20
color,,255:boxf 0,0,cpu,20
color 255,255,255:pos 0,0:mes strf("%d%",cpu)
redraw
// 最前面 and 位置固定
SetWindowPos hwnd,-1/*HWND_TOPMOST*/,0,0,0,0,0x1/*SPW_NOSIZE*/
// 1秒ごとに更新する
await 1000
goto *@b
*exit
PdhCloseQuery hQuery
end