« 【講座】HSPよく使うフレーズ 第31回 青い宇宙の冒険 | メイン | 【よみもの】もーりおのつぶやき 第10回 »

2007年05月30日

【講座】HSP3ワンポイントテクニック 第21回

このコーナーでは、HSP3の変わった使用例や、気付きにくい機能
などを紹介していきたいと思います。

今回は、ひそかに活躍しているdirinfo関数について取り上げます。
dirinfo関数は、あまり直接使う機会が少ないかもしれませんが、
カレントディレクトリを示すシステム変数「dir_cur」や、
コマンドライン文字列を示すシステム変数「dir_cmdline」と
いった機能は、マクロになっていて内部ではdirinfo関数が使用
されています。
dirinfo関数は、カッコ内に指定されたパラメーターにより様々な
ディレクトリ情報を返す機能を持っています。
マクロで定義されている名前は以下の通りです。

マクロ、説明(dirinfoパラメーター)
------------------------------------------------------
dir_cur : カレント(現在の)ディレクトリ(0)
dir_exe : HSPの実行ファイルがあるディレクトリ(1)
dir_win : Windowsディレクトリ(2)
dir_sys : Windowsのシステムディレクトリ(3)
dir_cmdline : コマンドライン文字列(4)
dir_desktop : デスクトップディレクトリ($10000)
dir_mydoc : マイドキュメントディレクトリ($10005)

$10000以降のパラメーターは、CSIDL値と呼ばれるWindowsが管理
する特殊フォルダ指定のための識別コードを使用しています。
CSIDL値については、以下のページも参考にしてみてください。
http://yokohama.cool.ne.jp/chokuto/urawaza/prm/CSIDL.html

つまり、上のマクロで定義しているもの意外にも、多くの情報を
dirinfo命令により取得することができるのです。
主に使えそうなのは、

プログラムディレクトリ($10002)
お気に入りディレクトリ($10006)
スタートアップディレクトリ($10007)
最近使ったファイルディレクトリ($10008)
SendToディレクトリ($10009)
スタートメニューディレクトリ($1000b)

などですね。
このように、システム・ツール系のソフトを作る上では、
dirinfo関数の使い方をマスターしておくと便利でしょう。

(おにたま)

投稿者 usuaji : 2007年05月30日 22:21

口臭チェッカー市場