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
レス数が900を超えています。1000を超えると表示できなくなるよ。
2021/12/09(木) 21:32:56.60ID:sYLpmj89
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を許可すれば良さそうだと当たりは付けていますが・・
権限レベルを弄ったりということは一切していないので、問題の発動条件が知りたいです。
808デフォルトの名無しさん
2024/05/08(水) 21:35:37.84ID:5PSVmBb2 まず再現性あるのか確認してね
809デフォルトの名無しさん
2024/05/08(水) 21:47:14.20ID:5PSVmBb2 んで、この手のシステムからの意図しない介入問題が起きた場合は、
原則プロセスの再作成で解決するしかない
原則プロセスの再作成で解決するしかない
810デフォルトの名無しさん
2024/05/08(水) 21:51:37.73ID:5PSVmBb2 これはLow Level Hookが外れた時の対処と同じ
恐らくSendMessageの処理が規定時間以内に終わらなかったとかで適当に介入してるんだろう
知らんけど
恐らくSendMessageの処理が規定時間以内に終わらなかったとかで適当に介入してるんだろう
知らんけど
811デフォルトの名無しさん
2024/05/09(木) 08:54:43.22ID:cRZqeFYn 知らんけどで逃げるなw
812デフォルトの名無しさん
2024/05/09(木) 11:45:17.50ID:LBnBOAOP >>808
再現性ないと言っていいのか、手元では再現できず
エラーが出た環境でも普段は問題出てなくて、たまたま問題が出たのに気付いてログを漁ってエラーコードが分かり、
過去ログも遡ると半月前にも一度エラーが出ていたのは分かりました
この問題が出た環境は24時間PC&アプリ起動しっぱなしということらしく、その時点で
何となくお察し感がなくもないですが原因ははっきりさせたいなと
>>809-810
受信側は一切メッセージの受信を感知していない(ログに全く残らない)ようなので
規定時間以内に終わっていないというようなことではないとは思いますが、
何かしらの原因で適当に介入されている感はすごくあります
まあ適当に〜されたとしても、はっきりしたいところです
再現性ないと言っていいのか、手元では再現できず
エラーが出た環境でも普段は問題出てなくて、たまたま問題が出たのに気付いてログを漁ってエラーコードが分かり、
過去ログも遡ると半月前にも一度エラーが出ていたのは分かりました
この問題が出た環境は24時間PC&アプリ起動しっぱなしということらしく、その時点で
何となくお察し感がなくもないですが原因ははっきりさせたいなと
>>809-810
受信側は一切メッセージの受信を感知していない(ログに全く残らない)ようなので
規定時間以内に終わっていないというようなことではないとは思いますが、
何かしらの原因で適当に介入されている感はすごくあります
まあ適当に〜されたとしても、はっきりしたいところです
813デフォルトの名無しさん
2024/05/09(木) 15:19:14.25ID:HEWeaKRP 断片化回避のためにSetFilePointer -> SetEndOfFile -> SetFilePointerサンドイッチってもう古いやり方?
.NETのFileIO実装がSetFileInformationByHandle(FILE_ALLOCATION_INFO)でやってるんだが
.NETのFileIO実装がSetFileInformationByHandle(FILE_ALLOCATION_INFO)でやってるんだが
814デフォルトの名無しさん
2024/05/09(木) 19:16:20.44ID:2Qg6aldP SSDは?
815デフォルトの名無しさん
2024/05/09(木) 21:40:33.69ID:UHyVEDy6 >>811
ちょっと調べてはみたけどstackoverflowでも迷宮入りしててだめだったんよね
SYSTEMプロセスから送れば拒否られないとは思うが
確実にプロセス間通信をしたかったらメッセージよりは名前付きパイプが無難だろうな
ちょっと調べてはみたけどstackoverflowでも迷宮入りしててだめだったんよね
SYSTEMプロセスから送れば拒否られないとは思うが
確実にプロセス間通信をしたかったらメッセージよりは名前付きパイプが無難だろうな
816デフォルトの名無しさん
2024/05/10(金) 23:35:02.72ID:r04xuHSU >>815
迷宮入りまで調べてくれてたんですね
確かにパイプが無難です
今さらコイツを修正するには作り直しレベルなのでもう無理ですがw
とりあえずしばらく放置して色々な環境でログ収集して情報整理します
ありがとうございました
迷宮入りまで調べてくれてたんですね
確かにパイプが無難です
今さらコイツを修正するには作り直しレベルなのでもう無理ですがw
とりあえずしばらく放置して色々な環境でログ収集して情報整理します
ありがとうございました
817デフォルトの名無しさん
2024/05/10(金) 23:49:50.70ID:irdjP1bw >>807
再現性はともかくとして、SendMessageが途中から拒否られる事象がOSのどのバージョンで発生したか書いといてくれると嬉しい
再現性はともかくとして、SendMessageが途中から拒否られる事象がOSのどのバージョンで発生したか書いといてくれると嬉しい
818デフォルトの名無しさん
2024/05/11(土) 03:02:04.26ID:7XNHipLd >>817
どうもすみません
Windows11 home 23H2です
ちょうど今おかしな環境のPCがまたおかしくなっているようなので調べていましたが、
受信側プロセスが管理者特権に変更されているようで、これが原因ですね
送信側は管理者特権は付与されていませんが、送信側プロセスから受信側プロセスを
起動していますから、最初は特権が付与されていないはず・・・
ということでどちらのプロセスも再起動させたところ、どちらも標準ユーザーになっていました
explorerからexeプロパティを見ても管理者権限はチェックされていないようです
意図せず途中で管理者特権が付与される可能性はあるのでしょうか?
(プログラム的にはそんなことしているつもりはもちろん無いですが)
どうもすみません
Windows11 home 23H2です
ちょうど今おかしな環境のPCがまたおかしくなっているようなので調べていましたが、
受信側プロセスが管理者特権に変更されているようで、これが原因ですね
送信側は管理者特権は付与されていませんが、送信側プロセスから受信側プロセスを
起動していますから、最初は特権が付与されていないはず・・・
ということでどちらのプロセスも再起動させたところ、どちらも標準ユーザーになっていました
explorerからexeプロパティを見ても管理者権限はチェックされていないようです
意図せず途中で管理者特権が付与される可能性はあるのでしょうか?
(プログラム的にはそんなことしているつもりはもちろん無いですが)
819デフォルトの名無しさん
2024/05/11(土) 12:31:06.19ID:PynvVCIt 無意識にそんな特権付与されたら怖すぎるがなw
システムが一時的に特殊な状態にしてるんじゃないの
システムが一時的に特殊な状態にしてるんじゃないの
820デフォルトの名無しさん
2024/05/13(月) 00:51:53.26ID:UH9hVJYb APIの先で起動されるスレッド(OSが起動する)が管理者特権付きで
それがアクティブな瞬間はプロセスが管理者特権付きに見えて、
そんなタイミングのプロセスに一般ユーザがメッセージ送ると、
管理者様に対して頭が高いぞってアクセスデナイド。
とか想像してみた。
それがアクティブな瞬間はプロセスが管理者特権付きに見えて、
そんなタイミングのプロセスに一般ユーザがメッセージ送ると、
管理者様に対して頭が高いぞってアクセスデナイド。
とか想像してみた。
821デフォルトの名無しさん
2024/05/13(月) 02:44:07.73ID:eZXBgDRS 818です
ログを見ると、一度メッセージ受信できなくなるとずっと受信できていないようです
管理者特権が付いているのを確認したのはタスクマネージャでの目視ですが、
見たところずっと特権がついているのでタイミングの問題ではなく、何かしらの拍子で特権がついたまま
という感じですね
今のところ、24時間起動したまま使い続けていますがあれから特権はついていません
特権を必要とするようなコードを書いたことない(つもり)なので、原因にたどり着くのは中々難しい状況です
例えば、どんなことをすると特権が付与される(UIもなく勝手に?)のでしょう?
ログを見ると、一度メッセージ受信できなくなるとずっと受信できていないようです
管理者特権が付いているのを確認したのはタスクマネージャでの目視ですが、
見たところずっと特権がついているのでタイミングの問題ではなく、何かしらの拍子で特権がついたまま
という感じですね
今のところ、24時間起動したまま使い続けていますがあれから特権はついていません
特権を必要とするようなコードを書いたことない(つもり)なので、原因にたどり着くのは中々難しい状況です
例えば、どんなことをすると特権が付与される(UIもなく勝手に?)のでしょう?
822デフォルトの名無しさん
2024/05/16(木) 19:26:12.96ID:s6fDlAb8 心当たりが無いなら今月のCVE-2024-30051だとか特権の昇格の脆弱性のどれかに引っかかってる可能性あり
823デフォルトの名無しさん
2024/05/18(土) 14:21:00.21ID:u20XKbPO >>813
自己レスだけどSetFileInformationByHandle(hFile, FileAllocationInfo...)でやるとサイズが小さい場合にMFT内にデータ埋め込んで完結する場合でも1セクタ確保されてしまうようなので旧来の方法でやる方が無難だった
自己レスだけどSetFileInformationByHandle(hFile, FileAllocationInfo...)でやるとサイズが小さい場合にMFT内にデータ埋め込んで完結する場合でも1セクタ確保されてしまうようなので旧来の方法でやる方が無難だった
824デフォルトの名無しさん
2024/05/21(火) 10:59:49.66ID:CZsnB0Ll >>813
埋め込みサイズ上限を上回る新規ファイルを作る場合ならハンドル作成時にアロケーションサイズも同時指定する方が良さそう
埋め込みサイズ上限を上回る新規ファイルを作る場合ならハンドル作成時にアロケーションサイズも同時指定する方が良さそう
825デフォルトの名無しさん
2024/05/25(土) 11:34:53.77ID:IsAA9ZVh826デフォルトの名無しさん
2024/05/29(水) 17:30:16.76ID:5SDO0AId リストビューで範囲選択したときの青い枠の色や内部の半透明な色の値は、APIで取得できるのでしょうか
827デフォルトの名無しさん ころころ
2024/05/29(水) 18:37:40.98ID:tN3gYMey 出来るよ
828デフォルトの名無しさん
2024/05/29(水) 18:43:52.23ID:tN3gYMey GetSysColor
829デフォルトの名無しさん
2024/05/29(水) 18:52:44.95ID:uKjwQH9U この辺りlinuxやMacのWMとかと違って有る程度の値の取得変更できるのはWindowsの強みだったよな
830デフォルトの名無しさん
2024/05/29(水) 19:04:09.64ID:5SDO0AId831デフォルトの名無しさん
2024/05/29(水) 19:05:11.69ID:1pytebYy 他スレでスクリーンショットのマルチポストがあるけど、加えてコントロールの色を取得か
AIに食わせるUI Automation学習データを整備してるのかな
AIに食わせるUI Automation学習データを整備してるのかな
832デフォルトの名無しさん
2024/05/30(木) 16:56:56.15ID:32XGh5Dj 半透明じゃなくて字と地の色を反転させてるだけだろ
833デフォルトの名無しさん
2024/05/30(木) 21:32:57.61ID:As0oayev >>832
XPの頃からある範囲選択時の半透明の青なのですが
XPの頃からある範囲選択時の半透明の青なのですが
834デフォルトの名無しさん
2024/05/30(木) 21:38:53.94ID:ScAYlfUJ >>833
プログラム組んでるのなら自分で逆算しろ
プログラム組んでるのなら自分で逆算しろ
835デフォルトの名無しさん
2024/05/30(木) 21:44:25.79ID:As0oayev836デフォルトの名無しさん
2024/05/31(金) 08:56:42.01ID:UXfkVjV8 稀によく自分で手を動かすのと人に訊く比率がバグってる奴がいるよな
本人は自覚があるから分散してるつもりだろうけど一回そう思われたら終わりなんだよ
職場で塩対応されてるんだろうな
本人は自覚があるから分散してるつもりだろうけど一回そう思われたら終わりなんだよ
職場で塩対応されてるんだろうな
837デフォルトの名無しさん
2024/05/31(金) 13:33:58.54ID:bH8oOxQj >>835
GetThemeColor じゃだめ?
GetThemeColor じゃだめ?
838デフォルトの名無しさん
2024/05/31(金) 15:08:47.69ID:b6j7bQai COLOR_HIGHLIGHTとCOLOR_HIGHLIGHTTEXTじゃないの?
839デフォルトの名無しさん
2024/06/27(木) 10:21:37.70ID:mIdqOGxG Chromeや秀丸系製品で、タブをウィンドウ外にドラッグすると、別ウィンドウに分割できるのは、
頑張ればプロセス起動で実装できるような気もしますが、
さらに別のウィンドウの中のタブ群に移動できるのは、魔法な気がしますよね。
別プロセスの中にタブをごっそり移動するというのは、難しい気が。
どうも、画面の各タブごとに最初からプロセス起動しているようですが。
Wzエディタとか、複数立ち上げても異なるプロセス間のタブ移動はできないようですが、
これは、ウィンドウ=プロセスだからですよね。
こういうのはWPFでは作れないと思うので、今となってはこのあたりがWin32APIの将来性?
頑張ればプロセス起動で実装できるような気もしますが、
さらに別のウィンドウの中のタブ群に移動できるのは、魔法な気がしますよね。
別プロセスの中にタブをごっそり移動するというのは、難しい気が。
どうも、画面の各タブごとに最初からプロセス起動しているようですが。
Wzエディタとか、複数立ち上げても異なるプロセス間のタブ移動はできないようですが、
これは、ウィンドウ=プロセスだからですよね。
こういうのはWPFでは作れないと思うので、今となってはこのあたりがWin32APIの将来性?
840デフォルトの名無しさん
2024/06/27(木) 11:12:44.44ID:dd5BD0xO SetParent
841デフォルトの名無しさん
2024/06/27(木) 11:13:43.84ID:n/nJ5fKa >>839
ドロップされたらドロップ元が自分のアプリと確認できればタブ生成して、データを引き取って終わりで駄目?
ドロップされたらドロップ元が自分のアプリと確認できればタブ生成して、データを引き取って終わりで駄目?
842デフォルトの名無しさん
2024/06/27(木) 11:15:48.39ID:h+EH+DLv Win32APIでゴリゴリ作ることもできるけど
既存の仕組みを使うならOLEを検討すべきかも
既存の仕組みを使うならOLEを検討すべきかも
843デフォルトの名無しさん
2024/06/27(木) 11:21:59.93ID:OTNDZ+yC >>839
将来性も何も30年以上前から変わらない枯れた話だよ
将来性も何も30年以上前から変わらない枯れた話だよ
844デフォルトの名無しさん
2024/06/27(木) 13:20:20.40ID:mIdqOGxG 異なるウィンドウへタブをドラッグされたときに、ファイルを開きなおすというのは考えたんですけれど、
アンドゥとか、そもそも保存してないデータとかもあるから、案外、難しいんじゃないかと……
秀丸はファイルを開くとプロセス増えてるし。
Wzエディタはファイルを開くたびに増えないけれど、タブの結合に制約が発生するのかと。
Chromeもタブを開くたびにプロセス増えるけれど、これはサンドボックス関係の何かかもしれないですね……
アンドゥとか、そもそも保存してないデータとかもあるから、案外、難しいんじゃないかと……
秀丸はファイルを開くとプロセス増えてるし。
Wzエディタはファイルを開くたびに増えないけれど、タブの結合に制約が発生するのかと。
Chromeもタブを開くたびにプロセス増えるけれど、これはサンドボックス関係の何かかもしれないですね……
845デフォルトの名無しさん
2024/06/27(木) 15:30:22.02ID:FNjZgfw1 >>840
ここに答えが出てるのにみんなスルーかよw
ここに答えが出てるのにみんなスルーかよw
846デフォルトの名無しさん
2024/06/27(木) 15:52:30.68ID:OTNDZ+yC ベストアンサーはスルーしてさしあげるのが5chの掟
847デフォルトの名無しさん
2024/06/27(木) 19:09:13.89ID:mIdqOGxG えっ、ということは、タブをウィンドウ外にドラッグしたら、新しいプロセスを起動して、SetParent。
ウィンドウAからウィンドウBにタブをドラッグしたら、BにSetParentということ?
それだけで行けるのかなぁ。
OLEの方は確かにMFCを使っていればできそうな気もするけれど、
むむむ……
ウィンドウAからウィンドウBにタブをドラッグしたら、BにSetParentということ?
それだけで行けるのかなぁ。
OLEの方は確かにMFCを使っていればできそうな気もするけれど、
むむむ……
848デフォルトの名無しさん
2024/06/27(木) 23:00:25.56ID:zz1D+M6F849デフォルトの名無しさん
2024/06/27(木) 23:19:11.01ID:Ks3kYOUo850デフォルトの名無しさん
2024/06/29(土) 15:00:51.88ID:AKI9JxZ5 WPFはマイクソが適当に用意したWin32APIからだいぶ退化したソリューションなんよ
欠損障害者や痴呆老人を介護していくぐらいの覚悟が必要とマイクソは言っている
欠損障害者や痴呆老人を介護していくぐらいの覚悟が必要とマイクソは言っている
851デフォルトの名無しさん
2024/06/30(日) 11:07:40.79ID:L3wyoKVN らくらくホンですねわかります
852デフォルトの名無しさん
2024/06/30(日) 13:46:38.98ID:iWdyx4cd なんで1ウィンドウ1プロセスにこだわるのかね
853デフォルトの名無しさん
2024/06/30(日) 13:52:21.57ID:dBsdaOes さらに、>>841 も書いてるけど、元のタブじゃなくても同じ内容を表示すればいいし。
854デフォルトの名無しさん
2024/07/02(火) 16:38:11.96ID:ilJEPICb855デフォルトの名無しさん
2024/07/02(火) 21:04:03.62ID:oj6vCWdL >>854
必要ならundoの情報も含んだ編集中のデータを渡すだけだろう
プロセス間通信するとか作業用ファイルを介すとかドラッグ&ドラッグのデータに含めるとかやりようはある
↑は別プロセス前提で書いたけど、同一プロセスの別ウィンドウ同士だったらもっと簡単だね
必要ならundoの情報も含んだ編集中のデータを渡すだけだろう
プロセス間通信するとか作業用ファイルを介すとかドラッグ&ドラッグのデータに含めるとかやりようはある
↑は別プロセス前提で書いたけど、同一プロセスの別ウィンドウ同士だったらもっと簡単だね
856デフォルトの名無しさん
2024/07/03(水) 00:20:10.87ID:swtC0eU3 ウィンドウが何処に表示されようが何も変わらない事が分からないやつが居るな…
857デフォルトの名無しさん
2024/07/03(水) 13:58:35.19ID:B8cPwUiK いや、でも、タブが5個あって、ウィンドウ枠が2つだったとするじゃん。
片方に2つ、もう片方に3つのタブがあるような状況。
起動時のプロセスのウィンドウ枠の中で情報が保持されていて、
反対側のウィンドウ枠の中で表示されていても良いっていうこと?
その場合、ユーザが片方のウィンドウだけバツボタンで終了しようとしたときに、
難しいことになるような気が……
片方に2つ、もう片方に3つのタブがあるような状況。
起動時のプロセスのウィンドウ枠の中で情報が保持されていて、
反対側のウィンドウ枠の中で表示されていても良いっていうこと?
その場合、ユーザが片方のウィンドウだけバツボタンで終了しようとしたときに、
難しいことになるような気が……
858デフォルトの名無しさん
2024/07/03(水) 15:50:06.42ID:TWMTGehv ひといないねここ
859デフォルトの名無しさん
2024/07/03(水) 18:49:37.33ID:2Xqs+u0R gpt4の賢さがすごすぎてなー
お前らの対応してると空しくなるよ
時間がもったいない
お前らの対応してると空しくなるよ
時間がもったいない
860デフォルトの名無しさん
2024/07/03(水) 20:18:25.91ID:fDE4NTPp >>857
ウィンドウ枚数を数えて最後の一枚だったらPostQuitMessage()するだけだろ
ウィンドウ枚数を数えて最後の一枚だったらPostQuitMessage()するだけだろ
861デフォルトの名無しさん
2024/07/03(水) 20:25:59.32ID:pYi5R8u1 >>857
情報も一緒に別プロセスに移動させれば済む話だよ
情報も一緒に別プロセスに移動させれば済む話だよ
862デフォルトの名無しさん
2024/07/04(木) 07:12:03.53ID:ak68oAE8863デフォルトの名無しさん
2024/07/04(木) 07:21:22.72ID:PxI4bFfe UIを持たない枚数を数えるだけのプロセスが居たっていい
がミューテックス辺りで済みそうだ
がミューテックス辺りで済みそうだ
864デフォルトの名無しさん
2024/07/04(木) 22:14:35.16ID:eTz6OUM0 タブの情報をプロセスから切り離して管理すればよいのでは
865デフォルトの名無しさん
2024/07/04(木) 22:43:06.74ID:ak68oAE8 SetWindowLongでウィンドウに固有のデータを書き込む方法を知らんのかい
866デフォルトの名無しさん
2024/07/04(木) 23:26:19.64ID:vqT9K1Uf 根本的にWindowsプログラミングを理解してないんだな…
Windowsに限った話しじゃないが、Window Systemのプログラミングはメッセージループというのが有って、そこに全ウィンドウ(ボタンなんかのコントロール全部)のイベントが通知される
アプリ側は通知されたイベントの内容(ボタン押されたや再描画など)とウィンドウIDからすべき処理を判別して実行する
プロセスは当然1つで良いし、メッセージループを複数プロセスで行うなんて絶対しない
Windowsに限った話しじゃないが、Window Systemのプログラミングはメッセージループというのが有って、そこに全ウィンドウ(ボタンなんかのコントロール全部)のイベントが通知される
アプリ側は通知されたイベントの内容(ボタン押されたや再描画など)とウィンドウIDからすべき処理を判別して実行する
プロセスは当然1つで良いし、メッセージループを複数プロセスで行うなんて絶対しない
867デフォルトの名無しさん
2024/07/04(木) 23:35:12.63ID:vqT9K1Uf 取りあえずぺゾルドは必読だ
Win32を扱ってるのは第5版迄だがもう新品じゃ手に入らない
MSはタダで読めるようにすべきなんだよな
今でも役に立つのに絶版のまま放置とか、日本法人仕事してくれ!
Win32を扱ってるのは第5版迄だがもう新品じゃ手に入らない
MSはタダで読めるようにすべきなんだよな
今でも役に立つのに絶版のまま放置とか、日本法人仕事してくれ!
868デフォルトの名無しさん
2024/07/05(金) 00:19:08.16ID:ii7HQe4f ナンシークラッツ本と並んで殿堂入りするべきだよな
869デフォルトの名無しさん
2024/07/10(水) 08:58:31.30ID:OQuJq/Fg Win32というかDirextXなんだけどd3d9.dllを用いるゲームなんかを起動するとEvent Traceが開始されるのは自分だけ?
d3d9.dll + 7E710がboolフラグのgetterで、結果が1だと1000秒毎にntdll.RtlPublishWnfStateDataが呼ばれてEtwRTGraphicsPerfMonitorSession.etlが書き込まれる
上記のboolフラグはd3d9.Direct3DCreate9Exのルーチン内で1にセットされることまでは突き止められたけど、なぜ1にセットされるのかの究明は面倒で投げ出してしまった
d3d9.dll + 7E710がboolフラグのgetterで、結果が1だと1000秒毎にntdll.RtlPublishWnfStateDataが呼ばれてEtwRTGraphicsPerfMonitorSession.etlが書き込まれる
上記のboolフラグはd3d9.Direct3DCreate9Exのルーチン内で1にセットされることまでは突き止められたけど、なぜ1にセットされるのかの究明は面倒で投げ出してしまった
870デフォルトの名無しさん
2024/07/10(水) 09:02:10.97ID:OQuJq/Fg フラグを見てトレースするか否かを変えてる訳だから恐らくはレジストリとかでグローバルな設定が可能なんだとは思うけど英語でググっても全く情報がない
871デフォルトの名無しさん
2024/07/10(水) 14:22:20.98ID:pzzWoCSk manifestじゃね?
872デフォルトの名無しさん
2024/07/10(水) 16:48:04.42ID:2GPD5dJ4873 警備員[Lv.2][新芽]
2024/07/12(金) 06:37:17.61ID:rAnXXRGQ !donguri
874デフォルトの名無しさん
2024/07/12(金) 07:55:37.97ID:R+7FAFYS どんぐりとか邪魔なだけ
875デフォルトの名無しさん
2024/07/26(金) 16:31:31.09ID:s0039+ok exe化ω
876デフォルトの名無しさん
2024/08/03(土) 11:32:27.96ID:8ujXWrcK マルチディスプレイ環境でディスプレイごとに壁紙設定したいんだけど
SystemParametersInfoだと全部同じ壁紙設定されちゃう
どうしたらいいの?
SystemParametersInfoだと全部同じ壁紙設定されちゃう
どうしたらいいの?
877デフォルトの名無しさん
2024/08/03(土) 15:09:24.69ID:oR+oLHPm878876
2024/08/04(日) 06:02:53.80ID:SpOe1Ove あれこれ調べた結果、COMインターフェース使って実現できた
スレ汚し失礼しますた
スレ汚し失礼しますた
879デフォルトの名無しさん
2024/08/05(月) 23:55:54.01ID:jWZSSuTx https://learn.microsoft.com/ja-jp/windows/win32/printdocs/printdocs-printing
いまだにGDI Print API使っているんだが移行するもんなんかね
COMめんどい
いまだにGDI Print API使っているんだが移行するもんなんかね
COMめんどい
880デフォルトの名無しさん
2024/08/06(火) 08:51:34.33ID:cEvufDXQ それはいまだに使ってるんじゃなくて互換性のために残してあるだけやろ
Vista以降の環境で作るならXPSドキュメントAPI検討しろって書いてあるじゃん
Vista以降の環境で作るならXPSドキュメントAPI検討しろって書いてあるじゃん
881デフォルトの名無しさん
2024/08/06(火) 12:29:33.52ID:/JDWd2CP XPSって息してるの?
882デフォルトの名無しさん
2024/08/06(火) 13:32:04.54ID:geBAoTM5 してない
883デフォルトの名無しさん
2024/08/07(水) 23:11:59.28ID:QAQ+ujSz https://learn.microsoft.com/ja-jp/windows/win32/printdocs/xps-printing
[XPS Print API はサポートされていないため、今後変更または使用できない場合があります。 クライアント アプリケーションでは、代わりに 印刷ドキュメント パッケージ API を使用する必要があります。
だと
[XPS Print API はサポートされていないため、今後変更または使用できない場合があります。 クライアント アプリケーションでは、代わりに 印刷ドキュメント パッケージ API を使用する必要があります。
だと
884デフォルトの名無しさん
2024/08/08(木) 08:52:42.58ID:RW+0CWti 印刷ドキュメントパッケージってストアアプリじゃなかったっけ
885デフォルトの名無しさん
2024/08/26(月) 20:43:00.02ID:Cfp+G9iJ MFCやCOM/ATLの話題もここでいいの?
スレないよな
スレないよな
886デフォルトの名無しさん
2024/08/26(月) 22:39:11.42ID:a3TTNcMK まあ大雑把にアンマネージドな話題ならいいんじゃね
MFCの話なんてここでされても俺はスルーするがな
MFCの話なんてここでされても俺はスルーするがな
887デフォルトの名無しさん
2024/08/27(火) 08:48:29.94ID:Dr3hMOC8 MFCまだ息してるの?
だから、最近EchoAPIを使い始めて、デバッグプロセスが本当に効率化されました。
891デフォルトの名無しさん
2024/11/19(火) 14:54:25.41ID:9IiXc5Vb まるちんこしね
892デフォルトの名無しさん
2024/11/20(水) 11:20:37.14ID:W8mVvsIh 新規にMFC使って何かを作ろうとするのは、アマチュアならありだが仕事ではもうないかな
.NETが普及する前、それこそVB6時台は必須だったけど
.NETが普及する前、それこそVB6時台は必須だったけど
893デフォルトの名無しさん
2024/11/21(木) 08:42:13.45ID:Yfd1e91z 別に必須ではない
EchoAPIをAPIシミュレーションに使用し始めたところ、フルバックエンド統合前にアプリの機能をテストするのに非常に役立ってる
897デフォルトの名無しさん
2024/12/06(金) 14:09:41.63ID:L9wmMkNC IsWindowVisibleは親ウィンドウの状態も再帰的にチェックしてくれるのに、
IsWindowEnabledは自身の状態しかチェックしてくれないようです
対象のウィンドウがマウス操作などを行える状態かをチェックしたいですが、
IsWindowEnabledで親ウィンドウの状態も参照するバージョンはあるのでしょうか?
IsWindowEnabledは自身の状態しかチェックしてくれないようです
対象のウィンドウがマウス操作などを行える状態かをチェックしたいですが、
IsWindowEnabledで親ウィンドウの状態も参照するバージョンはあるのでしょうか?
898デフォルトの名無しさん
2024/12/06(金) 14:43:02.52ID:L9wmMkNC すいません上に全く同じ質問がありました
失礼しました
失礼しました
899デフォルトの名無しさん
2024/12/12(木) 22:09:35.75ID:atnAaKGF ステータスバーを分割した場合
WM_SIZEの中でサイズを送信すると思うんだけど
|中身に合わせる|中身に合わせる|伸びーる|中身に合わせる|中身に合わせる|
みたいな場合はどうやって計算するの?
WM_SIZEの中でサイズを送信すると思うんだけど
|中身に合わせる|中身に合わせる|伸びーる|中身に合わせる|中身に合わせる|
みたいな場合はどうやって計算するの?
900デフォルトの名無しさん
2024/12/12(木) 22:27:50.07ID:j5Bpxje0 中身に合わせるのとこは自分で中身に合わせて
野ビールのとこは放置やね
計算とか無い
野ビールのとこは放置やね
計算とか無い
901デフォルトの名無しさん
2024/12/12(木) 22:44:16.57ID:trovn3Vo ステータスバーのハンドル使ってDCとフォントを取り寄せる
んでDrawTextを空撃ちすると文字列に必要な幅が分かる。
んでDrawTextを空撃ちすると文字列に必要な幅が分かる。
902デフォルトの名無しさん
2024/12/21(土) 23:35:34.44ID:37tGDg2N IsWindowVisible
IsWindowEnabled
EnableWindow
のダイアログ版教えて下さい
IsWindowEnabled
EnableWindow
のダイアログ版教えて下さい
903デフォルトの名無しさん
2024/12/21(土) 23:44:47.64ID:VA9QPMmD ダイアログも只のWindowっす
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★6 [BFU★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 ★2 [蚤の市★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★6 [ぐれ★]
- 中国側が首相答弁の撤回要求、日本側拒否★3 [夜のけいちゃん★]
- 被爆者は「怒りが腹の底から湧いてくる」高市首相“非核三原則見直し報道”に被爆地で懸念や憤りの声《長崎》 [1ゲットロボ★]
- 「沖縄は日本ではない」とは言ってなかった。中国メディアのインタビューを韓国紙が誇張して報道か [夜のけいちゃん★]
- 【悲報】三越伊勢丹「おーい、インバウンドが居なくなったらお前ら代わりに店来いよ」ネトウヨ「そんな金あるわけねーだろ、ボケ!」 [616817505]
- ホテル業界、高市のせいで中国から大量キャンセル 「大変厳しい状態。一刻も早い収束を願います」 [271912485]
- 【正論】玉木雄一郎「高市さんの答弁は米軍が攻撃を受けた場合を前提としており、撤回するのは難しい」特定野党を完全論破 [519511584]
- おっぱい舐めさせて
- 👩「諸事情でミーアキャット飼えなくなったから誰か20万以上で買って😢」 [394133584]
- 【悲報】ネトウヨ「中国人観光客が減って観光しやすくなって良かったじゃん。俺は代わりに旅行しないけど」 [616817505]
