Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build124
http://mevius.5ch.net/test/read.cgi/tech/1510395780/
Win32API質問箱 Build123
http://mevius.2ch.net/test/read.cgi/tech/1475897582/
Win32API質問箱 Build122
http://echo.2ch.net/test/read.cgi/tech/1451988219/
Win32API質問箱 Build121
http://echo.2ch.net/test/read.cgi/tech/1438695290/
Win32API質問箱 Build120
http://echo.2ch.net/test/read.cgi/tech/1428570962/
■関連スレ
Visual Studio 2019
http://mevius.5ch.net/test/read.cgi/tech/1548765663/
Visual Studio 2017 Part6
http://mevius.5ch.net/test/read.cgi/tech/1528645068/
【C++】 DirectX初心者質問スレ Part41 【C】
http://mevius.5ch.net/test/read.cgi/tech/1521786252/
探検
Win32API質問箱 Build125
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/02/27(水) 15:09:08.64ID:6ExXwgQU173デフォルトの名無しさん
2019/06/10(月) 22:23:29.07ID:aj7K9vQb >>162
ほんこれ
ほんこれ
174デフォルトの名無しさん
2019/06/10(月) 22:29:27.87ID:TC6Uh5Cw またエントロピーが増えてきたw
175デフォルトの名無しさん
2019/06/11(火) 09:28:10.66ID:oRHFwQ78 >>172
誰もそんな事言ってないけど?
誰もそんな事言ってないけど?
176デフォルトの名無しさん
2019/06/11(火) 14:20:31.55ID:lbh69FdF 初心者質問です。
VBAからIEで印刷するときにプリンター選択を自由に行いたいです。
プリンタを選択する部分は、syslistview32というクラス名で、hwndまでわかっています。
sendmessageの、LVM_GETITEMCOUNTで、プリンターの数まで取得できることを確認しました。
今は、LVM_SETITEMSTATEで、構造体とテキトーなindexをsetして、sendmessageをしたら、IEが落ちてしまうような状態です。
メモリー書き込みも考慮しなければいけないなど情報も見かけましたが、VBA半年程度しかやっていないので、OSに近い処理は何から調べたらいいのかわかりません
プリンター名が指定の文字列に該当するもののindexをsyslistview32から取得し、syslistview32の選択をそのindexにするような、VBAのコードをお教えいただくことはできないでしょう。(Cなどでも大丈夫です。)
以上、よろしくお願いします。
VBAからIEで印刷するときにプリンター選択を自由に行いたいです。
プリンタを選択する部分は、syslistview32というクラス名で、hwndまでわかっています。
sendmessageの、LVM_GETITEMCOUNTで、プリンターの数まで取得できることを確認しました。
今は、LVM_SETITEMSTATEで、構造体とテキトーなindexをsetして、sendmessageをしたら、IEが落ちてしまうような状態です。
メモリー書き込みも考慮しなければいけないなど情報も見かけましたが、VBA半年程度しかやっていないので、OSに近い処理は何から調べたらいいのかわかりません
プリンター名が指定の文字列に該当するもののindexをsyslistview32から取得し、syslistview32の選択をそのindexにするような、VBAのコードをお教えいただくことはできないでしょう。(Cなどでも大丈夫です。)
以上、よろしくお願いします。
177デフォルトの名無しさん
2019/06/11(火) 14:27:56.01ID:Y18rXsQw LVM_GETITEMCOUNT を NG にした
残念だったな
残念だったな
178デフォルトの名無しさん
2019/06/11(火) 15:50:09.81ID:mh1wU8om とばっちりカワイソス
179デフォルトの名無しさん
2019/06/11(火) 16:15:17.11ID:DThKFJnr LVM_GETITEMCOUNTって書いとけばキチガイ一人避けれるということでしょ
180デフォルトの名無しさん
2019/06/11(火) 16:18:02.74ID:DThKFJnr181デフォルトの名無しさん
2019/06/11(火) 16:34:17.98ID:+sMFHfdj LVM_GETITEMCOUNT スレッドまたぎはNG
182デフォルトの名無しさん
2019/06/11(火) 17:55:31.55ID:b3tPk+od >>180
ありがとうございます
今はそれで運用しているのですが、デフォルトプリンターを変更しても、IEで現在立ち上げているページのプリンターの選択は変わりませんでした。(新しいタブやページなどは変わる)
ですので、デフォルトプリンターを変更した後タブを複製して、そのタブをアクティブにして、複製されていないhtmlの箇所をコピーして、印刷して、タブを閉じて、デフォルトプリンターを元に戻すような処理にしています。
プリンターを変更しないといけない処理が過去にあったりしたそうなので、その場でプリンター選択を操作できるのであれば、知りたいという感じです
ありがとうございます
今はそれで運用しているのですが、デフォルトプリンターを変更しても、IEで現在立ち上げているページのプリンターの選択は変わりませんでした。(新しいタブやページなどは変わる)
ですので、デフォルトプリンターを変更した後タブを複製して、そのタブをアクティブにして、複製されていないhtmlの箇所をコピーして、印刷して、タブを閉じて、デフォルトプリンターを元に戻すような処理にしています。
プリンターを変更しないといけない処理が過去にあったりしたそうなので、その場でプリンター選択を操作できるのであれば、知りたいという感じです
183デフォルトの名無しさん
2019/06/11(火) 18:15:49.68ID:1BO360IJ LVM_SETITEMSTATEで落ちるのはオレオレ構造体のミスとかじゃないの
184デフォルトの名無しさん
2019/06/11(火) 19:34:28.79ID:iv+iCaIJ 別プロセスからメッセージ投げるから、IEが構造体にアクセスできないってことでしょ?
VirtualAllocExでメモリ確保してそこに構造体用意しては
LVM_GETITEMCOUNT
VirtualAllocExでメモリ確保してそこに構造体用意しては
LVM_GETITEMCOUNT
185デフォルトの名無しさん
2019/06/11(火) 20:56:45.31ID:HsLA7EXf186デフォルトの名無しさん
2019/06/11(火) 21:07:50.93ID:oRHFwQ78187デフォルトの名無しさん
2019/06/11(火) 22:59:27.04ID:xU3mv9gp 意味が分からん。
ドキュメントが間違ってるだけで、マクロ関数はintで実装されてるから気にせず使えって話で合ってる?
ドキュメントが間違ってるだけで、マクロ関数はintで実装されてるから気にせず使えって話で合ってる?
188デフォルトの名無しさん
2019/06/11(火) 23:02:51.29ID:VKkOh0JU >>184
ありがとうございます。少し調べてやってみます。
ありがとうございます。少し調べてやってみます。
189デフォルトの名無しさん
2019/06/14(金) 00:21:25.69ID:TGTlo7vf 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
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
190デフォルトの名無しさん
2019/06/14(金) 01:18:48.45ID:udVNzUQx 176だよな・・・
GetSharedMemなんてAPIあったっけ?と思ったら、MSDNのサンプルまんま使ってるのかな?
lpShared2とかltとか変数の意味が分からん
この辺参考にして作り直したら
ttp://hongliang.seesaa.net/article/7851680.html
GetSharedMemなんてAPIあったっけ?と思ったら、MSDNのサンプルまんま使ってるのかな?
lpShared2とかltとか変数の意味が分からん
この辺参考にして作り直したら
ttp://hongliang.seesaa.net/article/7851680.html
191デフォルトの名無しさん
2019/06/14(金) 02:03:09.01ID:WbpzR08B -1597046784==0xa0cf0000、別におかしくはなさそうな
>Long型(-200万〜200万くらい)なのに(´・ω・`)
VBA(VBS?)のLongって22bitなの?
10bit勘違いしてるだけでは?
>Long型(-200万〜200万くらい)なのに(´・ω・`)
VBA(VBS?)のLongって22bitなの?
10bit勘違いしてるだけでは?
192デフォルトの名無しさん
2019/06/14(金) 07:51:56.01ID:AF2NDvCn >>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
いろいろと助かります
ありがとうございます
読んで理解して再度実装してみます
今回のコードはこれを丸コピして、プリンター選択画面に対して試してみているという感じです。(プリンター名一覧を取得できるかどうか)
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
いろいろと助かります
193デフォルトの名無しさん
2019/06/14(金) 12:34:20.64ID:rNE5XrYC 馬鹿には無理
194デフォルトの名無しさん
2019/06/14(金) 12:52:57.90ID:bpAwmG5b ソフト業界でマイクロソフトは邪魔でしかない。
まともなものをよくするならいいが、悪するのがマイクロソフトで
しかも、おかしなものを直さず放置して悪化させる。
マイクロソフトは邪魔な存在でしかない。
マイクロソフトの弱点は仕様通りに作れないのは欠点は
同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。
そこ弱点だし、将来性がないのもそのあたり。
Windowsの次のOSの仕組みを作ってもソフトの移植ができない。
来年か再来年あたりに出すわけだが引き継ぎできないだろうね。
昔にアーケードゲームの中途半端な移植のファミコンソフトレベルでしかない。
作っても何か違うって状態になる。
まともなものをよくするならいいが、悪するのがマイクロソフトで
しかも、おかしなものを直さず放置して悪化させる。
マイクロソフトは邪魔な存在でしかない。
マイクロソフトの弱点は仕様通りに作れないのは欠点は
同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。
そこ弱点だし、将来性がないのもそのあたり。
Windowsの次のOSの仕組みを作ってもソフトの移植ができない。
来年か再来年あたりに出すわけだが引き継ぎできないだろうね。
昔にアーケードゲームの中途半端な移植のファミコンソフトレベルでしかない。
作っても何か違うって状態になる。
195デフォルトの名無しさん
2019/06/14(金) 13:22:29.13ID:FKc1iwhz196デフォルトの名無しさん
2019/06/14(金) 15:32:06.70ID:vVm8Z7bX >>194
内容はともかく、もうちょっと日本語を頑張れ。
内容はともかく、もうちょっと日本語を頑張れ。
197デフォルトの名無しさん
2019/06/14(金) 15:50:36.86ID:sZCV0u2+ >>194
>マイクロソフトの弱点は仕様通りに作れないのは欠点は
同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。
この文章は日本語としておかしい。
>昔にアーケードゲームの中途半端な移植のファミコンソフトレベルでしかない。
この文章も日本語としておかしい
>マイクロソフトの弱点は仕様通りに作れないのは欠点は
同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。
この文章は日本語としておかしい。
>昔にアーケードゲームの中途半端な移植のファミコンソフトレベルでしかない。
この文章も日本語としておかしい
>>194
>悪するのが
>マイクロソフトの弱点は仕様通りに作れないのは欠点は同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。
>そこ弱点だし
>そのあたり
>昔に
以上、日本語としておかしい部分を抽出したので訂正するように
>悪するのが
>マイクロソフトの弱点は仕様通りに作れないのは欠点は同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。
>そこ弱点だし
>そのあたり
>昔に
以上、日本語としておかしい部分を抽出したので訂正するように
199デフォルトの名無しさん
2019/06/14(金) 21:10:26.30ID:B8znrq/O 日本語おかしい奴vsあたまおかしい奴
200デフォルトの名無しさん
2019/06/14(金) 21:14:02.15ID:RsWDD4iG エイリアン対アバター並の意欲作だな
201蟻人間 ◆T6xkBnTXz7B0
2019/06/14(金) 21:14:45.86ID:lQGpZUNA あたまがぱっかーん
202デフォルトの名無しさん
2019/06/16(日) 04:09:22.45ID:HeZkFDT3 寄生獣だな
203デフォルトの名無しさん
2019/06/16(日) 15:19:28.33ID:RxcvAD6u ダメだぁ...
WriteProcessMemory がどうしても失敗する(´・ω・`)
デスクトップのsyslistview32やexplorerのDirectUIHWNDでは成功(返り値1)するんだけど、
メモ帳やIEのプリンター選択のsyslistview32や、メモ帳のEditに対しては失敗(返り値0)する
なんでー?
WriteProcessMemory がどうしても失敗する(´・ω・`)
デスクトップのsyslistview32やexplorerのDirectUIHWNDでは成功(返り値1)するんだけど、
メモ帳やIEのプリンター選択のsyslistview32や、メモ帳のEditに対しては失敗(返り値0)する
なんでー?
204デフォルトの名無しさん
2019/06/16(日) 15:34:33.84ID:RxcvAD6u Err.LastDllError の番号は998で、
メモリ ロケーションへのアクセスが無効です。
メモリ ロケーションへのアクセスが無効です。
205デフォルトの名無しさん
2019/06/16(日) 17:12:52.81ID:Z9zSyDOE WOW64
206デフォルトの名無しさん
2019/06/16(日) 20:39:35.26ID:RxcvAD6u >>205
64bit版でコンパイルしたら、32bit版のプロセスに介入することできないから難しいという感じでしょうか(´;Д;`)
64bit版のIEでも返り値は0でした...
Long型を、LongPtrにしてもダメでした...
64bit版でコンパイルしたら、32bit版のプロセスに介入することできないから難しいという感じでしょうか(´;Д;`)
64bit版のIEでも返り値は0でした...
Long型を、LongPtrにしてもダメでした...
207デフォルトの名無しさん
2019/06/17(月) 02:30:25.07ID:q7RVlLCN 32bit,x64の実行ファイル2つ作って用途に合わせて切り替えたら?
208デフォルトの名無しさん
2019/06/17(月) 11:24:55.79ID:lxO8a0KV いよいよwindowsを捨てる時が来たようだ
209デフォルトの名無しさん
2019/06/18(火) 04:17:01.07ID:fify6tPn また買えばいいよ
210デフォルトの名無しさん
2019/06/18(火) 06:23:28.70ID:3nOE2mBA プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
211デフォルトの名無しさん
2019/06/18(火) 12:45:38.38ID:1CtlGReK212デフォルトの名無しさん
2019/06/22(土) 14:06:32.16ID:DZJ/hc7X213デフォルトの名無しさん
2019/06/22(土) 14:29:13.02ID:8YBlX71B seamless ωωω
214デフォルトの名無しさん
2019/06/25(火) 16:44:22.77ID:hU5ITaEA 既存の Console に代わる Windows Terminal のプレビュー版が公開されたけど
今後コンソールアプリはどういう作りになるんだろう
既存の ConsoleAPI またはその拡張API になるのか
それともConsoleAPI は廃止されて Unix なんかと同様のエスケープシーケンスを制御する
curses ライブラリみたいのが提供されるのか
まぁオープンソースみたいだからソース見ればいいんだろうけど
今後コンソールアプリはどういう作りになるんだろう
既存の ConsoleAPI またはその拡張API になるのか
それともConsoleAPI は廃止されて Unix なんかと同様のエスケープシーケンスを制御する
curses ライブラリみたいのが提供されるのか
まぁオープンソースみたいだからソース見ればいいんだろうけど
215デフォルトの名無しさん
2019/06/25(火) 16:58:20.59ID:vGWUuZ9A 初歩的な質問ですが、64bitのプロセスにもWin32APIって使えますか?
216デフォルトの名無しさん
2019/06/25(火) 17:11:37.24ID:JYAeHTmF 使える
ただし、例えばGetWindowLongのようにポインタのビット数を決め打ちしている箇所に注意が必要
ただし、例えばGetWindowLongのようにポインタのビット数を決め打ちしている箇所に注意が必要
217蟻人間 ◆T6xkBnTXz7B0
2019/06/25(火) 17:11:56.15ID:CrMrKXln >>215
Win64APIではWoW64というシステムがWin32からWin64への互換性レイヤーになる。
Win64APIではWoW64というシステムがWin32からWin64への互換性レイヤーになる。
218デフォルトの名無しさん
2019/06/25(火) 17:35:47.56ID:XhZtJiMw 32bit OS の場合
System32 = 32bit 用 DLL (Win32API)
64bit OS の場合
System32 = 64bit 用 DLL (64bitWin32API)
SysWOW64 = 32bit 用 DLL (32bitWin32API)
System32 = 32bit 用 DLL (Win32API)
64bit OS の場合
System32 = 64bit 用 DLL (64bitWin32API)
SysWOW64 = 32bit 用 DLL (32bitWin32API)
219デフォルトの名無しさん
2019/06/25(火) 17:37:53.13ID:vGWUuZ9A ありがとうございます
これで気にせず昔の情報あされます
これで気にせず昔の情報あされます
220デフォルトの名無しさん
2019/07/10(水) 12:39:20.34ID:LrFGCWwq SysListView32のリストビューで、縦スクロールバーが表示されている状態で、
アイテムをクリックして選択し、すぐにホイールを回してそのアイテムを画面外に出すと、
一定時間後にそのアイテムが表示される位置まで飛んでしまいます。
選択されていないアイテムよりも、すでに選択されているアイテムをクリックした方が、
ホイールを回すまでの時間が多少長くてもその現象が起きます。
これWindows自体のバグでしょうか。
内部のタイマー処理でも絡んでいるのでしょうか。
アイテムをクリックして選択し、すぐにホイールを回してそのアイテムを画面外に出すと、
一定時間後にそのアイテムが表示される位置まで飛んでしまいます。
選択されていないアイテムよりも、すでに選択されているアイテムをクリックした方が、
ホイールを回すまでの時間が多少長くてもその現象が起きます。
これWindows自体のバグでしょうか。
内部のタイマー処理でも絡んでいるのでしょうか。
221デフォルトの名無しさん
2019/07/10(水) 12:47:11.51ID:+uFplCdI 君が発見出来るような程度のバグなら
既に誰かが発見して治してるよ
既に誰かが発見して治してるよ
222デフォルトの名無しさん
2019/07/10(水) 12:50:54.60ID:z7915HRG ホイールは3rdパーティーのマウスドライバや常駐もので
余計にメッセージ飛ばしたりすることあるから厄介
余計にメッセージ飛ばしたりすることあるから厄介
223デフォルトの名無しさん
2019/07/10(水) 13:04:08.77ID:GamN/JFp Win10の一年位前のビルドでSysListView32がスクロールバーを出してる状態でドラッグすると
画面右端にカーソルがすっ飛ぶバグがあったな
SysListView32使ってるアプリは多いからこれは一般ユーザーもすぐに気付い
画面右端にカーソルがすっ飛ぶバグがあったな
SysListView32使ってるアプリは多いからこれは一般ユーザーもすぐに気付い
224デフォルトの名無しさん
2019/07/10(水) 13:14:56.30ID:LrFGCWwq >>222
ホイールでなくスクロールバーのドラッグでも起きました。
操作が難しくなりますが、アイテムをクリックして選択し、
すぐにスクロールバーをドラッグしてそのアイテムを画面外に出すと、やはり同じ現象が起きます。
ホイールでなくスクロールバーのドラッグでも起きました。
操作が難しくなりますが、アイテムをクリックして選択し、
すぐにスクロールバーをドラッグしてそのアイテムを画面外に出すと、やはり同じ現象が起きます。
225デフォルトの名無しさん
2019/07/11(木) 10:11:43.64ID:Bpzge626 全然関係なくて申し訳ないが
シングルクリックとダブルクリックの判定って結構難しいよな
クリックのメッセージが飛んできても
シングルクリックのつもりなのか
ダブルクリックの一回目のクリックのつもりなのか
その時点では判断が付かない
なのでダブルクリックの二回目のクリックが飛んで来るかどうか
少し時間をおいてみるしかない
この間にユーザーが何か操作すると
シングルクリックとダブルクリックの判定って結構難しいよな
クリックのメッセージが飛んできても
シングルクリックのつもりなのか
ダブルクリックの一回目のクリックのつもりなのか
その時点では判断が付かない
なのでダブルクリックの二回目のクリックが飛んで来るかどうか
少し時間をおいてみるしかない
この間にユーザーが何か操作すると
226デフォルトの名無しさん
2019/07/11(木) 10:24:09.19ID:BSTUJEPb >>225
っWM_LBUTTONDBLCLK
っWM_LBUTTONDBLCLK
227デフォルトの名無しさん
2019/07/11(木) 10:24:15.51ID:dt9f58xR アホ発見
228デフォルトの名無しさん
2019/07/11(木) 10:27:17.02ID:xJ4m2V3T かわいい
229デフォルトの名無しさん
2019/07/11(木) 10:32:56.46ID:Bpzge626 >>226
WM_LBUTTONDBLCLKが飛んで来たらダブルクリック
でも飛んでこないかもしれない(つまりシングルクリック)という事だよ
飛んでくるかどうかは少し待ってみないとわからない
エクスプローラでファイルの名前の変更するとき
少し待たされるあの動作
タイマー使ってWM_LBUTTONDBLCLKが来るか少し待ってみるっていう
でもこの魔の時間にユーザーが操作することがあって
例えばホイール回したりスクロールバー触ったり
WM_LBUTTONDBLCLKが飛んで来たらダブルクリック
でも飛んでこないかもしれない(つまりシングルクリック)という事だよ
飛んでくるかどうかは少し待ってみないとわからない
エクスプローラでファイルの名前の変更するとき
少し待たされるあの動作
タイマー使ってWM_LBUTTONDBLCLKが来るか少し待ってみるっていう
でもこの魔の時間にユーザーが操作することがあって
例えばホイール回したりスクロールバー触ったり
230デフォルトの名無しさん
2019/07/11(木) 10:50:36.09ID:BSTUJEPb231デフォルトの名無しさん
2019/07/11(木) 10:56:55.16ID:dt9f58xR ダブルクリックはシングルボタンのAppleから持ち込まれた悪臭
232デフォルトの名無しさん
2019/07/11(木) 11:57:55.84ID:6Wf0CyIx >>230
と思うじゃん
と思うじゃん
233デフォルトの名無しさん
2019/07/11(木) 23:57:18.00ID:QGiOPnup 飛んでくるまでいつまで待てばいいですか
少しっていつですか
少しっていつですか
234デフォルトの名無しさん
2019/07/12(金) 00:14:57.72ID:B1Jsh2gD あれ?シングルクリックってダブルクリックになったら、マージされてダブルクリックで処理されると思っていた。
235デフォルトの名無しさん
2019/07/12(金) 06:48:21.69ID:dXXCmuDP GetDoubleClickTimeでググれ
236デフォルトの名無しさん
2019/07/12(金) 10:36:37.27ID:ueORW37F >>234
マージされるのは二回目のクリック
今言ってるのは一回目のクリックをどう扱うかという話
この一回目のクリックは
シングルクリックのつもりなのか
ダブルクリックの一回目なのか
コンピュータには知る由もない
マージされるのは二回目のクリック
今言ってるのは一回目のクリックをどう扱うかという話
この一回目のクリックは
シングルクリックのつもりなのか
ダブルクリックの一回目なのか
コンピュータには知る由もない
237デフォルトの名無しさん
2019/07/12(金) 12:00:48.30ID:Y/iKed6k なんでここまで説明しないと分からんのだろ
特にハイコンテクストって訳でもないのに
特にハイコンテクストって訳でもないのに
238デフォルトの名無しさん
2019/07/12(金) 12:24:57.20ID:gSsTJBIy 誰が誰に対して?
1回目の誰が2回目の誰に対してマージされて処理されるのか?
おやすみ
1回目の誰が2回目の誰に対してマージされて処理されるのか?
おやすみ
239デフォルトの名無しさん
2019/07/12(金) 12:53:40.57ID:nIUn02wm GetCursorPosでポインターの場所、GetKeyStateでマウスボタンが押されてるか離されてるか
取得できるから、あとは時間測って適当にクリックとダブルクリック、ドラッグを判別する
SwapMouseButtonで右利き左利きとか、GetDoubleClickTimeでダブルクリック判定する時間とか
そんなのを設定できるようにしとけば完璧
これがおまえらが一番納得する方法だろwww
取得できるから、あとは時間測って適当にクリックとダブルクリック、ドラッグを判別する
SwapMouseButtonで右利き左利きとか、GetDoubleClickTimeでダブルクリック判定する時間とか
そんなのを設定できるようにしとけば完璧
これがおまえらが一番納得する方法だろwww
240デフォルトの名無しさん
2019/07/12(金) 17:04:32.98ID:Uu5c0ODM 自信満々で嘘書くな迷惑
241デフォルトの名無しさん
2019/07/13(土) 05:00:55.61ID:5W75r4eA クリック動作はダブルクリックの直前に発生しても致命的にならないものであればいんでない?
クリック 選択
ダブルクリック 実行
これを逆にするようなら難しくなるだけかと
クリック 選択
ダブルクリック 実行
これを逆にするようなら難しくなるだけかと
242デフォルトの名無しさん
2019/08/04(日) 16:34:02.68ID:78/vdzUN QueryPerformanceFrequencyが10000000を返してくるようになってた
将来はQPCは常に100ナノ秒単位で表しますよってなっていくんだろうか
今回たまたま自分の環境がそうなってしまっただけなんだろうか
将来はQPCは常に100ナノ秒単位で表しますよってなっていくんだろうか
今回たまたま自分の環境がそうなってしまっただけなんだろうか
243蟻人間 ◆T6xkBnTXz7B0
2019/08/04(日) 21:08:54.77ID:QRYqe1Xw https://katahiromz.web.fc2.com/msgcrack/ja
Win32の人、使ってみてね。便利だよ。
Win32の人、使ってみてね。便利だよ。
244デフォルトの名無しさん
2019/08/05(月) 13:40:42.17ID:NOA3rn3w グロ中尉
245デフォルトの名無しさん
2019/08/07(水) 11:59:12.69ID:6nD1xIcw 現在、AddFontResourceとRemoveFontResourceを使って
プログラムからフォントを登録して使っています。
でもこの方法だと、RemoveFontResourceを呼んでも
システムを再起動しないと登録されたままになってしまいます。
その間はフォントファイルも削除できないです。
どうにかプログラム使用時だけフォントを有効にする方法はないでしょうか?
プログラム終了すれば登録されたフォントも登録解除されるような方法がいいです。
プログラムからフォントを登録して使っています。
でもこの方法だと、RemoveFontResourceを呼んでも
システムを再起動しないと登録されたままになってしまいます。
その間はフォントファイルも削除できないです。
どうにかプログラム使用時だけフォントを有効にする方法はないでしょうか?
プログラム終了すれば登録されたフォントも登録解除されるような方法がいいです。
246デフォルトの名無しさん
2019/08/07(水) 12:59:48.16ID:u0NlqDQ2 >>245
ドキュメントを読むとWM_FONTCHANGEをブロードキャストする必要があるらしいけどやってる?
もしくはAddFontResourceExでFR_PRIVATEを指定すると
> When the process terminates, the system will remove all fonts installed by the process with the AddFontResourceEx function
とあるからそれに頼るのもありかも
ドキュメントを読むとWM_FONTCHANGEをブロードキャストする必要があるらしいけどやってる?
もしくはAddFontResourceExでFR_PRIVATEを指定すると
> When the process terminates, the system will remove all fonts installed by the process with the AddFontResourceEx function
とあるからそれに頼るのもありかも
247デフォルトの名無しさん
2019/08/07(水) 13:05:20.88ID:6nD1xIcw248デフォルトの名無しさん
2019/09/05(木) 10:39:03.32ID:qYKhXOia 質問させてください。
日本語の Windows10 で、Windows Explorer のアドレスバーに
日本語で「デスクトップ」とだけ入力してエンターキーを押すとデスクトップに移動できます。
他にも、「ドキュメント」「ピクチャ」「ダウンロード」「3D オブジェクト」「OneDrive」など
いくつかの単語が特定のフォルダーと関連付けられていますが、
この対応をプログラムで調べる方法はありますでしょうか。
例えば SHGetFileInfo を使えばデスクトップのフルパスから
「デスクトップ」という日本語の display name を得ることはできますが、
SHGetFileInfo では上記のような関連付けの有無は判定できませんし、
そもそもフルパスから日本語名を得るのではなくその逆をしたいので、
SHGetFileInfo はあまり役に立たなそうです。
何かお分かりのことがありましたら教えていただけないでしょうか。
どうぞよろしくお願いします。
日本語の Windows10 で、Windows Explorer のアドレスバーに
日本語で「デスクトップ」とだけ入力してエンターキーを押すとデスクトップに移動できます。
他にも、「ドキュメント」「ピクチャ」「ダウンロード」「3D オブジェクト」「OneDrive」など
いくつかの単語が特定のフォルダーと関連付けられていますが、
この対応をプログラムで調べる方法はありますでしょうか。
例えば SHGetFileInfo を使えばデスクトップのフルパスから
「デスクトップ」という日本語の display name を得ることはできますが、
SHGetFileInfo では上記のような関連付けの有無は判定できませんし、
そもそもフルパスから日本語名を得るのではなくその逆をしたいので、
SHGetFileInfo はあまり役に立たなそうです。
何かお分かりのことがありましたら教えていただけないでしょうか。
どうぞよろしくお願いします。
249デフォルトの名無しさん
2019/09/05(木) 10:44:01.37ID:Cn2xW5Dx 内部で対応表持たせるしかないだろ
250蟻人間 ◆T6xkBnTXz7B0
2019/09/05(木) 11:22:27.86ID:sYiofqED SHGetLocalizedNameという関数が日本語パス名を返すみたいだが、逆はない。
SHGetSpecialFolderLocation/SHGetSpecialFolderPathで特殊フォルダのパス名を取得し、
SHGetLocalizedNameで日本語パス名を取得する。
それで対応表を作るといいだろう。
SHGetSpecialFolderLocation/SHGetSpecialFolderPathで特殊フォルダのパス名を取得し、
SHGetLocalizedNameで日本語パス名を取得する。
それで対応表を作るといいだろう。
251デフォルトの名無しさん
2019/09/05(木) 11:23:33.11ID:A2EHupI7 それは対応表作るにしても結構苦労するよ
例えば俺のWin10のユーザフォルダの中を見ると
同じフォルダ内にドキュメント、と、ピクチャ、が二つずつあったりする
ディスプレイネームが同じでITEMIDLISTが違うアイテムが
同一フォルダに複数存在してたりする環境もあるって事
俺の場合は片方はOneDriveでもう一つはローカル用
同じ名前で同じフォルダ
だから単にドキュメントといってもどっちの事か分からんwwwという事態に
苦労するよ、それ
例えば俺のWin10のユーザフォルダの中を見ると
同じフォルダ内にドキュメント、と、ピクチャ、が二つずつあったりする
ディスプレイネームが同じでITEMIDLISTが違うアイテムが
同一フォルダに複数存在してたりする環境もあるって事
俺の場合は片方はOneDriveでもう一つはローカル用
同じ名前で同じフォルダ
だから単にドキュメントといってもどっちの事か分からんwwwという事態に
苦労するよ、それ
252デフォルトの名無しさん
2019/09/05(木) 11:28:46.02ID:A2EHupI7 てか、同じ名前のアイテムを同一フォルダに突っ込むWindowsが糞仕様なんだけど
普通に使う分にもどっちがどっちか分からんでムカつく
OneDriveの方は「ドキュメント(OneDrive)」とか区別付く名前にしとけよ
それかOneDriveっていうフォルダ掘ってその下に配置しろよ
同じ名前のアイテムが同じフォルダにあると混乱することぐらい分かるだろ糞
普通に使う分にもどっちがどっちか分からんでムカつく
OneDriveの方は「ドキュメント(OneDrive)」とか区別付く名前にしとけよ
それかOneDriveっていうフォルダ掘ってその下に配置しろよ
同じ名前のアイテムが同じフォルダにあると混乱することぐらい分かるだろ糞
253デフォルトの名無しさん
2019/09/05(木) 12:28:53.83ID:ug+Xr8Ig 独り言はチラ裏へ
254デフォルトの名無しさん
2019/09/05(木) 12:29:13.60ID:Cn2xW5Dx アクセス履歴見ながら対応表を順次変更すりゃいい
そういうのはアイデア次第でどうとでもなる
そういうのはアイデア次第でどうとでもなる
255デフォルトの名無しさん
2019/09/05(木) 12:30:06.05ID:qYKhXOia >>249
レスどうもありがとうございます。
他の方のレスを拝見してみても、やっぱりなかなか難しそうですね。
>>250
大変有用な情報どうもありがとうございます。この方針が一番現実的そうですね。
SHGetSpecialFolderLocation/SHGetSpecialFolderPath は
CSIDL しか受け付けなくて、「3D オブジェクト」のように CSIDL がないフォルダもあるので、
CSIDL の代わりに GUID が使える SHGetKnownFolderIDList を使おうと思います。
ただいずれにしても、どのフォルダの CSIDL/GUID を指定するかは
プログラムの段階で決めないという認識で正しいでしょうか?
その部分を自動で決められれば最高なのですが難しそうですね。
あと、日本語名を取得するのに SHGetLocalizedName を紹介していただきましたが、
SHGetFileInfo を使うのとどちらがいいでしょうか?
SHGetFileInfo なら直接日本語名が得られるのに対して、SHGetLocalizedName だと
'the ID of the localized file name in the resource file' が返ってきますが、
こちらのほうがパフォーマンス的に有利だったりするのでしょうか?
>>251
貴重なご意見どうもありがとうございます。確かになかなか問題の根は深そうです。
エクスプローラーのアドレスバーはそのあたりをいい感じに解決しているようなので
その仕組みをそのまま拝借できたら楽なのですが、そう簡単には行かなさそうですね。
レスどうもありがとうございます。
他の方のレスを拝見してみても、やっぱりなかなか難しそうですね。
>>250
大変有用な情報どうもありがとうございます。この方針が一番現実的そうですね。
SHGetSpecialFolderLocation/SHGetSpecialFolderPath は
CSIDL しか受け付けなくて、「3D オブジェクト」のように CSIDL がないフォルダもあるので、
CSIDL の代わりに GUID が使える SHGetKnownFolderIDList を使おうと思います。
ただいずれにしても、どのフォルダの CSIDL/GUID を指定するかは
プログラムの段階で決めないという認識で正しいでしょうか?
その部分を自動で決められれば最高なのですが難しそうですね。
あと、日本語名を取得するのに SHGetLocalizedName を紹介していただきましたが、
SHGetFileInfo を使うのとどちらがいいでしょうか?
SHGetFileInfo なら直接日本語名が得られるのに対して、SHGetLocalizedName だと
'the ID of the localized file name in the resource file' が返ってきますが、
こちらのほうがパフォーマンス的に有利だったりするのでしょうか?
>>251
貴重なご意見どうもありがとうございます。確かになかなか問題の根は深そうです。
エクスプローラーのアドレスバーはそのあたりをいい感じに解決しているようなので
その仕組みをそのまま拝借できたら楽なのですが、そう簡単には行かなさそうですね。
256デフォルトの名無しさん
2019/09/05(木) 12:39:12.77ID:qYKhXOia >>252 >>254
レスどうもありがとうございます。
確かに Windows のフォルダ階層の仕組みは少し分かりにくいところがありますが、
今回の件についてはその問題はあまり関係なくて、
ちょっと誤解を与えてしまっている気がするので改めてやりたいことを説明させていただきます。
エクスプローラでは、今どのフォルダを開いているかにかかわらず、
アドレスバーに単に「デスクトップ」とだけ入力してエンターキーを押せばデスクトップに移動できます。
つまり、エクスプローラーの中では「デスクトップ」という単一の単語とデスクトップのフルパスとが
対応付けられているということになります。そして私は、この対応表を取得したいと考えております。
レスどうもありがとうございます。
確かに Windows のフォルダ階層の仕組みは少し分かりにくいところがありますが、
今回の件についてはその問題はあまり関係なくて、
ちょっと誤解を与えてしまっている気がするので改めてやりたいことを説明させていただきます。
エクスプローラでは、今どのフォルダを開いているかにかかわらず、
アドレスバーに単に「デスクトップ」とだけ入力してエンターキーを押せばデスクトップに移動できます。
つまり、エクスプローラーの中では「デスクトップ」という単一の単語とデスクトップのフルパスとが
対応付けられているということになります。そして私は、この対応表を取得したいと考えております。
257デフォルトの名無しさん
2019/09/05(木) 13:04:18.60ID:REbzCKHr 質問です。
ファイルに関連付けされている実行ファイルパスを取得するのに
FindExecutable()やAssocQueryString()を使っているのですが、
一部関連付けが取得できません。
どうやら関連付け先の実行ファイルの種類がWindowsパッケージ(デスクトップ)版と
ストアアプリ版とでは動作が異なるらしく、パッケージ版は上記APIで取得できる
ようですがストアアプリ版は取得できないようです。
仕方がないのでレジストリを直接たどる方法を模索しているのですが、
パッケージ版は分かるのですがストアアプリ版がよく分りません。
自分で調べた限りでは、HKCR\{拡張子}\OpenWithProgidsのREG_NONE型の{名前}
を元に、HKCR\{名前}\ApplicationのApplicationNameまでたどればいいと
いう情報を見つけて実践してみました。が、
ファイルに関連付けされている実行ファイルパスを取得するのに
FindExecutable()やAssocQueryString()を使っているのですが、
一部関連付けが取得できません。
どうやら関連付け先の実行ファイルの種類がWindowsパッケージ(デスクトップ)版と
ストアアプリ版とでは動作が異なるらしく、パッケージ版は上記APIで取得できる
ようですがストアアプリ版は取得できないようです。
仕方がないのでレジストリを直接たどる方法を模索しているのですが、
パッケージ版は分かるのですがストアアプリ版がよく分りません。
自分で調べた限りでは、HKCR\{拡張子}\OpenWithProgidsのREG_NONE型の{名前}
を元に、HKCR\{名前}\ApplicationのApplicationNameまでたどればいいと
いう情報を見つけて実践してみました。が、
258デフォルトの名無しさん
2019/09/05(木) 13:05:00.53ID:REbzCKHr (つづき)
実際に.pdfがedgeに関連付けられていて上記APIでは取得できない環境
においてレジストリをたどると
\HKCR\.pdf\OpenWithProgids
のREG_NONE型の名前「AppXd4nrz8ff68srnhf9t5a8sbjyar1cr723」を元に
\HKCR\AppXd4nrz8ff68srnhf9t5a8sbjyar1cr723\Application
のApplicationNameまではたどり着きました。
しかしこれに設定されている文字列が
@{Microsoft.MicrosoftEdge_44.18362.329.0_neutral__8wekyb3d8bbwe?ms-resource://Microsoft.MicrosoftEdge/Resources/AppName}
となっています。
どう見ても実行パスではないというか、これをさらにどうにかするのか
たどる方法が間違っているのか分からなくなりました。
正しい方法をよろしくお願いします。
実際に.pdfがedgeに関連付けられていて上記APIでは取得できない環境
においてレジストリをたどると
\HKCR\.pdf\OpenWithProgids
のREG_NONE型の名前「AppXd4nrz8ff68srnhf9t5a8sbjyar1cr723」を元に
\HKCR\AppXd4nrz8ff68srnhf9t5a8sbjyar1cr723\Application
のApplicationNameまではたどり着きました。
しかしこれに設定されている文字列が
@{Microsoft.MicrosoftEdge_44.18362.329.0_neutral__8wekyb3d8bbwe?ms-resource://Microsoft.MicrosoftEdge/Resources/AppName}
となっています。
どう見ても実行パスではないというか、これをさらにどうにかするのか
たどる方法が間違っているのか分からなくなりました。
正しい方法をよろしくお願いします。
259デフォルトの名無しさん
2019/09/05(木) 13:11:24.93ID:d3q2zCXJ >>256
試しにmspaintと入力してエンター押したらペイントが起動しない?
と言う事は入力が日本語ならC:\Users\<ユーザー名>\この中の対応するフォルダを開く
とか内部でやってるんじゃないかな
英語の場合はLoadLibraryと同じように
Explorer.exeと同じディレクトリ
Explorer.exeのカレントディレクトリ
システムディレクトリ
Windowsディレクトリ
環境変数のPATHに指定されてるディレクトリ
の順で検索されてmspaintが起動とか
試しにmspaintと入力してエンター押したらペイントが起動しない?
と言う事は入力が日本語ならC:\Users\<ユーザー名>\この中の対応するフォルダを開く
とか内部でやってるんじゃないかな
英語の場合はLoadLibraryと同じように
Explorer.exeと同じディレクトリ
Explorer.exeのカレントディレクトリ
システムディレクトリ
Windowsディレクトリ
環境変数のPATHに指定されてるディレクトリ
の順で検索されてmspaintが起動とか
260デフォルトの名無しさん
2019/09/05(木) 13:14:07.55ID:d3q2zCXJ 英語とか日本語とか関係なかったねw
261デフォルトの名無しさん
2019/09/05(木) 22:24:50.64ID:qYKhXOia >>259
レスありがとうございます。お返事が遅くなってしまい申し訳ないです。
> 試しにmspaintと入力してエンター押したらペイントが起動しない?
本当ですね!
しかし一方で、C:\Users\<ユーザ名>\AppData というフォルダはあるのに
アドレスバーに AppData と入力してエンターを押しても期待通りの動作はせず、
なかなかルールは複雑みたいです。
また、日本語環境ではアドレスバーに「Desktop」と入力してエンターを押しても
期待される動作にはならず、「デスクトップ」でなければならないようなので、
やはりシステムの言語設定は関係あるように思われます。
SHGetFileInfo で取得できる displayName を調べれば
日本語環境ならデスクトップフォルダから「デスクトップ」という文字列が得られるので
その逆ができればいいかと思ったのですが、実際はそれほど簡単な問題ではないようです。
例えば私の環境では C:\Users\<ユーザ名> の displayName は
ウィンドウズの GUI から設定できる「ユーザ名(アカウント名)」になっていますが、
エクスプローラーのアドレスバーで期待通りの動作になる文字列は
「ユーザ名(アカウント名)」ではなく「フルネーム」でした。
エクスプローラーのアドレスバーの動作を完全に模倣するのは難しそうですが、
ここでいただいたアドバイスを元に、現実的な方法を考えていきたいと思います。
レスありがとうございます。お返事が遅くなってしまい申し訳ないです。
> 試しにmspaintと入力してエンター押したらペイントが起動しない?
本当ですね!
しかし一方で、C:\Users\<ユーザ名>\AppData というフォルダはあるのに
アドレスバーに AppData と入力してエンターを押しても期待通りの動作はせず、
なかなかルールは複雑みたいです。
また、日本語環境ではアドレスバーに「Desktop」と入力してエンターを押しても
期待される動作にはならず、「デスクトップ」でなければならないようなので、
やはりシステムの言語設定は関係あるように思われます。
SHGetFileInfo で取得できる displayName を調べれば
日本語環境ならデスクトップフォルダから「デスクトップ」という文字列が得られるので
その逆ができればいいかと思ったのですが、実際はそれほど簡単な問題ではないようです。
例えば私の環境では C:\Users\<ユーザ名> の displayName は
ウィンドウズの GUI から設定できる「ユーザ名(アカウント名)」になっていますが、
エクスプローラーのアドレスバーで期待通りの動作になる文字列は
「ユーザ名(アカウント名)」ではなく「フルネーム」でした。
エクスプローラーのアドレスバーの動作を完全に模倣するのは難しそうですが、
ここでいただいたアドバイスを元に、現実的な方法を考えていきたいと思います。
262蟻人間 ◆T6xkBnTXz7B0
2019/09/05(木) 22:38:16.11ID:oF7lOGXi レジストリにAppPathという設定もあるぞ。
263デフォルトの名無しさん
2019/09/06(金) 19:55:29.68ID:H/ygVIaK >>261
いくつか気付いた事を報告 その1/2
・ユーザーフォルダ内のフォルダで移動できたもの
アドレス帳
お気に入り
デスクトップ
ドキュメント
ピクチャ
ビデオ
ミュージック
仮説1 〜\<ユーザー名>\(日本語名で表示される一部のフォルダ)って条件なのかもしれない
仮説2 仮説1の一部のフォルダで法則があるとしたらレジストリで保存場所を変更できるフォルダではないか?
試しに「プログラム」「スタートアップ」と入力しても移動できた
レジストリの「HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders」
ここに列挙されてるやつがヒントになるかもしれない
・レジストリをヒントに入力して移動できたもの
プログラム
recent
sendto
スタート メニュー
スタートアップ
・その他で移動できたもの (ツリービューで日本語表記をヒントにした)
パブリック
コンピュータ
ネットワーク
コントロール パネル
ごみ箱
いくつか気付いた事を報告 その1/2
・ユーザーフォルダ内のフォルダで移動できたもの
アドレス帳
お気に入り
デスクトップ
ドキュメント
ピクチャ
ビデオ
ミュージック
仮説1 〜\<ユーザー名>\(日本語名で表示される一部のフォルダ)って条件なのかもしれない
仮説2 仮説1の一部のフォルダで法則があるとしたらレジストリで保存場所を変更できるフォルダではないか?
試しに「プログラム」「スタートアップ」と入力しても移動できた
レジストリの「HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders」
ここに列挙されてるやつがヒントになるかもしれない
・レジストリをヒントに入力して移動できたもの
プログラム
recent
sendto
スタート メニュー
スタートアップ
・その他で移動できたもの (ツリービューで日本語表記をヒントにした)
パブリック
コンピュータ
ネットワーク
コントロール パネル
ごみ箱
264デフォルトの名無しさん
2019/09/06(金) 20:02:10.05ID:H/ygVIaK いくつか気付いた事を報告 その2/2
・ここまでの間に気付いた事
アドレスバーに「コ」と入力すると
コントロール パネル
コンピュータ
コンピュータの簡単操作センター
この3つの入力候補が現れたけど
入力候補が表示されるのとされないのもあった
あと日本語・英語混在(sendto recent)でさらに混乱させる事になってしまったかもしれないw
・ここまでの間に気付いた事
アドレスバーに「コ」と入力すると
コントロール パネル
コンピュータ
コンピュータの簡単操作センター
この3つの入力候補が現れたけど
入力候補が表示されるのとされないのもあった
あと日本語・英語混在(sendto recent)でさらに混乱させる事になってしまったかもしれないw
265デフォルトの名無しさん
2019/09/06(金) 20:40:37.12ID:H/ygVIaK ドキュメントがDocumentsの表示になった時の直し方で
LocalizedResourceNameが出てくるからそれをヒントにするのもいいかもしれない
LocalizedResourceNameが出てくるからそれをヒントにするのもいいかもしれない
266デフォルトの名無しさん
2019/09/06(金) 23:22:21.54ID:ZBxclhCf >>262
コメントどうもありがとうございます。
色々とレジストリにもヒントが隠れてそうなので調べてみたいと思います。
>>263-265
大変有用な情報どうもありがとうございます。
書いていただいた内容を見ながら実験してみて分かったこととして、
問題のアドレスバーの挙動は環境によって相当にブレがあるようです。
私の環境(Windows 10 Pro)では、
>>263 に書いていただいた文字列のうち
「recent」「コンピュータ(ちなみにコンピュータ『ー』もダメ)」は
期待通りの動作にならず、代わりにブラウザ(私の環境では Firefox)で
入力した文字列が検索されてしまいました。
私の環境ではアドレスバーに「Creative Cloud Files」と入力すると
対応する Adobe のソフトが作ったフォルダが開かれるので
ある程度外部ソフト等の影響があるだろうとは思っていたのですが、
「コンピュータ」ですら環境によって結果が異なるとは予想外でした。
ちなみに外部ソフトの影響に関しては、レジストリの
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace
に登録されているものが該当しているような気がするのですが、
確かなことは分かっていません。
ともあれ、非常に興味深い実験結果と考察を読ませていただき
大変勉強になりました。どうもありがとうございます。
また何かお気づきのことがあれば教えていただけると嬉しく思います。
コメントどうもありがとうございます。
色々とレジストリにもヒントが隠れてそうなので調べてみたいと思います。
>>263-265
大変有用な情報どうもありがとうございます。
書いていただいた内容を見ながら実験してみて分かったこととして、
問題のアドレスバーの挙動は環境によって相当にブレがあるようです。
私の環境(Windows 10 Pro)では、
>>263 に書いていただいた文字列のうち
「recent」「コンピュータ(ちなみにコンピュータ『ー』もダメ)」は
期待通りの動作にならず、代わりにブラウザ(私の環境では Firefox)で
入力した文字列が検索されてしまいました。
私の環境ではアドレスバーに「Creative Cloud Files」と入力すると
対応する Adobe のソフトが作ったフォルダが開かれるので
ある程度外部ソフト等の影響があるだろうとは思っていたのですが、
「コンピュータ」ですら環境によって結果が異なるとは予想外でした。
ちなみに外部ソフトの影響に関しては、レジストリの
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace
に登録されているものが該当しているような気がするのですが、
確かなことは分かっていません。
ともあれ、非常に興味深い実験結果と考察を読ませていただき
大変勉強になりました。どうもありがとうございます。
また何かお気づきのことがあれば教えていただけると嬉しく思います。
267デフォルトの名無しさん
2019/09/07(土) 09:05:50.93ID:/U7tKF4y >>266
10の場合はコンピュータがPCに変わったんだと思う
10の場合はコンピュータがPCに変わったんだと思う
268デフォルトの名無しさん
2019/09/07(土) 09:58:32.00ID:dh6f1+zl これはひどい
269デフォルトの名無しさん
2019/09/07(土) 13:40:15.53ID:LGCtCXOo デフォルトで用意されている日本語のフォルダ名を英語に戻す
https://laboradian.com/use-en-folder-name/
11個の日本語名になっているフォルダ
日本語名のフォルダには、desktop.ini という隠しファイルがある
https://laboradian.com/use-en-folder-name/
11個の日本語名になっているフォルダ
日本語名のフォルダには、desktop.ini という隠しファイルがある
270デフォルトの名無しさん
2019/09/12(木) 18:25:54.76ID:h3dV0Q14 Win32アプリのバージョンリソースについての質問です。
自作アプリの1.0.0をリリースした後、1.1.0を作成中にベータ版を出す場合、
リソースのFILEVERSIONやPRODUCTVERSIONはどのように記述するのがよいのでしょうか。
1,1,0,0は、1.1.0の正式版に使いたいのですが、これより大きい値を付けるのも変だし、
数字以外の文字は入力できないようなので。
自作アプリの1.0.0をリリースした後、1.1.0を作成中にベータ版を出す場合、
リソースのFILEVERSIONやPRODUCTVERSIONはどのように記述するのがよいのでしょうか。
1,1,0,0は、1.1.0の正式版に使いたいのですが、これより大きい値を付けるのも変だし、
数字以外の文字は入力できないようなので。
271デフォルトの名無しさん
2019/09/12(木) 19:23:34.97ID:WE18f4SS 1.0.0.1とかはあかんの?
272デフォルトの名無しさん
2019/09/12(木) 19:48:34.37ID:5JZ2mwNb 好きにしろよww
自作アプリなんて俺は1.0も1.1も2.0もみんなβだから1.00から0.01刻みで増やしてる
昔はカスタムビルドステップでビルド番号もつけてたけど今はやってない
自作アプリなんて俺は1.0も1.1も2.0もみんなβだから1.00から0.01刻みで増やしてる
昔はカスタムビルドステップでビルド番号もつけてたけど今はやってない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【悲報】日本人「俺以外の日本人が中国と戦ってくれるぞ!」 [616817505]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 維新の吉村代表「高市総理に中国総領事の国外退去を要請した。今後、知事として中国イベントには出席しない」 [359572271]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【悲報】あまりにも高市早苗の頭が悪過ぎて「これは確かに野党が配慮して質問するべきだったのでは」と結論が出てしまう [517791167]
