1 名前:デフォルトの名無しさん [2019/02/27(水) 15:09:08.64 ID:6ExXwgQU.net] Win32APIについての質問はこちらへどうぞ。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。 英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで ■過去スレ Win32API質問箱 Build124 mevius.5ch.net/test/read.cgi/tech/1510395780/ Win32API質問箱 Build123 mevius.2ch.net/test/read.cgi/tech/1475897582/ Win32API質問箱 Build122 echo.2ch.net/test/read.cgi/tech/1451988219/ Win32API質問箱 Build121 echo.2ch.net/test/read.cgi/tech/1438695290/ Win32API質問箱 Build120 echo.2ch.net/test/read.cgi/tech/1428570962/ ■関連スレ Visual Studio 2019 mevius.5ch.net/test/read.cgi/tech/1548765663/ Visual Studio 2017 Part6 mevius.5ch.net/test/read.cgi/tech/1528645068/ 【C++】 DirectX初心者質問スレ Part41 【C】 mevius.5ch.net/test/read.cgi/tech/1521786252/
151 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 15:47:59.75 ID:2sqBIYy9.net] 雑同士の雑な殴り合い
152 名前:デフォルトの名無しさん [2019/06/09(日) 16:01:22.43 ID:P23LzvOV.net] SendMessage()でもマクロでもメンバ関数でもどれでもいいけど、「GETITEMCOUNT」で大小文字区別なしでキーワード検索できるようにしておくことが重要でしょ。 各開発環境に付属するメソッド参照だけだと追跡しきれないので結局、原始的なキーワード検索になる。
153 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 16:38:58.71 ID:8KChITol.net] >>147 > 直で使うしかなさそう > ラッパー関数 何を言ってるんだ
154 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 18:30:20.13 ID:jumrM7iv.net] 教祖様に批判的な意見には無差別な敵意にかられる信者がここにはいるようだね
155 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 18:55:06.29 ID:8KChITol.net] 的外れな事が批判的な意見か
156 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 19:11:47.62 ID:jumrM7iv.net] >>153 ListView_GetItemCountの返却値がvoidというmsdnの公式発表を批判しているのだが 何がどう的外れとおまえさんはぬかすんだ? typoなら訂正すべきところ、それすら行われていないんだが おまえさんとこの自転車操業を自転車操業だから大目に見ろという論法を一般化しようってか?
157 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 19:20:30.28 ID:wmlwj4f3.net] 横からだけど… > 何がどう的外れとおまえさんはぬかすんだ? >>143 > LVM_GETITEMCOUNT を直で使うしかなさそうだな
158 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 19:39:45.23 ID:jumrM7iv.net] >>155 それがどう的外れなんだ? msしっかりしろと、あんたが言ったんだが
159 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 20:00:24.85 ID:881O2WpS.net] 皮肉であることが俺含めて伝わっていなかったらしい
160 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 20:09:15.52 ID:8KChITol.net] >>154 だから引用してるやん > LVM_GETITEMCOUNT を直で使うしかなさそうだな > ラッパー関数がある場合はSendMessageは使うなというくせに ListView_GetItemCountを使ってもSendMessageにLVM_GETITEMCOUNTを指定しても 全く同じって事が理解できていないから>>143 みたいな発言になるんだろ
161 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 20:24:49.88 ID:2sqBIYy9.net] 暇そうだな
162 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 20:55:51.32 ID:wmlwj4f3.net] >>156 ドキュメントの話と実際の実装の話の区別もついてないから指摘されてる >>148 がはっきり書いてるだろ 皮肉だと言い訳するならそれでもいいけどw
163 名前:デフォルトの名無しさん mailto:sage [2019/06/09(日) 22:37:10.83 ID:5tHDq89F.net] LVM系ってSendMessageで構造体のポインタ渡すマンだから 外部プロセスから弄ろうとすると面倒すぎる
164 名前:デフォルトの名無しさん [2019/06/10(月) 12:33:46.13 ID:g6tidy/F.net] >>154 MSのいつもの言い訳「仕様です」 つまりvoidのtypoは仕様だ
165 名前:デフォルトの名無しさん [2019/06/10(月) 12:42:02.76 ID:5kEo9ezr.net] >>158 >>143 を擁護するつもりは無いが >ListView_GetItemCountを使ってもSendMessageにLVM_GETITEMCOUNT 同じ機能だということも承知の上で 「LVM_GETITEMCOUNT を直で使うしかなさそうだな」→オレオレ関数を造りたいのにオレには造らせない 「ラッパー関数がある場合はSendMessageは使うなというくせに」→MS自身はSNDMSGを使ってる 論点が違うんだよ MS自身が用意した(SendMessageを使った)ラッパー関数を使えという主張に納得するかしないかの問題 >>143 は MS無視して(SendMessageを使った)ラッパー関数を自分で造ったら使ってもいいだろってことで 「ラッパー関数がある場合はSendMessageは使うな」に意味が無いと言いたいんだろ 漏れはエントロピー増やすのは反対
166 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 13:08:37.02 ID:gj8XPCJq.net] >>163 >>143 じゃないならそのエスパーもややこしくしてるだけやん? 論点
167 名前:烽サっちがズレてるような というか「MS自身が用意した(SendMessageを使った)ラッパー関数」とか言ってるし 他人のふりした>>143 か、>>147 もそうだったのか、とすら思える どっちが>>143 の意図だったにせよ的外れなのには変わりないけどな [] [ここ壊れてます]
168 名前:デフォルトの名無しさん [2019/06/10(月) 13:17:29.12 ID:5kEo9ezr.net] どっちでもいいな voidじゃないのにvoidと書かれてるのが問題なんだから
169 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 13:19:51.67 ID:Fv0cH94V.net] >>164 が >>143 である可能性も否定できない
170 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 13:33:14.11 ID:gj8XPCJq.net] 自分で自分を否定するのか そして>>166 が>>143 である可能性も でいいのかな
171 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 15:19:10.62 ID:U3FSgHuu.net] ここまで漏れの自演
172 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 18:54:19.05 ID:h2AhNEsP.net] すごいレスが伸びてると思ったら・・・・ 人と人をいがみ合わせるMSが巨悪だということで手打ちにしたらいかがだろうか
173 名前:デフォルトの名無しさん [2019/06/10(月) 19:18:33.98 ID:Fj7bi2y1.net] ドキュメントが間違ってたぐらいで鬼の首取ったようにギャアギャア騒ぐことが許されるのは初心者のうちだけでしょ。
174 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 19:34:39.88 ID:OlE51f/u.net] 単なる指摘に>>143 が過剰反応してるだけ
175 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 22:22:35.68 ID:aj7K9vQb.net] >>158 何だおまえさん、MSKKの社員がここでどうたらぬかしてるとでもぬかすのか? だったら、それを公式見解と断る必要があるんだが
176 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 22:23:29.07 ID:aj7K9vQb.net] >>162 ほんこれ
177 名前:デフォルトの名無しさん mailto:sage [2019/06/10(月) 22:29:27.87 ID:TC6Uh5Cw.net] またエントロピーが増えてきたw
178 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 09:28:10.66 ID:oRHFwQ78.net] >>172 誰もそんな事言ってないけど?
179 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 14:20:31.55 ID:lbh69FdF.net] 初心者質問です。 VBAからIEで印刷するときにプリンター選択を自由に行いたいです。 プリンタを選択する部分は、syslistview32というクラス名で、hwndまでわかっています。 sendmessageの、LVM_GETITEMCOUNTで、プリンターの数まで取得できることを確認しました。 今は、LVM_SETITEMSTATEで、構造体とテキトーなindexをsetして、sendmessageをしたら、IEが落ちてしまうような状態です。 メモリー書き込みも考慮しなければいけないなど情報も見かけましたが、VBA半年程度しかやっていないので、OSに近い処理は何から調べたらいいのかわかりません プリンター名が指定の文字列に該当するもののindexをsyslistview32から取得し、syslistview32の選択をそのindexにするような、VBAのコードをお教えいただくことはできないでしょう。(Cなどでも大丈夫です。) 以上、よろしくお願いします。
180 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 14:27:56.01 ID:Y18rXsQw.net] LVM_GETITEMCOUNT を NG にした 残念だったな
181 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 15:50:09.81 ID:mh1wU8om.net] とばっちりカワイソス
182 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 16:15:17.11 ID:DThKFJnr.net] LVM_GETITEMCOUNTって書いとけばキチガイ一人避けれるということでしょ
183 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 16:18:02.74 ID:DThKFJnr.net] >>176 デフォルトのプリンタを取得して保存しとく デフォルトのプリンタ変更する IEで印刷開始 デフォルトのプリンタもとに戻す こんなんじゃだめなのか?
184 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 16:34:17.98 ID:+sMFHfdj.net] LVM_GETITEMCOUNT スレッドまたぎはNG
185 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 17:55:31.55 ID:b3tPk+od.net] >>180 ありがとうございます 今はそれで運用しているのですが、デフォルトプリンターを変更しても、IEで現在立ち上げているページのプリンターの選択は変わりませんでした。(新しいタブやページなどは変わる) ですので、デフォルトプリンターを変更した後タブを複製して、そのタブをアクティブにして、複製されていないhtmlの箇所をコピーして、印刷して、タブを閉じて、デフォルトプリンターを元に戻すような処理にしています。 プリンターを変更しないといけない処理が過去にあったりしたそうなので、その場でプリンター選択を操作できるのであれば、知りたいという感じです
186 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 18:15:49.68 ID:1BO360IJ.net] LVM_SETITEMSTATEで落ちるのはオレオレ構造体のミスとかじゃないの
187 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 19:34:28.79 ID:iv+iCaIJ.net] 別プロセスからメッセージ投げるから、IEが構造体にアクセスできないってことでしょ? VirtualAllocExでメモリ確保してそこに構造体用意しては LVM_GETITEMCOUNT
188 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 20:56:45.31 ID:HsLA7EXf.net] >>175 じゃあ何のために158みたいな戯れ言をぬかしたんだ? アホだからか? それともバカだからか?
189 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 21:07:50.93 ID:oRHFwQ78.net] >>185 なんで>>158 から社員が出てくるんだよ 理解できていないのは>>143 って事だぞ 全く同じって事が(>>143 には)理解できていないから>>143 みたいな発言になるんだろ って事だぞ
190 名前:デフォルトの名無しさん mailto:sage [2019/06/11(火) 22:59:27.04 ID:xU3mv9gp.net] 意味が分からん。 ドキュメントが間違ってるだけで、マクロ関数はintで実装されてるから気にせず使えって話で合ってる?
191 名前:デフォルトの名無しさん mailto:Sage [2019/06/11(火) 23:02:51.29 ID:VKkOh0JU.net] >>184 ありがとうございます。少し調べてやってみます。
192 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 00:21:25.69 ID:TGTlo7vf.net] WiteProcessMemoryの返り値が0になる(´・ω・`) GetSharedMemの返り値 のアドレスが、「-1597046784」 とか返ってくる(´・ω・`) Long型(-200万〜200万くらい)なのに(´・ω・`) 助けてください(´・ω・`) tid = GetWindowThreadProcessId(lngSysListView32, pid) hProc = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, _ False, pid) lpShared1 = GetSharedMem(hProc, LenB(li)) lpShared2 = GetSharedMem(hProc, LenB(lt)) For i = 0 To maxitem - 1 li.mask = LVIF_TEXT li.iItem = i li.iSubItem = 0 li.lpszText = lpShared2 li.cchTextMax = LenB(lt) lngRC = WriteProcessMemory(hProc, ByVal lpShared1, li, LenB(li), lWritten) lngRC = WriteProcessMemory(hProc, ByVal lpShared2, lt, LenB(lt), lWritten) Public Function GetSharedMem(ByRef hProc As Long, ByVal memSize As Long) As Long GetSharedMem = VirtualAllocEx(ByVal hProc, ByVal 0&, ByVal memSize, MEM_RESERVE Or MEM_COMMIT, PAGE_READWRITE) End Function
193 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 01:18:48.45 ID:udVNzUQx.net] 176だよな・・・ GetSharedMemなんてAPIあったっけ?と思ったら、MSDNのサンプルまんま使ってるのかな? lpShared2とかltとか変数の意味が分からん この辺参考にして作り直したら ttp://hongliang.seesaa.net/article/7851680.html
194 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 02:03:09.01 ID:WbpzR08B.net] -1597046784==0xa0cf0000、別におかしくはなさそうな >Long型(-200万〜200万くらい)なのに(´・ω・`) VBA(VBS?)のLongって22bitなの? 10bit勘違いしてるだけでは?
195 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 07:51:56.01 ID:AF2NDvCn.net] >>190 ありがとうございます 読んで理解して再度実装してみます 今回のコードはこれを丸コピして、プリンター選択画面に対して試してみているという感じです。(プリンター名一覧を取得できるかどうか) https://teratail.com/questions/120773 >>192 うわ、本当だ。知れて良かったです。ありがとうございます bit反転が起きていると思って、反転させてみたら(+2 ^32?)オーバーフローが起きて、勘違いしていました LVM_SETITEMSTATEはここを参考にして書いていました https://stackoverflow.com/questions/12342433/i-need-to-select-an-item-of-a-syslistview32-using-sendmessage-in-c-sharp?rq=1 https://oshiete.goo.ne.jp/qa/4705094.html 今調べたらこっちのはSolvedなので参考にしてみます https://social.msdn.microsoft.com/Forums/vstudio/en-US/f7788669-c3a9-4d80-b61b-8e26870c7cf4/select-listviewitem-using-lvmsetitemstatesolved?forum=vbgeneral いろいろと助かります
196 名前:デフォルトの名無しさん [2019/06/14(金) 12:34:20.64 ID:rNE5XrYC.net] 馬鹿には無理
197 名前:デフォルトの名無しさん [2019/06/14(金) 12:52:57.90 ID:bpAwmG5b.net] ソフト業界でマイクロソフトは邪魔でしかない。 まともなものをよくするならいいが、悪するのがマイクロソフトで しかも、おかしなものを直さず放置して悪化させる。 マイクロソフトは邪魔な存在でしかない。 マイクロソフトの弱点は仕様通りに作れないのは欠点は 同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。 そこ弱点だし、将来性がないのもそのあたり。 Windowsの次のOSの仕組みを作ってもソフトの移植ができない。 来年か再来年あたりに出すわけだが引き継ぎできないだろうね。 昔にアーケードゲームの中途半端な移植のファミコンソフトレベルでしかない。 作っても何か違うって状態になる。
198 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 13:22:29.13 ID:FKc1iwhz.net] >>194 突然どうした? この朝鮮臭い駄文は窓板きっての汚物キチガイマカーのコピペと見受けるが
199 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 15:32:06.70 ID:vVm8Z7bX.net] >>194 内容はともかく、もうちょっと日本語を頑張れ。
200 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 15:50:36.86 ID:sZCV0u2+.net] >>194 >マイクロソフトの弱点は仕様通りに作れないのは欠点は 同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。 この文章は日本語としておかしい。 >昔にアーケードゲームの中途半端な移植のファミコンソフトレベルでしかない。 この文章も日本語としておかしい
201 名前: mailto:sage [2019/06/14(金) 18:48:04.20 ID:FySvhFYo.net] >>194 >悪するのが >マイクロソフトの弱点は仕様通りに作れないのは欠点は同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。 >そこ弱点だし >そのあたり >昔に 以上、日本語としておかしい部分を抽出したので訂正するように
202 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 21:10:26.30 ID:B8znrq/O.net] 日本語おかしい奴vsあたまおかしい奴
203 名前:デフォルトの名無しさん mailto:sage [2019/06/14(金) 21:14:02.15 ID:RsWDD4iG.net] エイリアン対アバター並の意欲作だな
204 名前:蟻人間 mailto:sage [2019/06/14(金) 21:14:45.86 ID:lQGpZUNA.net] あたまがぱっかーん
205 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 04:09:22.45 ID:HeZkFDT3.net] 寄生獣だな
206 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 15:19:28.33 ID:RxcvAD6u.net] ダメだぁ... WriteProcessMemory がどうしても失敗する(´・ω・`) デスクトップのsyslistview32やexplorerのDirectUIHWNDでは成功(返り値1)するんだけど、 メモ帳やIEのプリンター選択のsyslistview32や、メモ帳のEditに対しては失敗(返り値0)する なんでー?
207 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 15:34:33.84 ID:RxcvAD6u.net] Err.LastDllError の番号は998で、 メモリ ロケーションへのアクセスが無効です。
208 名前:デフォルトの名無しさん [2019/06/16(日) 17:12:52.81 ID:Z9zSyDOE.net] WOW64
209 名前:デフォルトの名無しさん mailto:Sage [2019/06/16(日) 20:39:35.26 ID:RxcvAD6u.net] >>205 64bit版でコンパイルしたら、32bit版のプロセスに介入することできないから難しいという感じでしょうか(´;Д;`) 64bit版のIEでも返り値は0でした... Long型を、LongPtrにしてもダメでした...
210 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 02:30:25.07 ID:q7RVlLCN.net] 32bit,x64の実行ファイル2つ作って用途に合わせて切り替えたら?
211 名前:デフォルトの名無しさん [2019/06/17(月) 11:24:55.79 ID:lxO8a0KV.net] いよいよwindowsを捨てる時が来たようだ
212 名前:デフォルトの名無しさん mailto:sage [2019/06/18(火) 04:17:01.07 ID:fify6tPn.net] また買えばいいよ
213 名前:デフォルトの名無しさん [2019/06/18(火) 06:23:28.70 ID:3nOE2mBA.net] プログラム板にキチガイ降臨中!botに一晩も反応する異常さ 一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。 https://mevius.5ch.net/test/read.cgi/tech/1559872586/ 142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO >>141 名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、 片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか? 一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
214 名前:デフォルトの名無しさん [2019/06/18(火) 12:45:38.38 ID:1CtlGReK.net] 堂々の一位 hissi.org/read.php/tech/20190618/M25PRTJtQkE.html
215 名前:デフォルトの名無しさん mailto:sage [2019/06/22(土) 14:06:32.16 ID:DZJ/hc7X.net] >>206 自分は一旦それで絶望して 32bitアプリ用のラッパー作って呼んでる 32bit資産使ってる人はみんなこうじゃないかな
216 名前:デフォルトの名無しさん [2019/06/22(土) 14:29:13.02 ID:8YBlX71B.net] seamless ωωω
217 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 16:44:22.77 ID:hU5ITaEA.net] 既存の Console に代わる Windows Terminal のプレビュー版が公開されたけど 今後コンソールアプリはどういう作りになるんだろう 既存の ConsoleAPI またはその拡張API になるのか それともConsoleAPI は廃止されて Unix なんかと同様のエスケープシーケンスを制御する curses ライブラリみたいのが提供されるのか まぁオープンソースみたいだからソース見ればいいんだろうけど
218 名前:デフォルトの名無しさん [2019/06/25(火) 16:58:20.59 ID:vGWUuZ9A.net] 初歩的な質問ですが、64bitのプロセスにもWin32APIって使えますか?
219 名前:デフォルトの名無しさん mailto:sage [2019/06/25(火) 17:11:37.24 ID:JYAeHTmF.net] 使える ただし、例えばGetWindowLongのようにポインタのビット数を決め打ちしている箇所に注意が必要
220 名前:蟻人間 mailto:sage [2019/06/25(火) 17:11:56.15 ID:CrMrKXln.net] >>215 Win64APIではWoW64というシステムがWin32からWin64への互換性レイヤーになる。
221 名前:デフォルトの名無しさん [2019/06/25(火) 17:35:47.56 ID:XhZtJiMw.net] 32bit OS の場合 System32 = 32bit 用 DLL (Win32API) 64bit OS の場合 System32 = 64bit 用 DLL (64bitWin32API) SysWOW64 = 32bit 用 DLL (32bitWin32API)
222 名前:デフォルトの名無しさん [2019/06/25(火) 17:37:53.13 ID:vGWUuZ9A.net] ありがとうございます これで気にせず昔の情報あされます
223 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 12:39:20.34 ID:LrFGCWwq.net] SysListView32のリストビューで、縦スクロールバーが表示されている状態で、 アイテムをクリックして選択し、すぐにホイールを回してそのアイテムを画面外に出すと、 一定時間後にそのアイテムが表示される位置まで飛んでしまいます。 選択されていないアイテムよりも、すでに選択されているアイテムをクリックした方が、 ホイールを回すまでの時間が多少長くてもその現象が起きます。 これWindows自体のバグでしょうか。 内部のタイマー処理でも絡んでいるのでしょうか。
224 名前:デフォルトの名無しさん [2019/07/10(水) 12:47:11.51 ID:+uFplCdI.net] 君が発見出来るような程度のバグなら 既に誰かが発見して治してるよ
225 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 12:50:54.60 ID:z7915HRG.net] ホイールは3rdパーティーのマウスドライバや常駐もので 余計にメッセージ飛ばしたりすることあるから厄介
226 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 13:04:08.77 ID:GamN/JFp.net] Win10の一年位前のビルドでSysListView32がスクロールバーを出してる状態でドラッグすると 画面右端にカーソルがすっ飛ぶバグがあったな SysListView32使ってるアプリは多いからこれは一般ユーザーもすぐに気付い
227 名前:デフォルトの名無しさん mailto:sage [2019/07/10(水) 13:14:56.30 ID:LrFGCWwq.net] >>222 ホイールでなくスクロールバーのドラッグでも起きました。 操作が難しくなりますが、アイテムをクリックして選択し、 すぐにスクロールバーをドラッグしてそのアイテムを画面外に出すと、やはり同じ現象が起きます。
228 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 10:11:43.64 ID:Bpzge626.net] 全然関係なくて申し訳ないが シングルクリックとダブルクリックの判定って結構難しいよな クリックのメッセージが飛んできても シングルクリックのつもりなのか ダブルクリックの一回目のクリックのつもりなのか その時点では判断が付かない なのでダブルクリックの二回目のクリックが飛んで来るかどうか 少し時間をおいてみるしかない この間にユーザーが何か操作すると
229 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 10:24:09.19 ID:BSTUJEPb.net] >>225 っWM_LBUTTONDBLCLK
230 名前:デフォルトの名無しさん [2019/07/11(木) 10:24:15.51 ID:dt9f58xR.net] アホ発見
231 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 10:27:17.02 ID:xJ4m2V3T.net] かわいい
232 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 10:32:56.46 ID:Bpzge626.net] >>226 WM_LBUTTONDBLCLKが飛んで来たらダブルクリック でも飛んでこないかもしれない(つまりシングルクリック)という事だよ 飛んでくるかどうかは少し待ってみないとわからない エクスプローラでファイルの名前の変更するとき 少し待たされるあの動作 タイマー使ってWM_LBUTTONDBLCLKが来るか少し待ってみるっていう でもこの魔の時間にユーザーが操作することがあって 例えばホイール回したりスクロールバー触ったり
233 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 10:50:36.09 ID:BSTUJEPb.net] >>229 コンパネでダブルクリックの間隔を調節できるから そのへんはユーザーに責任転嫁できる
234 名前:デフォルトの名無しさん [2019/07/11(木) 10:56:55.16 ID:dt9f58xR.net] ダブルクリックはシングルボタンのAppleから持ち込まれた悪臭
235 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 11:57:55.84 ID:6Wf0CyIx.net] >>230 と思うじゃん
236 名前:デフォルトの名無しさん mailto:sage [2019/07/11(木) 23:57:18.00 ID:QGiOPnup.net] 飛んでくるまでいつまで待てばいいですか 少しっていつですか
237 名前:デフォルトの名無しさん mailto:sage [2019/07/12(金) 00:14:57.72 ID:B1Jsh2gD.net] あれ?シングルクリックってダブルクリックになったら、マージされてダブルクリックで処理されると思っていた。
238 名前:デフォルトの名無しさん mailto:sage [2019/07/12(金) 06:48:21.69 ID:dXXCmuDP.net] GetDoubleClickTimeでググれ
239 名前:デフォルトの名無しさん mailto:sage [2019/07/12(金) 10:36:37.27 ID:ueORW37F.net] >>234 マージされるのは二回目のクリック 今言ってるのは一回目のクリックをどう扱うかという話 この一回目のクリックは シングルクリックのつもりなのか ダブルクリックの一回目なのか コンピュータには知る由もない
240 名前:デフォルトの名無しさん mailto:sage [2019/07/12(金) 12:00:48.30 ID:Y/iKed6k.net] なんでここまで説明しないと分からんのだろ 特にハイコンテクストって訳でもないのに
241 名前:デフォルトの名無しさん mailto:sage [2019/07/12(金) 12:24:57.20 ID:gSsTJBIy.net] 誰が誰に対して? 1回目の誰が2回目の誰に対してマージされて処理されるのか? おやすみ
242 名前:デフォルトの名無しさん mailto:sage [2019/07/12(金) 12:53:40.57 ID:nIUn02wm.net] GetCursorPosでポインターの場所、GetKeyStateでマウスボタンが押されてるか離されてるか 取得できるから、あとは時間測って適当にクリックとダブルクリック、ドラッグを判別する SwapMouseButtonで右利き左利きとか、GetDoubleClickTimeでダブルクリック判定する時間とか そんなのを設定できるようにしとけば完璧 これがおまえらが一番納得する方法だろwww
243 名前:デフォルトの名無しさん [2019/07/12(金) 17:04:32.98 ID:Uu5c0ODM.net] 自信満々で嘘書くな迷惑
244 名前:デフォルトの名無しさん mailto:sage [2019/07/13(土) 05:00:55.61 ID:5W75r4eA.net] クリック動作はダブルクリックの直前に発生しても致命的にならないものであればいんでない? クリック 選択 ダブルクリック 実行 これを逆にするようなら難しくなるだけかと
245 名前:デフォルトの名無しさん mailto:sage [2019/08/04(日) 16:34:02.68 ID:78/vdzUN.net] QueryPerformanceFrequencyが10000000を返してくるようになってた 将来はQPCは常に100ナノ秒単位で表しますよってなっていくんだろうか 今回たまたま自分の環境がそうなってしまっただけなんだろうか
246 名前:蟻人間 mailto:sage [2019/08/04(日) 21:08:54.77 ID:QRYqe1Xw.net] https://katahiromz.web.fc2.com/msgcrack/ja Win32の人、使ってみてね。便利だよ。
247 名前:デフォルトの名無しさん [2019/08/05(月) 13:40:42.17 ID:NOA3rn3w.net] グロ中尉
248 名前:デフォルトの名無しさん [2019/08/07(水) 11:59:12.69 ID:6nD1xIcw.net] 現在、AddFontResourceとRemoveFontResourceを使って プログラムからフォントを登録して使っています。 でもこの方法だと、RemoveFontResourceを呼んでも システムを再起動しないと登録されたままになってしまいます。 その間はフォントファイルも削除できないです。 どうにかプログラム使用時だけフォントを有効にする方法はないでしょうか? プログラム終了すれば登録されたフォントも登録解除されるような方法がいいです。
249 名前:デフォルトの名無しさん mailto:sage [2019/08/07(水) 12:59:48.16 ID:u0NlqDQ2.net] >>245 ドキュメントを読むとWM_FONTCHANGEをブロードキャストする必要があるらしいけどやってる? もしくはAddFontResourceExでFR_PRIVATEを指定すると > When the process terminates, the system will remove all fonts installed by the process with the AddFontResourceEx function とあるからそれに頼るのもありかも
250 名前:デフォルトの名無しさん mailto:sage [2019/08/07(水) 13:05:20.88 ID:6nD1xIcw.net] >>246 AddFontResourceExでFR_PRIVATE指定でもしかするといけるかもしれませんね! 試してみます。ありがとうございます。
251 名前:デフォルトの名無しさん mailto:sage [2019/09/05(木) 10:39:03.32 ID:qYKhXOia.net] 質問させてください。 日本語の Windows10 で、Windows Explorer のアドレスバーに 日本語で「デスクトップ」とだけ入力してエンターキーを押すとデスクトップに移動できます。 他にも、「ドキュメント」「ピクチャ」「ダウンロード」「3D オブジェクト」「OneDrive」など いくつかの単語が特定のフォルダーと関連付けられていますが、 この対応をプログラムで調べる方法はありますでしょうか。 例えば SHGetFileInfo を使えばデスクトップのフルパスから 「デスクトップ」という日本語の display name を得ることはできますが、 SHGetFileInfo では上記のような関連付けの有無は判定できませんし、 そもそもフルパスから日本語名を得るのではなくその逆をしたいので、 SHGetFileInfo はあまり役に立たなそうです。 何かお分かりのことがありましたら教えていただけないでしょうか。 どうぞよろしくお願いします。