Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build126
https://mevius.5ch.net/test/read.cgi/tech/1588339011/
Win32API質問箱 Build125
https://mevius.5ch.net/test/read.cgi/tech/1551247748/
Win32API質問箱 Build124
https://mevius.5ch.net/test/read.cgi/tech/1510395780/
■関連スレ
Visual Studio 2020 Part1 https://mevius.5ch.net/test/read.cgi/tech/1634166667/
Visual Studio 2019 Part7 https://mevius.5ch.net/test/read.cgi/tech/1634178709/
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質問箱 Build127
■ このスレッドは過去ログ倉庫に格納されています
2021/12/09(木) 21:32:56.60ID:sYLpmj89
708デフォルトの名無しさん
2023/06/21(水) 03:06:59.92ID:xVHig5c/709デフォルトの名無しさん
2023/06/21(水) 08:17:17.70ID:HzwHqkRi mutex の排他って CreateWindow する前 & メッセージループする前だから
プロセスは存在してるけど、window は無いって 中間的な状態じゃね?
プロセスは存在してるけど、window は無いって 中間的な状態じゃね?
710デフォルトの名無しさん
2023/06/21(水) 15:51:17.25ID:3v7xwtLO 100円か
711デフォルトの名無しさん
2023/06/21(水) 16:38:24.82ID:cZp0PZIW 999円かもしれないじゃないか
712デフォルトの名無しさん
2023/06/22(木) 17:55:22.58ID:Sn58Ngpo >>701
詳細なエラー情報を得るには、関数を呼び出します。
詳細なエラー情報を得るには、関数を呼び出します。
713デフォルトの名無しさん
2023/06/27(火) 10:23:32.50ID:SIPPfbqI >>710-711
お前らその金額でおいしいの?仕事してくんない?
お前らその金額でおいしいの?仕事してくんない?
714デフォルトの名無しさん
2023/07/14(金) 05:28:13.99ID:+33O6idh スクリーンセーバー作ろうぜ
715デフォルトの名無しさん
2023/07/23(日) 16:38:12.26ID:eEbrANA6 POSIXのopenatとかをWindowsで実装したいんだけど、
NtCreateFileを使えとは見るんだけど、
実際のコードは見たなことない。
gnulibから実装した方がいいのかな?
NtCreateFileを使えとは見るんだけど、
実際のコードは見たなことない。
gnulibから実装した方がいいのかな?
716デフォルトの名無しさん
2023/07/24(月) 12:54:52.49ID:IGsOjAN4 不特定多数に文字だけで意思疎通するには答えやすい尋ね方というのがあると思うが、そんなことよりスクリーンセーバー作ろうぜ
717蟻人間 ◆T6xkBnTXz7B0
2023/07/24(月) 13:10:56.94ID:72ajrVnV718デフォルトの名無しさん
2023/08/04(金) 11:13:07.90ID:2Yu2Iz7N IME のオンとオフの実装で以前は
ImmGetContext
ImmSetOpenStatus
ImmReleaseContext
の3点セットで完全にオンとオフが機能していたように記憶しているのですが
今のWindowsでは機能しないことがあります(Windows 11 Home 22H2 OS Build 22621.2070)
この原因や解決策をわかる方がいたら教えてほしいです
Windows の公式サンプルでもこの3点セットでオンオフを実装しています
github.com/microsoft/Windows-classic-samples/blob/ac06e54a15e9a62443e400fffff190fb978ea586/Samples/Win7Samples/winui/input/ime/fullime/Main.C#L237
ImmGetContext
ImmSetOpenStatus
ImmReleaseContext
の3点セットで完全にオンとオフが機能していたように記憶しているのですが
今のWindowsでは機能しないことがあります(Windows 11 Home 22H2 OS Build 22621.2070)
この原因や解決策をわかる方がいたら教えてほしいです
Windows の公式サンプルでもこの3点セットでオンオフを実装しています
github.com/microsoft/Windows-classic-samples/blob/ac06e54a15e9a62443e400fffff190fb978ea586/Samples/Win7Samples/winui/input/ime/fullime/Main.C#L237
719デフォルトの名無しさん
2023/08/05(土) 03:35:25.87ID:ZYr7i0H2 旧版MS-IMEじゃないとダメなんじゃないっけ?知らんけど
720デフォルトの名無しさん
2023/08/05(土) 09:34:20.67ID:wvUeqD5z 心配無用
Win11でなら上手く動かなくても許される
Win11でなら上手く動かなくても許される
721デフォルトの名無しさん
2023/08/14(月) 19:56:12.96ID:53r0CZc5 y=f(x)のグラフを描こうとした場合、GDIのLineTo()で書けますが
グラフとx軸の間の領域を背景とは異なる色で描画しているアプリを
見かけることがあります。
ベタにやろうとすると(x,0)から(x,f(x))までを別のペンでLineToすれば
できそうですが、それだとあまりにも遅そうなんでどのようにするのが
一般的なんでしょうか?
グラフとx軸の間の領域を背景とは異なる色で描画しているアプリを
見かけることがあります。
ベタにやろうとすると(x,0)から(x,f(x))までを別のペンでLineToすれば
できそうですが、それだとあまりにも遅そうなんでどのようにするのが
一般的なんでしょうか?
722デフォルトの名無しさん
2023/08/14(月) 19:58:40.11ID:KSpEuPpD polygon
723デフォルトの名無しさん
2023/08/14(月) 23:17:07.87ID:Vf3oM49A724デフォルトの名無しさん
2023/08/14(月) 23:53:10.89ID:hsUNKBWX (分かりやすく)グラフが丁度収まる矩形サイズの描画メモリをCreateDIBSectionとかで確保して
掛け算や条件文をなるべく使わずに、直接メモリを塗りたい色で書き換えて、
最後にその描画メモリをバックバッファへ転送する、とか
掛け算や条件文をなるべく使わずに、直接メモリを塗りたい色で書き換えて、
最後にその描画メモリをバックバッファへ転送する、とか
725デフォルトの名無しさん
2023/08/15(火) 08:10:50.28ID:eu+UdA0l PathTo
726デフォルトの名無しさん
2023/08/15(火) 10:10:52.28ID:whQn6DUa データ左端,Y軸下端 to データ左端,Y値 to データX値,Y値 to
... to データ右端,Y値 to データ右端,Y軸下端 (to データ左端,Y軸下端)
... to データ右端,Y値 to データ右端,Y軸下端 (to データ左端,Y軸下端)
727デフォルトの名無しさん
2023/08/15(火) 11:35:30.53ID:r8gJDQt/728デフォルトの名無しさん
2023/08/15(火) 11:44:42.91ID:5h6JYYPu 自分で線描画してメモリDCでダブルバッファするか
既製のチャートコントロールを使う
jもしくはavascriptにグラフ描画のは沢山あるからそ!をwebview2か何かで表示する
既製のチャートコントロールを使う
jもしくはavascriptにグラフ描画のは沢山あるからそ!をwebview2か何かで表示する
729デフォルトの名無しさん
2023/08/15(火) 12:32:58.41ID:32B9AzF9 いや、GDI+かDirect2Dを使えばいいんだよ
730デフォルトの名無しさん
2023/08/16(水) 10:30:08.97ID:tgyEZLGb >jもしくはavascript
斬新ですね
斬新ですね
731デフォルトの名無しさん
2023/09/23(土) 00:28:12.62ID:aQUNS12d メール関係のライブラリを知っていたら教えてください。
Windowsで使えるライブラリってないのでしょうか。
Windowsで使えるライブラリってないのでしょうか。
732デフォルトの名無しさん
2023/09/23(土) 04:00:25.45ID:kn75UD+k まああるかないかで答えればあるんだけどさ
メール関係って言われても色んな技術の集合だしなあ
その質問をこのスレで聞いちまう所がまずセンスないよね
メール関係って言われても色んな技術の集合だしなあ
その質問をこのスレで聞いちまう所がまずセンスないよね
733デフォルトの名無しさん
2023/09/23(土) 09:47:18.93ID:i9fpyxKg mapi
734デフォルトの名無しさん
2023/09/23(土) 14:43:48.51ID:60UGXAh5 送受信はたいしたことないけど
お行儀悪いのを忖度して可視化するのがとても大変
お行儀悪いのを忖度して可視化するのがとても大変
735デフォルトの名無しさん
2023/09/23(土) 18:43:45.24ID:lGebHJu0 HELO
736デフォルトの名無しさん
2023/09/23(土) 23:00:13.46ID:9Qe717YS USER
PASS
PASS
737デフォルトの名無しさん
2023/09/24(日) 09:35:27.98ID:2YTVyUlC EHLO
738デフォルトの名無しさん
2023/09/24(日) 19:41:47.04ID:iqjAJ+9f RFC821
739デフォルトの名無しさん
2023/09/25(月) 13:09:43.15ID:RmxLVxNP ERO
740デフォルトの名無しさん
2023/09/26(火) 13:29:13.68ID:6+Zop4bX GetTempPathで取得できるフォルダ(AppData\Local\Temp)の中を見ると、
固定名と思われるサブフォルダを作っているアプリが結構あるのですが、
こういうアプリって、その固定名のサブフォルダが他のアプリと競合したり、
同じ名前のファイルがすでに存在していてサブフォルダを作るのに失敗したりするケースは、
ちゃんと想定しているものなんですか?
固定名と思われるサブフォルダを作っているアプリが結構あるのですが、
こういうアプリって、その固定名のサブフォルダが他のアプリと競合したり、
同じ名前のファイルがすでに存在していてサブフォルダを作るのに失敗したりするケースは、
ちゃんと想定しているものなんですか?
741デフォルトの名無しさん
2023/09/26(火) 14:42:44.03ID:QCQROq06 作り手次第だよ
ちょっと考えれば判るよね
ちょっと考えれば判るよね
742デフォルトの名無しさん
2023/09/26(火) 16:13:27.26ID:6+Zop4bX743デフォルトの名無しさん
2023/09/26(火) 16:59:03.55ID:mqYR7ljA 同名のファイルが存在してサブフォルダが作れずに阻害された後
どうなるかも作り手次第だろうね
名前を変えて悪あがきするか、エラー報告して終わるか、だんまりするか・・・
どうなるかも作り手次第だろうね
名前を変えて悪あがきするか、エラー報告して終わるか、だんまりするか・・・
744デフォルトの名無しさん
2023/09/26(火) 19:44:54.79ID:a3/CUfz+ 単なるファイルのコピーすら気を付けても穴だらけだしな
その時点の知識で最良を目指すしかない
その時点の知識で最良を目指すしかない
745デフォルトの名無しさん
2023/09/27(水) 02:22:24.50ID:5xG4BOfj >>740
そもそもTempは一時的なフォルダでしょ
本アプリは上書きで使っていくだけだから影響はないでしょ
キャッシュや恒久的に使用するデータをそこに保存している場合は不具合のもとだろうけど
データ検証しない場合はエラー吐いて落ちるだけじゃね?
そもそもTempは一時的なフォルダでしょ
本アプリは上書きで使っていくだけだから影響はないでしょ
キャッシュや恒久的に使用するデータをそこに保存している場合は不具合のもとだろうけど
データ検証しない場合はエラー吐いて落ちるだけじゃね?
746デフォルトの名無しさん
2023/09/27(水) 08:45:50.87ID:KtsI0JaQ Tempフォルダの中身は削除されても文句言えない物だから
なんなら同名あったら問答無用で削除して自分用作るすらあると思うわ
なんなら同名あったら問答無用で削除して自分用作るすらあると思うわ
747デフォルトの名無しさん
2023/09/27(水) 11:42:51.73ID:OOPn+kCl その通り
既存の同名があって作成者が自分じゃなければ消して新しく同名で造れば良い
既存の同名があって作成者が自分じゃなければ消して新しく同名で造れば良い
748デフォルトの名無しさん
2023/09/27(水) 11:55:22.18ID:rbbJx+dJ749デフォルトの名無しさん
2023/09/27(水) 12:24:30.48ID:JPmaWpsM APIを呼び出した次の瞬間名前が衝突する可能性も考慮するんだぞ
750740
2023/09/27(水) 12:37:44.20ID:jK1ZOC3S みなさんありがとうございます。
>>745-748
テンポラリファイルではなく、固定名のサブフォルダを作るアプリに対する疑問でした。
フォルダ上に同名のファイルがあったら、その名前のサブフォルダは作れないですし。
確かにそれを言い出したら、インストール時も、
Program Filesの中に同名のファイルがあったらどうするんだとか出てきますが。
>>745-748
テンポラリファイルではなく、固定名のサブフォルダを作るアプリに対する疑問でした。
フォルダ上に同名のファイルがあったら、その名前のサブフォルダは作れないですし。
確かにそれを言い出したら、インストール時も、
Program Filesの中に同名のファイルがあったらどうするんだとか出てきますが。
751デフォルトの名無しさん
2023/09/27(水) 14:26:16.30ID:5xG4BOfj >>750
作る前に存在の有無ぐらい確認するでしょ
作る前に存在の有無ぐらい確認するでしょ
752デフォルトの名無しさん
2023/09/27(水) 14:52:35.81ID:KtsI0JaQ それはアプリ作成側がそこまで思いを致すかどうかなんだよ
753デフォルトの名無しさん
2023/09/27(水) 15:25:13.52ID:CB93ywr3 >>750
テンポラリファイルではなく、固定名のサブフォルダを作る場合は
C:\Users\ユーザー名\AppData\Local\会社名
で作るのが一般的では?(暗黙のルール?)
個人で作ってるならアプリ名を元に他と被らないようにするとか
テンポラリファイルではなく、固定名のサブフォルダを作る場合は
C:\Users\ユーザー名\AppData\Local\会社名
で作るのが一般的では?(暗黙のルール?)
個人で作ってるならアプリ名を元に他と被らないようにするとか
754デフォルトの名無しさん
2023/09/27(水) 23:12:54.83ID:zQBl5fyt その為のレジストリなんじゃないのか?
キーは基本的に会社名含めてるから被らないし、ファイルを作成して消耗するより楽だろ
キーは基本的に会社名含めてるから被らないし、ファイルを作成して消耗するより楽だろ
755デフォルトの名無しさん
2023/09/28(木) 06:29:56.08ID:wsjwbbNA テンポラリの作業用にレジストリ使うの?
ファイル造る方が楽
ファイル造る方が楽
756デフォルトの名無しさん
2023/09/28(木) 08:45:42.90ID:fRqICkyk757デフォルトの名無しさん
2023/09/28(木) 09:48:55.62ID:wMng62Lu 知らんわ
あとから出来たほうが対策しろよw
あとから出来たほうが対策しろよw
758デフォルトの名無しさん
2023/09/28(木) 10:00:55.49ID:7+/lnWbq ファイルやディレクトリ造るために社名変更するまである
759デフォルトの名無しさん
2023/09/28(木) 10:03:24.72ID:/0J5x9qx 実際被ってたことってある?
俺はないけど
俺はないけど
760デフォルトの名無しさん
2023/09/28(木) 19:13:55.93ID:0dpaiugf 俺はいまでもかぶってる
761デフォルトの名無しさん
2023/09/28(木) 23:36:06.79ID:HoOgKtnG もげろ
762デフォルトの名無しさん
2023/09/29(金) 08:59:20.90ID:Z2hlTA8C 病院行ってこい
763デフォルトの名無しさん
2023/09/29(金) 09:07:48.85ID:05Kz/f5R 整形外科?泌尿器科?
764デフォルトの名無しさん
2023/09/29(金) 11:10:40.92ID:F8aJXNq9765デフォルトの名無しさん
2023/10/07(土) 15:05:12.07ID:9HknARLB >>750
>確かにそれを言い出したら、インストール時も、
>Program Filesの中に同名のファイルがあったらどうするんだとか出てきますが。
Windows Installerは排他実行だった気がする。
>確かにそれを言い出したら、インストール時も、
>Program Filesの中に同名のファイルがあったらどうするんだとか出てきますが。
Windows Installerは排他実行だった気がする。
766デフォルトの名無しさん
2023/10/07(土) 15:05:22.61ID:9HknARLB >>750
>確かにそれを言い出したら、インストール時も、
>Program Filesの中に同名のファイルがあったらどうするんだとか出てきますが。
Windows Installerは排他実行だった気がする。
>確かにそれを言い出したら、インストール時も、
>Program Filesの中に同名のファイルがあったらどうするんだとか出てきますが。
Windows Installerは排他実行だった気がする。
767デフォルトの名無しさん
2023/10/09(月) 03:22:17.67ID:vj98VpKw >>764
グロ
グロ
768デフォルトの名無しさん
2023/10/09(月) 08:17:21.60ID:2tIVtmSa リソースの作成は、片山さんのを使っているのですか?
769デフォルトの名無しさん
2023/11/27(月) 15:12:37.06ID:hjluQqqG はい
770デフォルトの名無しさん
2023/12/05(火) 09:32:43.89ID:wrsiK2xx MoveFileExにはMOVEFILE_WRITE_THROUGHというフラグがあって、
直後にディスクへフラッシュすることができるけど、
これと同じことをCopyFileで行うことはできますか?
直後にディスクへフラッシュすることができるけど、
これと同じことをCopyFileで行うことはできますか?
771デフォルトの名無しさん
2023/12/05(火) 12:40:51.43ID:3zuw4Zf7 >>770
単独では無理そうなので、CopyFile2 をつかうといい。
https://devblogs.microsoft.com/oldnewthing/20221007-00/?p=107261
単独では無理そうなので、CopyFile2 をつかうといい。
https://devblogs.microsoft.com/oldnewthing/20221007-00/?p=107261
772デフォルトの名無しさん
2023/12/05(火) 13:17:40.41ID:wrsiK2xx773デフォルトの名無しさん
2023/12/05(火) 15:56:54.94ID:qi66pVAj >>770,771
どっちもそれだけでは不意の電源断でロバストじゃないのが難しい。
どっちもそれだけでは不意の電源断でロバストじゃないのが難しい。
774デフォルトの名無しさん
2023/12/05(火) 21:13:57.13ID:rxI6O073 タイムスタンプが1970年だかのファイルを仮置きして別名でコピーしたら挿げ替え
電源断が怖いなら挿げ替え部分だけアトミックに作ればいい
電源断が怖いなら挿げ替え部分だけアトミックに作ればいい
775デフォルトの名無しさん
2023/12/05(火) 22:40:24.43ID:82k65TSZ >>774
>電源断が怖いなら挿げ替え部分だけアトミックに作ればいい
この部分は具体的にセオリー的なやり方があるのですか?
挿げ替えで思い当たるReplaceFileはアトミックか分かりませんでした。
>電源断が怖いなら挿げ替え部分だけアトミックに作ればいい
この部分は具体的にセオリー的なやり方があるのですか?
挿げ替えで思い当たるReplaceFileはアトミックか分かりませんでした。
776デフォルトの名無しさん
2023/12/06(水) 11:02:51.03ID:swAla//2 CopyFileではいったんテンポラリファイルにコピーして、
それをMoveFileExで正しいファイル名に変更するとかやれば、
ちゃんと書き込まれる可能性は高くなるんですかね
それをMoveFileExで正しいファイル名に変更するとかやれば、
ちゃんと書き込まれる可能性は高くなるんですかね
777デフォルトの名無しさん
2023/12/06(水) 13:32:02.74ID:MnzvwPfi778デフォルトの名無しさん
2023/12/06(水) 18:36:06.88ID:NNCP5uXb779デフォルトの名無しさん
2023/12/06(水) 18:43:37.11ID:NNCP5uXb780デフォルトの名無しさん
2024/01/02(火) 18:23:35.28ID:fgzxSMPt RtlReAllocateHeap(GetProcessHeap(), 0, lpMem, dwBytes)
これをそこそこの頻度でやってると特定回数目にクラッシュしてしまうんだけどどういうことなのだろうか
よくある戻り値null未チェックとかそういう事ではなく上記関数内で落ちるんだよね
lpMemも間違いなく生きてるメモリなのは確認済みでdwBytesも不自然な値ではない
呼び出し方が悪いのかと思ってmalloc、reallocに変えてみてもやはり同様の場所でクラッシュしてしまう
これをそこそこの頻度でやってると特定回数目にクラッシュしてしまうんだけどどういうことなのだろうか
よくある戻り値null未チェックとかそういう事ではなく上記関数内で落ちるんだよね
lpMemも間違いなく生きてるメモリなのは確認済みでdwBytesも不自然な値ではない
呼び出し方が悪いのかと思ってmalloc、reallocに変えてみてもやはり同様の場所でクラッシュしてしまう
781デフォルトの名無しさん
2024/01/02(火) 21:23:43.76ID:rZ40Y3/a API変えても発生するならAPI関係ない場所のお前のバグじゃん
782デフォルトの名無しさん
2024/01/02(火) 23:51:50.03ID:fgzxSMPt >>781
WindowsのreallocはHeapReAllocのラッパーでHeapReAllocの実態はRtlReAllocateHeapへのリンクに過ぎない訳だが
WindowsのreallocはHeapReAllocのラッパーでHeapReAllocの実態はRtlReAllocateHeapへのリンクに過ぎない訳だが
783デフォルトの名無しさん
2024/01/03(水) 00:50:32.19ID:+N5csyKn mallocやreallocもまともに使えない子はこのスレに来るのはまだ早かったねー
784デフォルトの名無しさん
2024/01/03(水) 01:02:21.99ID:l1Q27XPY 正月ボケを晒すスレ
785デフォルトの名無しさん
2024/01/03(水) 09:46:34.80ID:STDOZzf0 free 済のポインタに対して 再び free したんじゃないの?
786デフォルトの名無しさん
2024/01/03(水) 09:47:05.92ID:STDOZzf0 realloc の頭で free するからね
787デフォルトの名無しさん
2024/01/04(木) 19:03:00.23ID:IQKtoxOL 特定回数でクラッシュするなのがわかってるなら
アドレスがどう変化した時にクラッシュするとかわかりそうなもんだ
アドレスがどう変化した時にクラッシュするとかわかりそうなもんだ
788デフォルトの名無しさん
2024/01/04(木) 22:30:57.77ID:ZPN5xQR2 mallocで大きなメモリを取得して、その領域から切り出すalloc関数などを作って差し替えてデバッグするとか?
組み込み系で良くやるけどね。
組み込み系で良くやるけどね。
789デフォルトの名無しさん
2024/01/04(木) 22:40:26.44ID:L+x9xVwI ボソ HeapAlloc()
790デフォルトの名無しさん
2024/01/04(木) 22:48:53.63ID:IQKtoxOL791デフォルトの名無しさん
2024/01/14(日) 00:10:31.18ID:+DXd3tPu BoundsChecker か PURIFY ですぐ究明できそうな気がするけど
792デフォルトの名無しさん
2024/01/16(火) 14:06:03.29ID:YFpb2YHn メモリのフラグメンテーションで大きい領域がとれないんじゃない?
793デフォルトの名無しさん
2024/01/23(火) 16:49:29.22ID:SUJHX/By ファイルパスなんかはカーネルが結局UNICODE_STRINGとして扱うからwchar版の方がパフォーマンス良いけどadvapi32のレジストリ系関数はどうなんだろうか?
794デフォルトの名無しさん
2024/01/26(金) 12:12:36.19ID:h4bsjzTE WM_MOUSEFIRSTからWM_MOUSELASTのメッセージって、
これから追加されるメッセージもLPARAMはすべてマウス位置のクライアント座標が入る、という約束はありますか?
これから追加されるメッセージもLPARAMはすべてマウス位置のクライアント座標が入る、という約束はありますか?
795デフォルトの名無しさん
2024/02/21(水) 15:57:22.07ID:jTOh+ue+ Spy++のメッセージウィンドウには、「S」や「P」の文字が表示されていて、
それがSendで送られたのかPostで送られたのかがわかるようになっていますが、
これと同じ区別を、自身のメッセージハンドラ上で行うことはできるのでしょうか
InSendMessageというAPIは見つけたのですが、
Spy++で「S」と表示されるものでも0が返ってきてしまいました
それがSendで送られたのかPostで送られたのかがわかるようになっていますが、
これと同じ区別を、自身のメッセージハンドラ上で行うことはできるのでしょうか
InSendMessageというAPIは見つけたのですが、
Spy++で「S」と表示されるものでも0が返ってきてしまいました
796デフォルトの名無しさん
2024/02/22(木) 22:51:02.73ID:kQumE7Ak 分別してどうするのさ
797デフォルトの名無しさん
2024/02/23(金) 16:31:44.91ID:JzCbi9fb InSendMessageは別のスレッドからSendMessageされたかを判断する、と説明があるから、
単純にSendMessage呼び出しを判定するものではなさそう
同一スレッドからのSendMessageの呼び出し判定は、ウィンドウプロシジャのコールスタック辿って
SendMessageのエントリポイントと比較するとか、何か追加で頑張る必要がありそう
単純にSendMessage呼び出しを判定するものではなさそう
同一スレッドからのSendMessageの呼び出し判定は、ウィンドウプロシジャのコールスタック辿って
SendMessageのエントリポイントと比較するとか、何か追加で頑張る必要がありそう
798デフォルトの名無しさん
2024/02/23(金) 17:02:46.18ID:GiKlOj9R Snedはメッセージキューに来ないからあればPostなければSendやぞ
799デフォルトの名無しさん
2024/02/24(土) 00:12:34.16ID:qqiEO45x 内部でIsPostMsgとかフラグ作ってDispatchMessage()を呼ぶ時に1にする終わったらゼロにする
800デフォルトの名無しさん
2024/02/24(土) 09:12:26.23ID:niSNojaB ウィンドウプロシジャが呼ばれる経路はそれだけ?
801デフォルトの名無しさん
2024/02/24(土) 13:03:44.44ID:qqiEO45x Postでキューに入ったのを取り出して呼ばれるのはそこだけでしょう
Sendでは直接呼ばれる
もしウィンドウプロシージャの中からSendしてたらこれは使えない
Sendでは直接呼ばれる
もしウィンドウプロシージャの中からSendしてたらこれは使えない
802デフォルトの名無しさん
2024/02/24(土) 13:41:01.55ID:Uzz+lkGd 自アプリ側で予め
SendMessage PostMessage
をフックしとけば良いのでは?
SendMessage PostMessage
をフックしとけば良いのでは?
803デフォルトの名無しさん
2024/02/24(土) 14:33:49.19ID:5nanMrzK http://bonurd.winofsql.jp/sb/log/eid175.html
SendMessage と PostMessage のフック
SendMessage と PostMessage のフック
804デフォルトの名無しさん
2024/02/25(日) 11:17:44.56ID:GDczOUha805デフォルトの名無しさん
2024/04/29(月) 03:35:32.42ID:xgq67JZI intから__int64へ
806デフォルトの名無しさん
2024/05/08(水) 06:48:18.53ID:CU7bUsfh てす
807デフォルトの名無しさん
2024/05/08(水) 06:59:53.68ID:CU7bUsfh 自作アプリに対してSendMessageでWM_APP送ってるけど送れてない(受信できていない)ことがあったので
送信側でGetLastErrorしたら
> 0x05:アクセスが拒否されました。
が取れました。
ここによると
ttps://learn.microsoft.com/ja-jp/windows/win32/api/winuser/nf-winuser-sendmessage
> メッセージが UIPI によってブロックされると、 GetLastError で取得された最後のエラーは 5 (アクセス拒否) に設定されます。
これに該当してる?のか他の原因でアクセス拒否されているのか分からないけど、
受け側のアプリはずっと起動したままで直前までメッセージ受信できていたことと、
その後もアプリが死んでいるようには見えず操作できるし動作ログも残るため、
ただただWM_APPメッセージ受信のみ(?)できなくなっているような状況です。
ここで質問ですが、どういう時に急にメッセージ受信できなくなるのか、エスパーお願いします。
今後の対策としては受信側でChangeWindowMessageFilterを使ってWM_APPを許可すれば良さそうだと当たりは付けていますが・・
権限レベルを弄ったりということは一切していないので、問題の発動条件が知りたいです。
送信側でGetLastErrorしたら
> 0x05:アクセスが拒否されました。
が取れました。
ここによると
ttps://learn.microsoft.com/ja-jp/windows/win32/api/winuser/nf-winuser-sendmessage
> メッセージが UIPI によってブロックされると、 GetLastError で取得された最後のエラーは 5 (アクセス拒否) に設定されます。
これに該当してる?のか他の原因でアクセス拒否されているのか分からないけど、
受け側のアプリはずっと起動したままで直前までメッセージ受信できていたことと、
その後もアプリが死んでいるようには見えず操作できるし動作ログも残るため、
ただただWM_APPメッセージ受信のみ(?)できなくなっているような状況です。
ここで質問ですが、どういう時に急にメッセージ受信できなくなるのか、エスパーお願いします。
今後の対策としては受信側でChangeWindowMessageFilterを使ってWM_APPを許可すれば良さそうだと当たりは付けていますが・・
権限レベルを弄ったりということは一切していないので、問題の発動条件が知りたいです。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で [お断り★]
- 【速報】中国外務省報道官 高市首相発言撤回なければ「断固たる対抗措置」 ★3 [蚤の市★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★7 [ぐれ★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 ★3 [お断り★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★2 [おっさん友の会★]
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪★3
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪★4
- 【岸田悲報】🧑‍⚖「あれっ…そんなにズブズブなの…?」山上裁判で「安倍晋三と統一教会の関係」が次々と明らかに [559744496]
- 【高市早苗】習近平、本気で激おこ [115996789]
- 【朗報】高市経済ブレーン「経済対策の執行で来春には内需が大復活。3月頃利上げ可能に」 [237216734]
- 【高市有事】高市早苗が就任一ヶ月でやったこと一覧wwwwwwwwwwwwwww [603416639]
