HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0213
(^ω^) (投稿者削除)3解決


(^ω^)

リンク

2011/2/13(Sun) 21:30:59|NO.37086

この記事は投稿者により削除されました。
2011/2/14(Mon) 01:41:42



この記事に返信する


inovia

リンク

2011/2/13(Sun) 21:50:14|NO.37087

小ワザ/グローバルIP取得
http://hspdev-wiki.net/?%BE%AE%A5%EF%A5%B6%2F%A5%B0%A5%ED%A1%BC%A5%D0%A5%EBIP%BC%E8%C6%C0

試してみた限り、取得できるIPアドレスに半角スペースのゴミが混入しますので、
strtrim などで除去してやる必要があります。



inovia

リンク

2011/2/13(Sun) 22:24:03|NO.37089

MACアドレスで制御した方が良いのでは?
取得するモジュールを書いておきました。


#module __GETMACADDRESS__ ;// IP Helper の準備 #uselib "iphlpapi.dll" ;// IP HelperのAPI定義 #func GetIfTableSz "GetIfTable" nullptr,var,nullptr #func GetIfTable "GetIfTable" var,var,nullptr #define ctype EntryIdx(%1,%2) ((%1)*215+1+(%2)) ;// おまけ ;// 変数の任意の位置から文字列を読む #defcfunc peekstr var a, int ofs dupptr tmpstr,varptr(a)+ofs,1,2 return tmpstr #deffunc GetMACAddress array list sdim list,64 GetIfTableSz tablesize ;// 必要なサイズを調べる dim mib_iftable, tablesize+3>>2 ;// 確保する。 GetIfTable mib_iftable, tablesize ;// 取得する。 repeat mib_iftable ;// 取得したエントリの数が入っている mac.0 = mib_iftable( EntryIdx(cnt, 132) ) mac.1 = mib_iftable( EntryIdx(cnt, 133) ) mac.2 = mib_iftable( EntryIdx(cnt, 134) ) c = cnt repeat 6 list.c += strf("%2.2X",peek(mac.1,cnt)) if cnt<5 : list.c += "-" loop loop return mib_iftable #global // 以下サンプルコード GetMACAddress macad ; MACアドレスを取得して変数に代入 num = stat ; 取得した数を代入 mes "検出したMACアドレスの一覧" repeat num mes macad(cnt) ; 文字列型配列変数になっているので表示 loop

GetMACAddress の第1引数に 変数名を入れます。
実行すると指定した変数名に文字列型配列変数としてMACアドレスが格納されます。
statに取得した数が代入されます。

参考:
HSP3でネットワーク監視したい
http://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp3.cgi?print+200509/05090027.txt

ここ数日サーバーが落ちているようです。



Jack

リンク

2011/2/14(Mon) 02:13:03|NO.37109

解決しました

ありがとうございました



ONION software Copyright 1997-2021(c) All rights reserved.