GETVERSION

使い方:   $s = dllfuncstr("GETVERSION");
説明: DengakuDLL.dll のバージョンを表す文字列を返します。
引数: (なし)
返り値: "X.YY" または "X.YYβ"
(X はメジャーバージョン、YY はマイナーバージョン)
例:
if (leftstr(dllfuncstr("GETVERSION"),1) == "0") {
    // 0.0X の場合
} else {
    // それ以上の場合
}


GETOSINFO

使い方:   $s = dllfuncstr("GETOSINFO",$s1);
説明: OS の情報を表す文字列を返します。
引数:
$s1 :
  1. 取得したい情報を表す文字列:
    • OSの種類 ("type")
      Windows NT または Windows 2000 の場合は "NT"、 Windows 95 または Windows 98 の場合は "9X" という文字列になります。
    • メジャーバージョン番号 ("major")
      Windows NT3.51 の場合は "3"、Windows NT4.0 の場合は "4"、 Windows 2000 の場合は "5"、 Windows 95/98 の場合は "4" という文字列になります。
    • マイナーバージョン番号 ("minor")
      Windows NT3.51 の場合は "51"、Windows NT4.0/2000 の場合は "0"、 Windows 95 の場合は "0"、Windows 98 の場合は "10" という 文字列になります。Windows 98SE(Second Edition)の場合は… 誰か教えて下さい(^^;。
    • ビルド番号 ("build")
      ビルド番号を返します。まぁ、あまり役には立ちませんが…(^^;。
    • その他の情報 ("extra")
      OS固有の情報を返します。Windows NT の場合は "Service Pack X" (X には番号が入る)という文字列が、Windows 95 OSR2 の場合は " B" という文字列が返ってきます。

  2. "/f" に続けて書式指定を渡すと、 その書式に従った文字列を返します。 書式指定は普通の文字と "%" に続けて特定の文字が続いたものから 構成されます。 これらは以下の物を使用できます。
    "%t"OSの種類
    "%M"メジャーバージョン番号
    "%m"マイナーバージョン番号
    "%b"ビルド番号
    "%e"その他の情報

  3. $s1 に "" を指定した場合は 各情報をカンマで区切ったものが返されます。
返り値: $s1 の指定に従った文字列を返します。
例:
if (dllfuncstr("GETOSINFO","type") == "NT") {
    // NT の場合
    message dllfuncstr("GETOSINFO","/f 'Windows NT%M.%m(build:%b) %e'");
    //  例: "Windows NT4.0(build:1381) Service Pack 5"
} else {
    // 95/98 の場合
    message dllfuncstr("GETOSINFO","/f 'Windows %t (version:%M.%m%e)'");
    //  例: "Windows 95 (version:4.0B)"
}


GETCARETPOS

使い方:   $s = dllfuncstr("GETCARETPOS");
説明: 現在のキャレット(キーボード入力)の位置を返します。
引数: (なし)
返り値: 現在のキャレット(キーボード入力)の(右下端の)スクリーン座標を 「x,y」という書式で返します(単位はピクセル)。 キャレットが見つからなかった場合は空文字列を返します。
例:
$pos = dllfuncstr("GETCARETPOS"); // "x,y" という書式で返る
// カーソルの直下にダイアログを表示
#_ = dllfunc("NEWDIALOG", "test", 32, $pos + " screen '' '' px");


GETCURSORPOS

使い方:   $s = dllfuncstr("GETCURSORPOS");
説明: 現在のマウスカーソルの位置を返します。
引数: (なし)
返り値: 現在のマウスカーソルのスクリーン座標を 「x,y」という書式で返します(単位はピクセル)。
例:
// マウスカーソルの座標をモニタするサンプル

while (1) {
	insert dllfuncstr("GETCURSORPOS") + "\n";
	#n = dllfunc("SLEEP", 1000); // 1秒待つ
}


SLEEP

使い方:   #n = dllfunc("SLEEP", #n1);
説明: 指定した時間だけスリープします。
引数:
#n1 : スリープしたい時間をミリ秒単位で指定します。 内部的に符号なし整数と解釈されるので、2Mミリ秒以上を 指定したいときは(符号なし整数を符号あり整数と解釈した) 対応する負の値を指定してください。 なお、-1 を指定すると永遠に関数から返ってこなくなるので 注意してください。
返り値: 常に1を返します。
例: GETCURSORPOSの例を参照してください。


MSGBOX

使い方:   $s = dllfuncstr("MSGBOX", $s1, $s2, $s3);
説明: メッセージボックスを表示します。 オプション引数によりボタンの種類やアイコン、 タイムアウト時間を指定できます。
引数:
$s1 : メッセージ文字列
$s2 : オプション文字列(複数指定可)

/b type: ボタンの組み合わせを指定します。 typeには以下の6種類から 1つを指定できます。
  • ok
    [OK]ボタンのみを表示します(デフォルト)。
  • okcancel
    [OK]ボタンと[キャンセル]ボタンを表示します。
  • abortretryignore
    [中止][再試行][無視]ボタンを表示します。
  • yesnocancel
    [はい][いいえ][キャンセル]ボタンを表示します。
  • yesno
    [はい][いいえ]ボタンを表示します。
  • retrycancel
    [再試行][キャンセル]ボタンを表示します。
/i type: メッセージの横に表示するアイコンの種類を指定します。 typeには以下の5種類から 1つを指定できます。
  • none
    アイコンを表示しません(デフォルト)。
  • critical
    警告メッセージアイコンを表示します。
  • question
    問い合わせメッセージアイコンを表示します。
  • exclamation
    注意メッセージアイコンを表示します。
  • information
    情報メッセージアイコンを表示します。
/d type: デフォルトボタンを指定します。 typeには以下の7種類から 1つを指定できます。 オプション指定がないか、/b で指定したボタンの 組み合わせに存在しないボタンを指定した場合は 左端のボタンがデフォルトボタンになります。
  • ok
    [OK]ボタンをデフォルトボタンにします。
  • yes
    [はい]ボタンをデフォルトボタンにします。
  • no
    [いいえ]ボタンをデフォルトボタンにします。
  • cancel
    [キャンセル]ボタンをデフォルトボタンにします。
  • abort
    [中止]ボタンをデフォルトボタンにします。
  • retry
    [再試行]ボタンをデフォルトボタンにします。
  • ignore
    [無視]ボタンをデフォルトボタンにします。
/t time: メッセージボックスを自動的に閉じるまでのタイムアウト 時間を秒単位で指定します。 このオプションを省略するか、 0または負の値を指定するとタイムアウトしません。
$s3 : メッセージボックスのタイトルバーに表示する文字列
返り値: 押されたボタンに対応する文字列(/d オプションのボタン指定と同じ)。 タイムアウトでメッセージボックスが閉じられた場合は""を返します。
例:
// [はい][いいえ][キャンセル]ボタンと「?」アイコンを表示
// [いいえ]ボタンがデフォルトボタン
// 10秒で自動的にメッセージボックスが閉じる
$s = dllfuncstr("MSGBOX",
                "どれかボタンを押すか10秒待ってください",
                "/b yesnocancel /i question /d no /t 10",
                "MSGBOXのテスト");
if ($s == "yes") {
    // [はい] ボタンが押された
} else if ($s == "no") {
    // [いいえ] ボタンが押された
} else if ($s == "cancel") {
    // [キャンセル] ボタンが押された
} else if ($s == "") {
    // タイムアウトした
}