(AutoHotkey)(電卓を強制的に 関数電卓スタイルで開く 編)
以前に書いたものと組み合わせて ちょっとだけ 役に立つ感じのサンプルを書いてみます
Windows再インストール直後の最初の一度だけ 「もう最初から 関数電卓で起動してくれぇぇぇぇぇ!!!」と
欲求不満に駆られる人も多いでしょう 笑)
今回のサンプルは たとえ前回終了時 「普通の電卓」スタイル で終了しても 次回起動時には 強制的に 関数電卓で開くようになります
このサンプルも 呼び出し方を ホットキーに仕込んだりとか exeファイル化とか 簡易ランチャーを作って組み込むとか いろいろ工夫してみると
活路を見出せるかも? 笑)
SendMessageは 意地でも APIを直接呼び出しているのは こっちの方が 気に入っているからです 笑)
Windows再インストール直後の最初の一度だけ 「もう最初から 関数電卓で起動してくれぇぇぇぇぇ!!!」と
欲求不満に駆られる人も多いでしょう 笑)
今回のサンプルは たとえ前回終了時 「普通の電卓」スタイル で終了しても 次回起動時には 強制的に 関数電卓で開くようになります
[]; 定数を設定、 とはいっても変数に代入してるだけです[] []WM_COMMAND := 0x0111[] []FUNCTION_STYLE := 0x0130[] []TIMEOUT_SEC := 10[] []; 電卓を起動[] []Run, calc[] []; 電卓が起動するまで または タイムアウトまで待ちます、 今回は 10秒にセットしてます[] []WinWait, ahk_class SciCalc, , %TIMEOUT_SEC%[] []; WinWaitの ErrorLevelは 成功時0 失敗時1 なので いきなり Bool型として使える[] []; WinExist("ahk_class SciCalc") は 電卓のハンドルを クラス名から取得しています[] []if ( ErrorLevel )[] []{[] [] MsgBox, 電卓の起動に失敗しました[] []}[] []else[] []{[] [] DllCall("SendMessageA", "Int", WinExist("ahk_class SciCalc"), "Int", WM_COMMAND, "Int", FUNCTION_STYLE)[] []}[]私と 感覚が合う人には 嬉しい機能・・・・ かな? 笑)
このサンプルも 呼び出し方を ホットキーに仕込んだりとか exeファイル化とか 簡易ランチャーを作って組み込むとか いろいろ工夫してみると
活路を見出せるかも? 笑)
SendMessageは 意地でも APIを直接呼び出しているのは こっちの方が 気に入っているからです 笑)