• ベストアンサー

sizeof(char *)

SendMessage()で、lParamに2つの (char *)を入れたいんだけど入りますか? LPARAM型はLONG型のtypedefだから、LONG型は(char *)型の2倍以上の大きさがあるか ということが知りたいです。 char str1[] = "2003年は"; char str2[] = "件登録されています"; SendMessage(hWnd, WM_NULL, wParam, MAKELPARAM(str1, str2));

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

> SendMessage()で、lParamに2つの (char *)を入れたいんだけど入りますか? 入りません。 構造体を使うしかないです。 struct {  char* s1;  char* s2; } param; char str1[] = "2003年は"; char str2[] = "件登録されています"; param.s1 = s1; param.s2 = s2; SendMessage(hwnd, WM_~, wparam, (LPARAM)&param); # 試してません

amurit
質問者

お礼

ありがとうございます。 たくさんのポインタを通知するにはそれらを構造体に入れて、構造体のポインタを渡すのがよい方法ですよね。 sizeof(char *)なんてできないと思っていたら、できました。 僕のパソコンでは、(char *)も LAPRAM もsizeof()すると4でした。 LAPRAMは、(char *)型が1つ入れば満タンですね。

すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#25358
noname#25358
回答No.2

 #1の方の補足です。  仕事で試しました。構造体を使う方法で巧くいきます。

amurit
質問者

お礼

ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A