2007/06/xxXREA.COMのs206サーバー内のサイトは、Yahoo!検索からペナルティを受け、検索結果で常に下位にランク付けされてしまうので、Yahoo!経由向けに用意したHSPミニ講座内のページです。このページは「http://lhsp.s206.xrea.com/hsp_system.html」の昔のものです。HSP自動登録リンク集システムサウンドを鳴らすWindowsが持っている警告音などのシステムサウンドをMessageBeep関数を利用して再生してみます。どのような音が再生されるかはWindowsの設定次第のようです。int;$30は警告メッセージ音。その他はちょくとさんのページ参照。$30ちなみに、WAVEファイルの再生を行うPlaySound関数でも可能です。int;第1パラには以下のようなパラメータを指定。;「SystemAsterisk」(情報)、「SystemExclamation」(警告)、;「SystemHand」(エラー)、「SystemQuestion」(問い合わせ)、;「SystemStart」(Windows起動)、「SystemExit」(Windows終了);第2パラには再生方法を指定。$1^特殊なダイアログを開くWindowsの少し特殊なダイアログを開きます(一部特殊な処理)。キー送信のkeybd_event関数で同じ効果が得られる処理もいくつかあります。$1FE^バージョン情報ダイアログdialog命令で普通のダイアログボックスを表示できますが、こちらはWindowsのシステムが用意しているバージョン情報ダイアログです。ShellAbout関数を呼びます。HSP2のllmod.asモジュールにあったabout命令と同機能ですな。API関数のGetVersionEx関数を呼び出していただけです。この関数を利用して、OSの種類(シリーズ商品名)を表示してみるサンプルです。ちなみに、この関数内で登場する「OSVERSIONINFO構造体」については、ちょくとさんのページやMSDNのページ(英語)を参照してください。このMSDNページには、sysinfo関数で取得できるバージョン情報文字列の一覧も掲載されてます。XPは「5.1」、Vistaは「6.0」です。この数値から判別する手法でもいいですなー。エディタの[HSP]メニュー→[HSP拡張マクロを使用する]を要有効。varptr(OSVERSIONINFO);OSVERSIONINFO構造体に以下のような数値が返る。"+csdversion;上の数値を元に分類してみると以下のとーり。OSの言語の判別たとえば、プログラムを日本語Windows上で動かしたならば日本語で、日本語以外のWindowsならば英語で、というような海外の人にも利用してもらうプログラムをこしらえたい場合の言語判別サンプルです。言語やら通貨やら、国や地域ごとに異なる表記方法(ロケール情報)を取得するGetLocaleInfo関数を利用します。日本語の場合は「0411」という文字列が返ります。この文字列以外だったら英語表記、というような感じの処理にすればいいわけです。ちなみに、MSDNのページ(英語)の中ほどに言語IDの一覧が掲載されているので参照してください。()^バッテリー情報の取得GetSystemPowerStatus関数を利用して、PC(ノートPC)の電源まわりの情報をいくつか取得してみます。以下のような感じです。