マルシェル新規登録で5000円分当たる

IP Address Controlから値を取得するAPI
を探しています。

GetAddress?

ネコでもわかる~の下記ページをみたのですが
取得までは記載されていなくて・・。
http://www.kumei.ne.jp/c_lang/sdk3/sdk_214.htm


どなかたご教授願います

環境は
VS 2008 SP1
Win32プロジェクト(C/C++)です。

A 回答 (1件)

猫でも~のソースを見ていくと…


>SendMessage(hIp, IPM_SETADDRESS, 0, IpAddress);
というものが。

IPM_SETADDRESSというメッセージを送っています。
MSDNで検索してみましょう。
関連するページでIP Address Controlのページが見つかるかと。(オンライン版だと探しにくいかも)
http://msdn.microsoft.com/en-us/library/bb761374(VS.85).aspx

IPM_GETADDRESSというメッセージが見つかります。
http://msdn.microsoft.com/en-us/library/bb761378(VS.85).aspx
    • good
    • 0
この回答へのお礼

こんばんは!
ありがとうございました!
無事解決できました!

お礼日時:2010/01/22 20:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QIP Address Controlから値を取得して利用するコード

■環境
Windows7
VS2008 SP1
■質問
IP Addressコントロールから値を取得するAPIは
SendMessageでIPM_GETADDRESSで取得できている様なのですが、
私はIpAddressに値が入っていると思っているのですが
どのように、加工して値を取得すればいいでしょうか?
たとえば IP Addressコントロールに
172.16.255.255 となっていてOKボタンを押したら、
どうやってIpAddressから、172.16.255.255を解析しますか?

よくわからないのでご教授願いますm(__)m

else if(LOWORD(wParam)==IDOK_ADDPORT)
{
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;
);

■環境
Windows7
VS2008 SP1
■質問
IP Addressコントロールから値を取得するAPIは
SendMessageでIPM_GETADDRESSで取得できている様なのですが、
私はIpAddressに値が入っていると思っているのですが
どのように、加工して値を取得すればいいでしょうか?
たとえば IP Addressコントロールに
172.16.255.255 となっていてOKボタンを押したら、
どうやってIpAddressから、172.16.255.255を解析しますか?

よくわからないのでご教授願いますm(__)m

else if(LOWORD(wParam)==IDOK_ADDPORT)
{
SendM...続きを読む

Aベストアンサー

前回の回答( 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は必要なだけのサイズを用意するのは当然ですが。

前回の回答( 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時に使用したものと同じデータ形式で返されるのですが。
# データの作成方法と、作成後のデータから個...続きを読む

QCStringからchar*への型変換について教えてください。

以前の質問に

int型 → CString型/char型

がありましたが、

CString型をchar*型に変換する方法を
教えていただければありがたいです。

MSDNで「LPCTSTRキャスト」が説明されていましたが、
例が載ってないのでよくわかりませんでした。

よろしくお願いします。

Aベストアンサー

目的にもよりますが一時的にchar配列として使いたいならCString::GetBuffer()が利用できます。
char配列としての利用が終わったらCString::ReleaseBuffer()する必要がありますが。

直接CString内の文字列を扱う必要があるならCString::operator LPCTSTRで文字列ポインタが得られます。
ただし、CStringオブジェクトをいじると無効ポインタなる可能性があるので気をつけてください。

MSDNのMicrosoft Foundation Classリファレンス→CString→クラスメンバで確認してください。

Qボタンの表示の色、フォントを変更したい

VC++でプログラミングしています。
MFCのダイアログベースのEXEを造っています。
ダイアログにはボタンとエディットボックスを貼り付けています。
私がやりたいのは以下のことです。

・ボタンの色を設定したい
・ボタン、エディットボックスに表示する文字の色を設定したい
・ボタン、エディットボックスに表示する文字のフォント(サイズ)を設定したい

プロパティでサイズ変更すると全体に反映されてしまうので、個々の
コントロールについて制御したいと思っています。

ヘルプで調べて、それらしい関数を見つけるのですが使い方がわかりません。
VCを始めたばかりで、クラスの理解がまだ浅いです。。。
関数の説明は理解できても、「じゃあ、コードはどう書くの?」という状態です。
「○○ は ×× のメンバではありません」と、よく怒られてます。。。

識者の方、ご教授願います。
コードがどうなるのか知りたいので、簡単なサンプルコードがあると助かります。

また、質問ではないのですが、「この関数は○○をする」というのではなく、
「○○をするにはこの関数を使う」という様に調べられる、お勧めの書籍、
Webなどがありましたら教えてください。
今後の勉強に役立てたいと思っています。

VC++でプログラミングしています。
MFCのダイアログベースのEXEを造っています。
ダイアログにはボタンとエディットボックスを貼り付けています。
私がやりたいのは以下のことです。

・ボタンの色を設定したい
・ボタン、エディットボックスに表示する文字の色を設定したい
・ボタン、エディットボックスに表示する文字のフォント(サイズ)を設定したい

プロパティでサイズ変更すると全体に反映されてしまうので、個々の
コントロールについて制御したいと思っています。

ヘルプで調べ...続きを読む

Aベストアンサー

下2つについては以下でいけると思います。

class CMyDlg : CDialog
{
public:

  CFont m_cFont; //Dlgクラスのメンバとして用意
/*
  他のメンバ
*/
  virtual BOOL OnInitDialog(); //初期化

};


BOOL CMyDlg::OnInitDialog()
{
  //TODO:ここでFontを設定しておく(文字の色、サイズなど)

  //Fontを設定
  ((CButton *)GetDlgItem(IDC_BUTTON))->SetFont(&m_cFont,TRUE);

  //TODO:その他の初期化

  return TRUE;
}
//見易さのために、全角スペースを使っています;;

一番上はBitmapを貼り付けるか、CWndのメンバ関数を使って
塗りつぶすかどうかだと思います。

MFCではなく、C++Builderのページなのですが、少しいじればMFCでも使えるので、参考URLに示しておきます。

参考URL:http://market.agr.tottori-u.ac.jp/ken/tech.html

下2つについては以下でいけると思います。

class CMyDlg : CDialog
{
public:

  CFont m_cFont; //Dlgクラスのメンバとして用意
/*
  他のメンバ
*/
  virtual BOOL OnInitDialog(); //初期化

};


BOOL CMyDlg::OnInitDialog()
{
  //TODO:ここでFontを設定しておく(文字の色、サイズなど)

  //Fontを設定
  ((CButton *)GetDlgItem(IDC_BUTTON))->SetFont(&m_cFont,TRUE);

  //TODO:その他の初期化

  return TRUE;
}
//見易さのために、全角スペースを使って...続きを読む

QGetPrivateProfileStringでiniファイル読込む処理を詳しく知りたいのですが・・・

お世話になっています。

iniファイルを読込み、各変数に代入するC言語のDLLを作成したいのです。
このサイトの投稿や、MSDNなどにも載っていたのですが、
少し理解に苦しみます。

現在まで、理解した点がwindows.hのインクルードを
記述するところ辺りです。
iniファイルは下記のようなレイアウトです。

---<mst.ini>----------------------------
[user]
name=username
ID=userid
[pc]
pcname=FMV
----------------------------------------

#include<windows.h>は記述することまでは
分かりましたが、以下から進みません。。。

GetPrivateProfileString("")

初心者で申し訳ありませんが、お助け願います。

Aベストアンサー

こんにちは。itohhといいます。

サンプルを載せておきます。

mst.iniファイル内の[user]セクションのnameキーの値を取得する。
DWORD dwLen=0;
char strBuf[100];
dwLen = GetPrivateProfileString("user",       // セクション名
                "name",       // キー名
                "soushi_ni",     // デフォルト値
                strBuf,       // 読み込んだ値を格納するエリア
                sizeof(strBuf),   // 上記のエリアのサイズ
                "mst.ini" );     // iniファイル名

解説:
iniファイル名をフルパスで指定しないとWindowsのディレクトリにあるものと判断されます。
Win9xなら「c:\windows」、WinNT系なら「c:\WinNT」。

[user]セクションのnameキーがないときは、デフォルト値で指定した値が設定させます。

復帰値「dwLen」は実際に設定した値(文字列)の長さが返されます。

こんにちは。itohhといいます。

サンプルを載せておきます。

mst.iniファイル内の[user]セクションのnameキーの値を取得する。
DWORD dwLen=0;
char strBuf[100];
dwLen = GetPrivateProfileString("user",       // セクション名
                "name",       // キー名
                "soushi_ni",     // デフォルト値
                strBuf,       // 読み込んだ値を格納するエリア
             ...続きを読む

Q実行途中でのエラー発生について

こんばんは。
この掲示板を頻繁に利用させていただいている者です。

Visual C++.NET 2003を利用しソケットプログラミングをしていたところ、突然わけの分からないエラーが途中で発生してしまいます。

[エラー内容]
Debug Assertion Failed!
File: fprintf.c
Line:56

Expression: str != NULL

For information on how your program can cause an assertion failure,see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
上記のようなエラー内容です。

今まで実行可能であったのに、突然エラーメッセージが発生しました。
Line:56ということから56行目を見たところ、str != NULLという記述もしていませんし、かつその行はコメントを記述しています。

なにか原因があるのでしょうか?

よろしくお願いします。

こんばんは。
この掲示板を頻繁に利用させていただいている者です。

Visual C++.NET 2003を利用しソケットプログラミングをしていたところ、突然わけの分からないエラーが途中で発生してしまいます。

[エラー内容]
Debug Assertion Failed!
File: fprintf.c
Line:56

Expression: str != NULL

For information on how your program can cause an assertion failure,see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
上記のようなエラー内容です。

今ま...続きを読む

Aベストアンサー

> File: fprintf.c
> Line:56

これは、fprintf関数のソースの56行目です。
質問者さんのプログラムで、fprintf関数を呼び出ししている箇所があると思います。

VCは現在手元にありませんが、[表示]メニューから「コールスタック」ウィンドウを表示すると、どういう関数が順番に呼ばれてfprintfのところにたどり着いたかをあらわすコールスタックが表示されます。
呼び出し先(上)から遡って、自身の作成したモジュールの所での引数を確認してみてください。

QビジュアルC++でボタンの有効/無効

ビジュアルC++でプログラミングをしているのですが、ツールから貼り付けたボタンの有効/無効を操作したのですが、何度やっても成功しません><、


ネットで検索した結果
CWnd* myWnd = GetDlgItem(IDC_MYEDIT);
myWnd->EnableWindow(TRUE);

でできると書いてあるのですが、どのサイトの物を使用してもビルドできませんでした(;ロ;)

どなたか原因がわかるかた、ご教授くださいm(__)m

Aベストアンサー

みているサンプルは
「Windows フォームアプリケーション」
で作成したプロジェクト用のものではありません。

どのタイミングで有効・無効を切り替えるかわかりませんが、
Enabledプロパティで変更できませんか?

this->button1->Enabled = false; // 無効

Control::Enabled プロパティ
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.enabled.aspx


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング