IsNetworkOnlineについてNo.46140
styth さん 14/05/19 09:13
 
if( dllfunc("IsNetworkOnline") ) {
    #autodown = 1;
 } else {
    #autodown = 0;
}
openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
writeregnum "AutoDown", #autodown;
closereg;
#n = dllfunc("EnvChanged");

 定期受信の「間隔」を例えば、3分にして、定期受信をoffにして、上記マクロ
を実行します。
 すると、定期受信はONになりますが、間隔は1分になってしまいます。
 マクロを実行して、逆に定期受信がoffになったとき、定期受信の「間隔」が
15分になります。
 これまた、私だけのパソコンの問題でしょうか?
 コメントを頂けないと困るので、スレッドを新しくしました。
 よろしくお願いします。

[ ]
RE:46140 IsNetworkOnlineについてNo.46141
秀まるお2 さん 14/05/19 10:02
 
 すみません。僕の方で間違いがありました。レジストリの"AutoDown"の値は定
期受信がONかOFFかだけじゃなくて、間隔の時間も覚えていました。

 マクロは以下のような内容でいけると思います。それでお願いします。

    loaddll "tkinfo.dll";
    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
    #autodown = getregnum("AutoDown");
    closereg;
    #autodownPrev = #autodown;
    if( dllfunc("IsNetworkOnline") ) {
        if( #autodown < 0 ) {
            #autodown = - #autodown;
            if( #autodown == 0 ) {
                #autodown = 10;
            }
        }
    } else {
        if( #autodown > 0 ) {
            #autodown = - #autodown;
        }
    }
    if( #autodown != #autodownPrev ) {
        openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
        writeregnum "AutoDown", #autodown;
        closereg;
        #n = dllfunc("EnvChanged");
    }

[ ]
RE:46141 IsNetworkOnlineについてNo.46142
K'zawa さん 14/05/19 10:42
 
秀まるおさん、stythさん、こんにちは。
K'zawaです。

ON/OFFだけなら「定期的に受信する」コマンドを実行したことにする方法もあり
ます。簡単です。

例1) 定期受信ON/OFFトグル
#n = sendmessage(hidemaruhandle(0), 0x0111, 40141, 0);  // 「定期的に受
信する」コマンド

判断が必要なときは、同コマンドメニューのチェック状態を見ます。

例2) 定期受信OFFのときONにする、ONのときはそのまま
if ( ! dllfunc("GetCurrentMenuCheckState", 40141) ) {
  #n = sendmessage(hidemaruhandle(0), 0x0111, 40141, 0);    // 「定期的
に受信する」コマンド
}

[ ]
RE:46142 IsNetworkOnlineについてNo.46143
秀まるお2 さん 14/05/19 11:14
 
 たしかにそっちの方が簡単でいいですね。

 追加情報ですが、コマンドの番号は、「マクロ・マクロ登録...」の
「コマンド置き換え」ページの「コマンドの番号を調べる」で調べれば分かりま
す。

[ ]
RE:46143 IsNetworkOnlineについてNo.46204
styth さん 14/05/31 08:09
 
> 追加情報ですが、コマンドの番号は、「マクロ・マクロ登録...」の
>「コマンド置き換え」ページの「コマンドの番号を調べる」で調べれば分かりま
>す。
 マクロヘルプ「裏技による任意コマンド実行」にこの辺のことを追記して
いただきたのですが、お願いします。

[ ]
RE:46204 IsNetworkOnlineについてNo.46211
秀まるお2 さん 14/06/02 10:30
 
 たしかにそこに書いておきべき話のようです。さっそく修正させていただきま
す。

[ ]