Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build125
https://mevius.5ch.net/test/read.cgi/tech/1551247748/
Win32API質問箱 Build124
https://mevius.5ch.net/test/read.cgi/tech/1510395780/
■関連スレ
Visual Studio 2019 Part4 https://mevius.5ch.net/test/read.cgi/tech/1585715794/
Visual Studio 2017 Part7 https://mevius.5ch.net/test/read.cgi/tech/1558179898/
【C++】 DirectX初心者質問スレ Part41 【C】 https://mevius.5ch.net/test/read.cgi/tech/1521786252/
Win32API質問箱 Build126
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
2020/05/01(金) 22:16:51.96ID:ZJ42fMZB828デフォルトの名無しさん
2021/09/15(水) 12:49:21.43ID:iNVe1A73 >>827
スタックはスレッド単位あるね
スタックはスレッド単位あるね
829デフォルトの名無しさん
2021/09/15(水) 12:51:46.74ID:LR7HEnPp >>828
あぁプロセスを跨がないって言った方がよかったな
あぁプロセスを跨がないって言った方がよかったな
830デフォルトの名無しさん
2021/09/15(水) 13:39:40.30ID:5Dhe4KoF831デフォルトの名無しさん
2021/09/15(水) 14:21:18.54ID:SFBdYzCp >>830
GlobalAllocと言っても引数に渡すオプションで変わるぞ
GMEM_FIXEDを渡せばプロセス単位でアクセス可能なメモリ(プロセスを超えてアクセスはできない)
GMEM_MOVEABLEを渡すとプロセスを超えて使用できるハンドルが返る
この時点でプロセスのメモリ領域はまだ確保されていない
その後GlobalLockによってプロセスのメモリ空間にマップされる
>SetClipboardDataでOS管理化のバッファに渡される
SetClipboardDataに渡すのはハンドルであってメモリじゃない
言い換えると、システム(クリップボード)は渡されたハンドルの複製を作ってそれを保持するだけ
ハンドルが示すリソースには参照カウンタがあって、すべてのハンドルが閉じて初めて解放される
つまりGlobalAlloc、GlobalFreeでプロセスがハンドルを閉じても、クリップボードに渡されたハンドルが生きているからデータを維持し続ける
新たにクリップボードにコピーや切り取りをするとそれまでの複製されたハンドルを閉じるので参照カウンタが0になり実際に開放されることになる
>(CloseClipboardするまでフラッシュはされない?)
GlobalUnockをした時点で書き込まれたデータはハンドルさえ知っていれば誰でもアクセスできる状況にある
言い換えると「フラッシュされるタイミング」はGlobalUnockしたときと言えるだろう
ただしCloseClipboardすることで「ハンドルの複製」が確実に行われるということではある
プロセスはCloseClipboardを呼び出す前に渡したハンドルの開放を行うべきではないと書かれている
(これはシステムがハンドルの複製する前にプロセスが元のハンドルを解放して参照カウンタが0になってしまいデータそのものが解放されるのを防ぐためだろう)
GlobalAllocと言っても引数に渡すオプションで変わるぞ
GMEM_FIXEDを渡せばプロセス単位でアクセス可能なメモリ(プロセスを超えてアクセスはできない)
GMEM_MOVEABLEを渡すとプロセスを超えて使用できるハンドルが返る
この時点でプロセスのメモリ領域はまだ確保されていない
その後GlobalLockによってプロセスのメモリ空間にマップされる
>SetClipboardDataでOS管理化のバッファに渡される
SetClipboardDataに渡すのはハンドルであってメモリじゃない
言い換えると、システム(クリップボード)は渡されたハンドルの複製を作ってそれを保持するだけ
ハンドルが示すリソースには参照カウンタがあって、すべてのハンドルが閉じて初めて解放される
つまりGlobalAlloc、GlobalFreeでプロセスがハンドルを閉じても、クリップボードに渡されたハンドルが生きているからデータを維持し続ける
新たにクリップボードにコピーや切り取りをするとそれまでの複製されたハンドルを閉じるので参照カウンタが0になり実際に開放されることになる
>(CloseClipboardするまでフラッシュはされない?)
GlobalUnockをした時点で書き込まれたデータはハンドルさえ知っていれば誰でもアクセスできる状況にある
言い換えると「フラッシュされるタイミング」はGlobalUnockしたときと言えるだろう
ただしCloseClipboardすることで「ハンドルの複製」が確実に行われるということではある
プロセスはCloseClipboardを呼び出す前に渡したハンドルの開放を行うべきではないと書かれている
(これはシステムがハンドルの複製する前にプロセスが元のハンドルを解放して参照カウンタが0になってしまいデータそのものが解放されるのを防ぐためだろう)
832デフォルトの名無しさん
2021/09/15(水) 14:22:39.60ID:SFBdYzCp 訂正
× つまりGlobalAlloc、GlobalFreeでプロセスがハンドルを閉じても、
〇 つまりGlobalFreeでプロセスがハンドルを閉じても、
× つまりGlobalAlloc、GlobalFreeでプロセスがハンドルを閉じても、
〇 つまりGlobalFreeでプロセスがハンドルを閉じても、
833デフォルトの名無しさん
2021/09/15(水) 14:54:01.66ID:+suq2kti クリップボードを使うときGlobalAllocで割り当てたメモリは解放しなくていいって聞くけど
クリップボードを経由せずにHGLOBAL値を他のプロセスに渡してもGlobalLockでアクセスできないよな
ということはクリップボードもメモリオブジェクトそのものをムーブしているのではなく実はコピーしてるだけ?
だったら貼り付けた側でもGlobalFreeすべきなのかな
クリップボードを経由せずにHGLOBAL値を他のプロセスに渡してもGlobalLockでアクセスできないよな
ということはクリップボードもメモリオブジェクトそのものをムーブしているのではなく実はコピーしてるだけ?
だったら貼り付けた側でもGlobalFreeすべきなのかな
834デフォルトの名無しさん
2021/09/15(水) 14:55:37.48ID:SFBdYzCp835デフォルトの名無しさん
2021/09/15(水) 15:21:21.14ID:+suq2kti さっきやってみたらできなかった
実験のやり方がまずいのかな
実験のやり方がまずいのかな
836デフォルトの名無しさん
2021/09/15(水) 15:22:27.17ID:+suq2kti FileMappingより簡単な方法があるのかと期待したんだけど
837デフォルトの名無しさん
2021/09/15(水) 15:32:27.38ID:iNVe1A73 win16apiと混ざってないか?
838デフォルトの名無しさん
2021/09/15(水) 15:33:50.71ID:+suq2kti 32だとGlobalFreeすべきってなってる?
839デフォルトの名無しさん
2021/09/15(水) 15:39:39.86ID:5Dhe4KoF >>833
GlobalAllocしたプロセスを閉じた後もちゃんとクリップボード内のデータは残るのと
SetClipboardData → CloseClipboard → GlobalFreeという非公式な手順でFreeをした後もちゃんとクリップボード内のデータは残るため、あくまで実データはOS側へコピーされているという認識でした
メモリビューアで眺めた感じだと成功した後にGlobalFreeを行わなくても、
GlobalAlloc(GMEM_MOVEABLE, size)の戻り値->、GlobalLockの戻り値->共に該当アドレスへ別データ上書きは確認されたので、ちゃんと解放されているものと思われます
GlobalAllocしたプロセスを閉じた後もちゃんとクリップボード内のデータは残るのと
SetClipboardData → CloseClipboard → GlobalFreeという非公式な手順でFreeをした後もちゃんとクリップボード内のデータは残るため、あくまで実データはOS側へコピーされているという認識でした
メモリビューアで眺めた感じだと成功した後にGlobalFreeを行わなくても、
GlobalAlloc(GMEM_MOVEABLE, size)の戻り値->、GlobalLockの戻り値->共に該当アドレスへ別データ上書きは確認されたので、ちゃんと解放されているものと思われます
840デフォルトの名無しさん
2021/09/15(水) 15:45:35.08ID:LR7HEnPp https://docs.microsoft.com/ja-jp/windows/win32/api/winuser/nf-winuser-setclipboarddata
> The application may not write to or free the data once ownership has been transferred to the system
ないね
> The application may not write to or free the data once ownership has been transferred to the system
ないね
841デフォルトの名無しさん
2021/09/15(水) 15:46:32.86ID:zA2ywaMe SetClipboardData の第一引数は CF_PRIVATEFIRST + 定数 だったりするのかな
842デフォルトの名無しさん
2021/09/15(水) 15:46:35.24ID:+suq2kti なるほど
クリップボードがメモリオブジェクトをGlobalFreeしているので
アプリ側でGlobalFreeすると二重解放になるのは
ムーブかコピーかによらないってことか
クリップボードがメモリオブジェクトをGlobalFreeしているので
アプリ側でGlobalFreeすると二重解放になるのは
ムーブかコピーかによらないってことか
843デフォルトの名無しさん
2021/09/15(水) 15:56:39.26ID:iNVe1A73 「メモリ割り当て方法の比較」という
MicroSoftの資料を一読したら?
GlobalAlloc はHeapAllocのラッパ
MicroSoftの資料を一読したら?
GlobalAlloc はHeapAllocのラッパ
844デフォルトの名無しさん
2021/09/15(水) 16:10:58.96ID:MM/6t6np ヒップホップ
845デフォルトの名無しさん
2021/09/15(水) 23:17:32.21ID:qRxK7g6Y Win16の頃のドキドキひやひや感が無くなったよな
846デフォルトの名無しさん
2021/09/16(木) 02:35:41.36ID:fi5zSZqt せやな
847833
2021/09/16(木) 07:33:53.55ID:T1nJe1PW 礼を言ってなかった
みんな、ありがとう
みんな、ありがとう
848デフォルトの名無しさん
2021/09/18(土) 08:35:19.11ID:bA/qQPAi849デフォルトの名無しさん
2021/09/18(土) 21:23:52.02ID:YYDlQyy6 ?
850デフォルトの名無しさん
2021/09/18(土) 21:25:09.62ID:7htd6rFv ??
851デフォルトの名無しさん
2021/09/20(月) 12:21:13.96ID:rmuhdvcF 馬鹿はこっち来んな
852デフォルトの名無しさん
2021/09/20(月) 16:25:14.73ID:8WyTbttR ?
853デフォルトの名無しさん
2021/09/20(月) 17:27:32.75ID:Nby1mowW ??
854デフォルトの名無しさん
2021/09/20(月) 20:57:23.65ID:niSQE6rP ???
855デフォルトの名無しさん
2021/09/21(火) 06:12:03.22ID:rkkhSUpi \\?\
856デフォルトの名無しさん
2021/09/21(火) 16:25:25.08ID:jHV9ARm/ “過剰なまでの虫嫌い”増加の理由は「感情の誤反応」…東大院が分析(女性自身)
https://news.yahoo.co.jp/articles/ef5d563d39c9b3f03ceb927fe74aeb140b8e7436
https://news.yahoo.co.jp/articles/ef5d563d39c9b3f03ceb927fe74aeb140b8e7436
857デフォルトの名無しさん
2021/10/01(金) 02:53:14.59ID:da71++8d Windowsゲームプログラミング (Game developer) 単行本 – 2004/5/1
最新版 12歳からはじめる ゼロからのC言語ゲームプログラミング教室
ってWIN32API始めたての人でも読んでも難しくないでしょうか?
読んだことある方いらっしゃいましたら教えていただきたいです。
書籍スレで同じことを聞いたのですが内容に関して教えてもらえなかったのでこちらで…
最新版 12歳からはじめる ゼロからのC言語ゲームプログラミング教室
ってWIN32API始めたての人でも読んでも難しくないでしょうか?
読んだことある方いらっしゃいましたら教えていただきたいです。
書籍スレで同じことを聞いたのですが内容に関して教えてもらえなかったのでこちらで…
858デフォルトの名無しさん
2021/10/01(金) 03:08:14.03ID:aOhU7LIV 17年前の本ね…
859デフォルトの名無しさん
2021/10/01(金) 03:32:01.27ID:7LdF/tqC >>857
32BITで良いならありじゃね?
32BITで良いならありじゃね?
860デフォルトの名無しさん
2021/10/01(金) 03:39:25.63ID:I1/iB9Go861デフォルトの名無しさん
2021/10/01(金) 04:12:41.60ID:YSb3+a7i 素人:本が判り易いかどうかを聴く
普通の人:その本で何が出来るかを聴く
出来る人:その本が役に立つかどうか自分で考える
普通の人:その本で何が出来るかを聴く
出来る人:その本が役に立つかどうか自分で考える
862デフォルトの名無しさん
2021/10/01(金) 05:30:04.22ID:V7ei2X1Y863857
2021/10/01(金) 05:31:43.69ID:V7ei2X1Y864デフォルトの名無しさん
2021/10/01(金) 05:50:55.06ID:HJPpsjNl 無い
865デフォルトの名無しさん
2021/10/01(金) 05:53:09.89ID:alrYkh/f 古いと言われながらも使われ続ける運命
866デフォルトの名無しさん
2021/10/01(金) 06:29:03.99ID:9qXprR6W Windowsゲームプログラミング (Game developer) 単行本 – 2004/5/1
これは2版がでてるはずだが
ちなみにC言語がわかればド素人でも理解できるように書かれてる
これは2版がでてるはずだが
ちなみにC言語がわかればド素人でも理解できるように書かれてる
867デフォルトの名無しさん
2021/10/01(金) 06:57:10.12ID:PaEGpo5A 推薦本のスレにも書いたけど、
基本、年齢が入った本は、ジャケ買いする人に買わせる本。
タイトルによる釣り
慶応卒のRubyの女神・池澤あやかが言ってるけど、
大学生のほとんどが、Cの授業で挫折する
だから中学生で、Cを理解できる確率は、1億分の1ぐらい
単に、そのままコピペして動かすだけの本。
ポインターなどを理解させる事は、絶対に無理
それに、コピペ・日記本の類は、単に手順書で、少しでも古いと動かない。
こう書いたら、こう動くというだけの本
まあ、図書館で読んでみれば?
君らの事を、情報弱者(情弱)と言うけど、
本のタイトル以外に、情報を持っていないから、年齢に頼ってしまう
漏れらは、慶応ぐらいでも、ほとんどの大学生が、Cで挫折する事を知っているから、
最初から、中学生には無理なことが分かっているから、タイトルに引っ掛からない
基本、年齢が入った本は、ジャケ買いする人に買わせる本。
タイトルによる釣り
慶応卒のRubyの女神・池澤あやかが言ってるけど、
大学生のほとんどが、Cの授業で挫折する
だから中学生で、Cを理解できる確率は、1億分の1ぐらい
単に、そのままコピペして動かすだけの本。
ポインターなどを理解させる事は、絶対に無理
それに、コピペ・日記本の類は、単に手順書で、少しでも古いと動かない。
こう書いたら、こう動くというだけの本
まあ、図書館で読んでみれば?
君らの事を、情報弱者(情弱)と言うけど、
本のタイトル以外に、情報を持っていないから、年齢に頼ってしまう
漏れらは、慶応ぐらいでも、ほとんどの大学生が、Cで挫折する事を知っているから、
最初から、中学生には無理なことが分かっているから、タイトルに引っ掛からない
868デフォルトの名無しさん
2021/10/01(金) 07:20:49.63ID:2vsjQ56x 俺FランだけどフリーランスのCプログラマだよ
学校の偏差値とか全然関係ないから
学校の偏差値とか全然関係ないから
869デフォルトの名無しさん
2021/10/01(金) 08:15:58.61ID:0pcjGFTU せやな
870デフォルトの名無しさん
2021/10/01(金) 08:53:42.32ID:q4HIBiEp おう
871デフォルトの名無しさん
2021/10/01(金) 10:56:05.77ID:Edlq/SQG 今の慶大生は昔の地方私大生より馬鹿になってるのか
872867
2021/10/01(金) 10:59:39.19ID:PaEGpo5A 基本的に、パソコンゲームは数十年前の話。
今は、Windows用・Linux用のゲームはない
Android用ゲームだけ。
皆、Unity を使う
ブラウザゲームなら、Pixi.js ベースのPhaser とか
下のサイトのイタリア人は、昔は、cocos2d-js も載せていたけど、
今は、Phaser ばっかりになってしまった
https://www.emanueleferonato.com/
ゲームは、ゲーム製作板の方で聞いた方がよいけど、
基本、DirectX などのパソコンゲームは存在しない。
誰も作らない
作っても売れないから。
今、パソコンゲームを買う人は、いないでしょ
今は、Windows用・Linux用のゲームはない
Android用ゲームだけ。
皆、Unity を使う
ブラウザゲームなら、Pixi.js ベースのPhaser とか
下のサイトのイタリア人は、昔は、cocos2d-js も載せていたけど、
今は、Phaser ばっかりになってしまった
https://www.emanueleferonato.com/
ゲームは、ゲーム製作板の方で聞いた方がよいけど、
基本、DirectX などのパソコンゲームは存在しない。
誰も作らない
作っても売れないから。
今、パソコンゲームを買う人は、いないでしょ
873デフォルトの名無しさん
2021/10/01(金) 11:32:38.00ID:D04WTAVm Ruby妖怪がSteam見たらひっくり返りそうやね
イヤ見なかったことにして脳停止できるから妖怪なのか
イヤ見なかったことにして脳停止できるから妖怪なのか
874デフォルトの名無しさん
2021/10/01(金) 11:38:27.60ID:0pcjGFTU >>863
64bitAPIアドレス周りが、ちっと違う
64bitAPIアドレス周りが、ちっと違う
875デフォルトの名無しさん
2021/10/01(金) 11:42:39.38ID:FMnIEPDs SetWindowLong(), GetWindowLong() が変わる
引数のマクロ定数も変える必要が出てくるケースあり
引数のマクロ定数も変える必要が出てくるケースあり
876デフォルトの名無しさん
2021/10/01(金) 11:57:04.75ID:alrYkh/f C言語で32/64bit対応するのはわりと簡単。最新コンパイラのコンパイル時警告に沿ってソースを修正すればいいだけだから。
問題はWin32APIをDLL呼び出しするスクリプト言語での対応で誰も親切に警告してくれないし、アセンブラ並みに面倒。
問題はWin32APIをDLL呼び出しするスクリプト言語での対応で誰も親切に警告してくれないし、アセンブラ並みに面倒。
877デフォルトの名無しさん
2021/10/01(金) 13:07:55.34ID:FE3lUBFq >>871
慶大生は頭良いと思った事がない
慶大生は頭良いと思った事がない
878デフォルトの名無しさん
2021/10/01(金) 16:05:45.50ID:xAAYN8E1 64bitで困るのはWin32APIの部分じゃなくて
SysWOW64の部分だったりする
SysWOW64の部分だったりする
879デフォルトの名無しさん
2021/10/01(金) 16:15:23.19ID:alrYkh/f アドレス空間が違っててハンドルをプロセス間で共有できなかったりするんだったか?
880デフォルトの名無しさん
2021/10/01(金) 16:17:52.22ID:xAAYN8E1 regedit も system32 の部分と syswow64 の部分の両方ケアしないといけないし面倒になったよね
881デフォルトの名無しさん
2021/10/01(金) 16:28:33.91ID:FMnIEPDs 32bit アプリが 64bit 環境で動いていて そいつが参照するレジストリは
syswow64 側に居て そっちを書き換えないといけないとかあったな
syswow64 側に居て そっちを書き換えないといけないとかあったな
882ハノン ◆QZaw55cn4c
2021/10/01(金) 21:26:29.96ID:znNTQ7WB ODBC 登録リストも 32/64 で別々だった気が
883デフォルトの名無しさん
2021/10/02(土) 15:16:24.14ID:yFRwYWli うちの Windows 10 のスタートメニューには
ODBC Data Sources (32-bit)
ODBC データ ソース (64 ビット)
があるが何この中途半端な日本語化ωωω
ODBC Data Sources (32-bit)
ODBC データ ソース (64 ビット)
があるが何この中途半端な日本語化ωωω
884デフォルトの名無しさん
2021/10/02(土) 15:18:03.33ID:yFRwYWli >>879
COM(OLE/ActiveX)のクライアントがサーバーにDispatch出来なかったりするんだよな
COM(OLE/ActiveX)のクライアントがサーバーにDispatch出来なかったりするんだよな
885デフォルトの名無しさん
2021/10/02(土) 21:29:50.89ID:0KUEFcg9 DirectX の Filter も 32/64 両方造ったし
GraphEdit も両バージョン立ち上げて確認してるんだが
GraphEdit も両バージョン立ち上げて確認してるんだが
886デフォルトの名無しさん
2021/10/03(日) 07:24:20.35ID:BlQUkwCi Unix由来の標準入出力とソケットが一番頼りになる皮肉
887デフォルトの名無しさん
2021/10/03(日) 11:15:21.70ID:yqqjmy7E その割に、AF_UNIXすら最近の実装だという
888デフォルトの名無しさん
2021/10/06(水) 19:32:00.27ID:7g8s0ol2 むかしむかしX Window Systemの内部通信は……
889デフォルトの名無しさん
2021/10/06(水) 19:37:08.67ID:LKY0pW6F 10以前は知らん
890デフォルトの名無しさん
2021/10/06(水) 19:54:49.19ID:vqgOkLJq Windows 11 出たけど
Win32API 関連はなんか変わる?
注意点とか?
「アプリ」は使わんが
Win32API 関連はなんか変わる?
注意点とか?
「アプリ」は使わんが
891デフォルトの名無しさん
2021/10/12(火) 20:08:13.59ID:0O/vnGSn loadImageFile関数について教えて下さい
以下の書き方でエラーが出るんですが何処が間違えてますか?
img.loadImageFromFile("C:\Program Files\Cheat Engine 7.3\autorun\test.jpg")
エラー内容 invalid escape sequence test '" C:\P"
以下の書き方でエラーが出るんですが何処が間違えてますか?
img.loadImageFromFile("C:\Program Files\Cheat Engine 7.3\autorun\test.jpg")
エラー内容 invalid escape sequence test '" C:\P"
892デフォルトの名無しさん
2021/10/12(火) 20:24:33.75ID:al5DqswH エスケープシーケンスがなんだか調べたらどう?
こんなの基礎知識
こんなの基礎知識
893デフォルトの名無しさん
2021/10/12(火) 22:26:33.36ID:fXvNOJZ2 漏れは、Ruby で、/ をパス区切りに使っているけど。
Dir.glob( 'C:/Users/Owner/Documents/**/*.txt' )
特殊文字をエスケープするなら、\ は、\\ になるのかな?
Dir.glob( 'C:/Users/Owner/Documents/**/*.txt' )
特殊文字をエスケープするなら、\ は、\\ になるのかな?
894デフォルトの名無しさん
2021/10/13(水) 08:21:26.87ID:w2mbz/VV895デフォルトの名無しさん
2021/10/13(水) 08:24:07.68ID:w2mbz/VV896デフォルトの名無しさん
2021/10/13(水) 08:26:59.76ID:w2mbz/VV C++ならR"(ここはエスケープ不要)"なんてのが使える
897デフォルトの名無しさん
2021/10/13(水) 17:35:32.72ID:IvTU141J C++ならって言うけど、それができるのはC++11対応以降だぞ
898デフォルトの名無しさん
2021/10/13(水) 19:48:37.43ID:w2mbz/VV 化石乙
899デフォルトの名無しさん
2021/10/13(水) 22:50:31.67ID:gIAgExkG とりあえず物理ローカルドライブのパーティション1は開けるかね?
900デフォルトの名無しさん
2021/10/13(水) 22:53:18.71ID:1nyshFrF 古いシステムに触ってるかどうかがよく分かる
901デフォルトの名無しさん
2021/10/16(土) 07:53:34.96ID:CDLajE+o >>891
エラー文をちゃんと読むようにしたほうがいいよ。
エラー文をちゃんと読むようにしたほうがいいよ。
902デフォルトの名無しさん
2021/10/22(金) 10:33:00.16ID:/1A4Gt1O コンボボックスのリストアイテムのフォント色を変えようと思ったんだけど、リストコントロールの親ウィンドウが他プロセスcsrss.exeなのでWM_NOTIFYを受信できない
どうすればコンボボックスのリストアイテムのフォント色を変えられるだろうか?
どうすればコンボボックスのリストアイテムのフォント色を変えられるだろうか?
903デフォルトの名無しさん
2021/10/22(金) 16:47:21.55ID:DsjZYzXm ownerdraw
904デフォルトの名無しさん
2021/10/22(金) 20:06:47.33ID:/1A4Gt1O905蟻人間 ◆T6xkBnTXz7B0
2021/10/22(金) 20:09:04.86ID:9A3QnFKk customdraw
906デフォルトの名無しさん
2021/10/22(金) 20:24:55.00ID:/1A4Gt1O >>905
回答ありがとう
だがしかし、customdrawはWM_NOTIFYが親ウィンドウに送られてくるので、コンボボックスのリストコントロールの親ウィンドウが別プロセスという問題点は同じ
ちなみにコンボボックスのリストボックスは、SendMessage(CB_GETCOMBOBOXINFO)で戻されるCOMBOBOXINFO構造体のhwndListからウィンドウハンドルを得ている
コンボボックスのリストボックスは最初から親ウィンドウがデスクトッププロセスcsrss.exeが所有しているウィンドウクラス名「#32769」となっている
回答ありがとう
だがしかし、customdrawはWM_NOTIFYが親ウィンドウに送られてくるので、コンボボックスのリストコントロールの親ウィンドウが別プロセスという問題点は同じ
ちなみにコンボボックスのリストボックスは、SendMessage(CB_GETCOMBOBOXINFO)で戻されるCOMBOBOXINFO構造体のhwndListからウィンドウハンドルを得ている
コンボボックスのリストボックスは最初から親ウィンドウがデスクトッププロセスcsrss.exeが所有しているウィンドウクラス名「#32769」となっている
907デフォルトの名無しさん
2021/10/22(金) 20:27:15.71ID:/1A4Gt1O >>906を訂正
リストボックスではなくリストコントロール
リストボックスではなくリストコントロール
908蟻人間 ◆T6xkBnTXz7B0
2021/10/22(金) 20:30:33.06ID:9A3QnFKk WM_CTLCOLORLISTBOX
909蟻人間 ◆T6xkBnTXz7B0
2021/10/22(金) 20:31:42.61ID:9A3QnFKk LVM _ SETTEXTCOLOR
910デフォルトの名無しさん
2021/10/22(金) 20:41:26.23ID:/1A4Gt1O911蟻人間 ◆T6xkBnTXz7B0
2021/10/22(金) 20:47:54.77ID:9A3QnFKk メッセージフック
912デフォルトの名無しさん
2021/10/22(金) 20:51:54.90ID:/1A4Gt1O コンボボックスのリストコントロールは常にクラス名が「ComboLBox」で、親ウィンドウは必ずプロセスcsrss.exeが所有するウィンドウクラス名「#32769」のデスクトップウィンドウになる
913蟻人間 ◆T6xkBnTXz7B0
2021/10/22(金) 20:59:49.61ID:9A3QnFKk 拡張コンボボックス
914デフォルトの名無しさん
2021/10/22(金) 21:03:09.16ID:/1A4Gt1O >>911
回答ありがとう
メッセージフックはまだ試していないけど、WM_NOTIFYやWM_CTLCOLORLISTBOXはプロセス間やスレッド間で送受信できないとのことなので、一旦あきらめることにします
回答ありがとう
メッセージフックはまだ試していないけど、WM_NOTIFYやWM_CTLCOLORLISTBOXはプロセス間やスレッド間で送受信できないとのことなので、一旦あきらめることにします
915デフォルトの名無しさん
2021/10/22(金) 21:05:45.02ID:/1A4Gt1O916蟻人間 ◆T6xkBnTXz7B0
2021/10/22(金) 21:09:42.92ID:9A3QnFKk なんか思い込みが激しいようだ。
917デフォルトの名無しさん
2021/10/22(金) 21:18:20.88ID:WEjOh4+D フックじゃなくてサブクラス化でおk
918デフォルトの名無しさん
2021/10/22(金) 21:25:12.01ID:/1A4Gt1O919デフォルトの名無しさん
2021/10/22(金) 23:26:18.33ID:WEjOh4+D サブクラス化して WM_DRAWITEM と WM_PAINT を処理するだけでカラーリスト作ったことあるけど俺環だからだな
920デフォルトの名無しさん
2021/10/23(土) 02:17:46.83ID:ChfdQawL ハンドルは取れるんだから(Read|Write)ProcessMemoryやら使えば何でもできるよ
921デフォルトの名無しさん
2021/10/23(土) 02:58:58.97ID:YCKOUJsa ▼押してポップアップするリスト側の表示をどうこうしたいっぽい
(自前で実装してもそれまでのような気もするな)
(自前で実装してもそれまでのような気もするな)
922デフォルトの名無しさん
2021/10/23(土) 03:53:02.21ID:in+6fSXT だから919でそれやってるんだけどね
親が別プロセスになったらこのメッセージが飛んでこなくなると言うなら知らん
親が別プロセスになったらこのメッセージが飛んでこなくなると言うなら知らん
923デフォルトの名無しさん
2021/10/23(土) 04:06:57.27ID:HI7jjoTQ そもそもリストコントロールの親ウィンドウにWM_DRAWITEMが投げ込まれる仕様なので >>919,922 は何かの記憶違いじゃないかな
924デフォルトの名無しさん
2021/10/23(土) 15:23:54.34ID:in+6fSXT 手元のソースを見ながらレスしたんだけど、
親ウィンドウ(プロセス)から作った子ウィンドウ(COMBOBOX, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED コントロール)
のサブクラス化だけでそっちにメッセージはちゃんと来ててリストの色分けとかできてる
親プロセスが別という話ならテストしてないから知らんし、手元のソースも WM_DRAWITEM を処理してるところが他にないので
これ以上調べる気は無い
親ウィンドウ(プロセス)から作った子ウィンドウ(COMBOBOX, CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED コントロール)
のサブクラス化だけでそっちにメッセージはちゃんと来ててリストの色分けとかできてる
親プロセスが別という話ならテストしてないから知らんし、手元のソースも WM_DRAWITEM を処理してるところが他にないので
これ以上調べる気は無い
925デフォルトの名無しさん
2021/10/23(土) 20:52:58.29ID:HI7jjoTQ >>924
詳しい説明ありがとう
普通のコンボボックスを(CBS_DROPDOWN | CBS_OWNERDRAWFIXED)で作成後、そのコンボボックスをサブクラス化することで
コンボボックスでWM_DRAWITEMを拾えるようになりました
CBS_OWNERDRAWFIXEDをセットし忘れていたことができない原因でした
大ポカです
詳しい説明ありがとう
普通のコンボボックスを(CBS_DROPDOWN | CBS_OWNERDRAWFIXED)で作成後、そのコンボボックスをサブクラス化することで
コンボボックスでWM_DRAWITEMを拾えるようになりました
CBS_OWNERDRAWFIXEDをセットし忘れていたことができない原因でした
大ポカです
926デフォルトの名無しさん
2021/10/23(土) 21:42:37.22ID:FyIAzbsP ズコー
927デフォルトの名無しさん
2021/10/23(土) 23:24:34.81ID:PMgILJYV 蟻人間が悪い
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 現役猟師・東出昌大、クマ被害続出も過熱する報道に「クマはそんな危ないもんじゃない」理由語る [muffin★]
- イギリス「日本でニュースに関するインフルエンサーを順位付けした」 1位ひろゆき 4位ガレソ 5位池上彰 ガチで終わってると話題に [279254606]
- ハゲがレジやってるコンビニって
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- 抜いたことある歴史上の人物
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
