[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/07 04:05 / Filesize : 285 KB / Number-of Response : 1021
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build125



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 はあまり役に立たなそうです。

何かお分かりのことがありましたら教えていただけないでしょうか。
どうぞよろしくお願いします。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<285KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef