Tips
HSP(Hot Soup Processor)
- おにたま氏によるフリーのインタプリタ言語。BASICライクでシンプル。
- HSP公式ページ
HSPの便利モノ?
- HSPでのプログラミングで役立つかもしれないことを書いておきます。
- 何かあったらコメント欄へどうぞ。
コマンドラインにはどんな風に代入されるか?
ファイルパスを8:3形式にしたい
デスクトップのパスを取得したい
- 下のスクリプトを自由にいじって使ってください。モジュール化しても良しだと思います。
- 「ここを変えれば色々取得できる」の部分は、このへんを参考にしてください。
// ですくとっぷのパスを取ってみる
mref bmscr,67
sdim desktoppath,2048,1 // 261byte以上
errmsg="失敗しますた"
ll_libload hdll,"Shell32.dll"
ll_getproc hfunc,"SHGetMalloc",hdll
ll_getptr p :ll_ret pm
ll_callfunc pm,1,hfunc
ll_ret res
if res!0 :dialog errmsg,,"1"
ll_getproc hfunc,"SHGetSpecialFolderLocation",hdll
pm=bmscr.13,0x0000,0 // 0x0000の所を書き換えれば取得するパスを変えられる
ll_getptr p2 :ll_ret pm.2
ll_callfunc pm,3,hfunc
ll_ret res
if res!0 :dialog errmsg,,"2"
ll_getproc hfunc,"SHGetPathFromIDListA",hdll
pm=p2,0
ll_getptr desktoppath :ll_ret pm.1
ll_callfunc pm,2,hfunc
ll_ret res
if res=0 :dialog errmsg,,"3"
ll_free
背景色をWindows色にする
- cls命令の色はどれも微妙!最初からWindows色にしてくれよ!まぁどうしようもないので下のソースをモジュール化したりしてやってください。
ll_dll "user32.dll"
ll_func "GetSysColor" // 色を取得
ll_type "N"
ll_n 15
ll_call
ll_ret ret
clr = ret & 255
clg = ret >>8 & 255
clb = ret >>16 & 255
ll_dll "Kernel32.dll"
ll_func "GetVersionExA" // OSの種類を取得
ll_type "P" // (9x系とNT系では処理が変わる)
sdim OSVERINFO,139,1
wpoke OSVERINFO,0,148
ll_p OSVERINFO
ll_call
ll_ret ret
wpeek ret,OSVERINFO,16
if ret=1 :clr-- :clg-- :clb--
/* 塗りつぶし */
color clr,clg,clb :boxf 0,0,winx,winy
color
|