07/03/20 09:31:36
>>972
なるほどたしかにあらかじめエディタでUnicode形式でファイルを作成し、
それに対してWriteProfileしてみたところ、Unicodeのまま書き込めました。
>>976のおっしゃる情報によると、NT系しか動かないようなので、
厳密にやろうとするとまた考えないといけないのでしょうけど、
今回のものは2000以降限定と言ってしまっても問題無いので、
そうなるとこれでも大丈夫ですよね。
みなさんありがとうございました。
982:デフォルトの名無しさん
07/03/20 20:44:56
コントロールを作っていて困ったことがあったので質問させて下さい。
WH_GETMESSAGEフックを使って親ウィンドウのメッセージを盗みたいと思ってます。
コントロールはクラス化していて、GetMsgProcでインスタンスへのポインタを使うために、
グローバルなCAtlMapを使って、dwThreadIdとthisを関連づけて保持しています。
またSetWindowsHookExの戻り値もクラスのメンバとして保持してます。
そしてGetMsgProcでは、
MSG *msg = (MSG*)lParam;
CControl *pThis = g_hookMap[GetWindowThreadProcessId(msg->hwnd, NULL)];
このようにポインタを取得して、メッセージによって処理したり、CallNextHookExを呼び出したりしています。
ここで問題がありまして、msg->hwndにNULLが渡されることがあります。
(ちょっと調べた感じだとPostThreadMessageで渡されたメッセージでしょうか)
このときはpThisを使ってフックプロシージャのハンドルを取得できないため、
CallNextHookExを呼び出すことができないので、仕方なくreturn 0;で処理を中断しています。
msg->hwndがNULLでもちゃんとフックプロシージャのハンドルを取得できる
もっと上手いやり方がありましたらお教え下さい。
983:デフォルトの名無しさん
07/03/20 20:58:44
親ウィンドウをサブクラスかでは駄目なのか?
984:982
07/03/20 21:10:27
>>983
サブクラス化も試してみました。
具体的にはWM_CLOSEを取得して確認ダイアログを出したいのですが、他のメッセージは取得できるのに
なぜかWM_CLOSEは取得できないまま終了してしまいました。
そこでフックを試してみたら上手く取得できたので、フックでやろうとしているのですが。。
985:デフォルトの名無しさん
07/03/20 21:30:10
GetMessageフックはフックを受け取るスレッドのコンテキストで動くから
GetCurrentThreadId()でいいんじゃネーノ
986:デフォルトの名無しさん
07/03/20 21:44:59
> フックを受け取る
もとい
メッセージを受け取る
987:982
07/03/20 22:44:15
>>985,986
おー!できるようになりました。ちゃんといろんなAPIを知っておかないとダメですね。
ありがとうございました!!
988:デフォルトの名無しさん
07/03/20 23:08:51
次すれまだぁぁあんあん
989:デフォルトの名無しさん
07/03/21 03:52:22
つ t[茶]
つ スレリンク(tech板)
990:デフォルトの名無しさん
07/03/21 14:28:23
つか何度見ても2がおっかしー。
新しいのにはもうないけど。
991:デフォルトの名無しさん
07/03/21 17:33:48
/  ̄ ̄ '´ ̄ ̄ヽ、
ノ/. /二二二ヽヽ \
<V/, '/ 人 | ヽハ夊 、 |
〃 {_{`ヽ Vヽノリ| l >" i|
ハ小l● ● レ|、 | |
|│ l⊃ rー- ⊂⊃|ノ |│
/⌒ヽ.| .ヘ ヽ ノ jレ/⌒i !
\ /:::レ l>,、 __, イァ/ /ノ
. /:::::/ / ヘ:::|三/::{ヘ、__∧
`ヽ< ヾ:∨:::/ヾ:::彡
992:デフォルトの名無しさん
07/03/21 18:27:52
_
/~ヽ
(。・-・)< うめてくだちゃい
゚し-J゚
993:デフォルトの名無しさん
07/03/21 18:54:32
梅
994:デフォルトの名無しさん
07/03/21 19:02:46
コソーリ
URLリンク(wiki.livedoor.jp)
最初に作った人とは違いますが・・・
このスレのファンです
時々質問したまま何も返さないのは私です
どうもすみません
995:デフォルトの名無しさん
07/03/21 19:24:54
_
/~ヽ
(。・?・)
゚し-J゚
996:996
07/03/21 19:45:04
自己解決しました。
>>996にカチンときたので教えません。
バーカ!
997:デフォルトの名無しさん
07/03/21 19:53:14
どう見てもオナニープレイです 本当にお疲れ様でした
998:994
07/03/21 19:56:26
ごめんなさい。
これぐらいしかできないのです・・・
999:994
07/03/21 20:00:49
評判が悪ければ取り下げますです。
1000:デフォルトの名無しさん
07/03/21 20:01:35
/ ⌒ヽ
/ \
,.-‐''⌒ヽ ,.=、 ヽー、
,〃/∠彡ニ\ (.fゃ) | j
/ ミ彡三ヘ`=´ | |
/ ミ彡三∧ j ./
ト ャ''" ミ彡三∧. //
」i _;''_, ミ彡'ニミヘ、 〃
リ ´ ̄ リ´ f'`ij }/「i|
ヽ- '´/ソ'川||
ヽ一 「彡'川ll.|||
T _ / ´ j||.川||
` ̄了、 i! 川.川|
_」. \ | j| 川|ト、
_/ ̄ \ \ '_/./川 `
 ̄ `  ̄ ´
ネゴトワ・ネティエ[Negtva Netie]
(ルーマニア.1935~54)
1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。