tmytのらくがき

個人の日記レベルです

WifiInfo for X01T

Ades向けのTodayアプリにWifiInfoってのがあるんだけど、
それをX01Tでも使いたいなー。という話。


もともとAdes向けに作られているだけあって、当然そのままでは動かなかった。
接続状況を表示することはできてもOn/Offはできなかった。


そりゃぁまぁAdes用に作ってあるんだから動かなくて当然さ。
しかしこのTodayアプリにはソースがついていた。
ソースついてるなら戦えるよね。


ということで戦闘開始。
といってもOn/Offしてるところ探してOn/Offの手法を書き換えただけですが。

#ifdef X01T
static VOID SetWLan()
{

    SHELLEXECUTEINFO si = {sizeof(SHELLEXECUTEINFO), 0, NULL, NULL,
         L"\\Windows\\tfwifi.exe", NULL, L"\\Windows", SW_SHOW,
         0, NULL, NULL, NULL, 0, NULL, NULL};
    ShellExecuteEx(&si);
    if (GetWifiState() & SN_WIFISTATEPOWERON_BITMASK) {
        g_bWlanPowerOn = FALSE;
    } else {
        g_bWlanPowerOn = TRUE;
    }
}
#else
static VOID SetWLan()
{
    /* 中略 */
}
#endif

これだけ。
X01Tでは\Windows にあるtfwifi.exe を実行すると無線LANをトグルしてくれるのでそれを利用。
その他のレジストリはさすがはWindowsといったところか、まったく変更なしで動作。


移植性と生産性の高さはさすがWindowsですね。


りーどみーによると再配布してよさげなので
おいときますね。