- ベストアンサー
IP Address Controlから値を取得して利用するコード
- Windows7とVS2008 SP1の環境で、IP Addressコントロールから値を取得する方法について教えてください。
- SendMessage関数とIPM_GETADDRESSメッセージを使用して、IP Addressコントロールから値を取得する方法について詳しく説明してください。
- IP Addressコントロールに入力された値を解析する方法についても教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
前回の回答( http://oshiete1.goo.ne.jp/qa5541150.html )でMSDNの調べ方を示したつもりだったのですが… http://msdn.microsoft.com/ja-jp/library/bb761378(en-us,VS.85).aspx で、第1オクテット、第2オクテット、第3オクテット、第4オクテットを とりだすためのマクロについてリンクされてますけど、そちらも読まれてはいない。 ということでよろしいですか? # もっとも、こういう場合はたいていSET時に使用したものと同じデータ形式で返されるのですが。 # データの作成方法と、作成後のデータから個別に取り出すのは微妙に違いがあるかも知れませんが。 >どうやってIpAddressから、172.16.255.255を解析しますか? srpintf(IpAddrStr, "%d.%d.%d.%d", FIRST_IPADDRESS(*IpAddress), SECOND_IPADDRESS(*IpAddress), THIRD_IPADDRESS(*IpAddress), FOURTH_IPADDRESS(*IpAddress)); で取り出します。 # IpAddrStrは必要なだけのサイズを用意するのは当然ですが。
その他の回答 (1)
- Wr5
- ベストアンサー率53% (2173/4061)
>SendMessage( // returns LRESULT in lResult >hIp, // (HWND) handle to destination control >IPM_GETADDRESS, // (UINT) message ID >wParam, // = 0; not used, must be zero >IpAddress // = (LPARAM)(LPDWORD) pdwAddr; >); 大丈夫だとは思いますが… IpAddressはLPDWORD型で有効なアドレス指しているんですよね? IPM_【S】ETADDRESSで使用したDWORD型ではない…ですよね?
お礼
こんばんは! すみません 見落としていました。 MSDNのみかたをもっと勉強しますm(__)m ありがとうございました!