X


Win32API質問箱 Build127

2021/12/09(木) 21:32:56.60ID:sYLpmj89
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/
843デフォルトの名無しさん
垢版 |
2024/06/27(木) 11:21:59.93ID:OTNDZ+yC
>>839
将来性も何も30年以上前から変わらない枯れた話だよ
2024/06/27(木) 13:20:20.40ID:mIdqOGxG
異なるウィンドウへタブをドラッグされたときに、ファイルを開きなおすというのは考えたんですけれど、
アンドゥとか、そもそも保存してないデータとかもあるから、案外、難しいんじゃないかと……
秀丸はファイルを開くとプロセス増えてるし。
Wzエディタはファイルを開くたびに増えないけれど、タブの結合に制約が発生するのかと。
Chromeもタブを開くたびにプロセス増えるけれど、これはサンドボックス関係の何かかもしれないですね……
2024/06/27(木) 15:30:22.02ID:FNjZgfw1
>>840
ここに答えが出てるのにみんなスルーかよw
2024/06/27(木) 15:52:30.68ID:OTNDZ+yC
ベストアンサーはスルーしてさしあげるのが5chの掟
2024/06/27(木) 19:09:13.89ID:mIdqOGxG
えっ、ということは、タブをウィンドウ外にドラッグしたら、新しいプロセスを起動して、SetParent。
ウィンドウAからウィンドウBにタブをドラッグしたら、BにSetParentということ?
それだけで行けるのかなぁ。
OLEの方は確かにMFCを使っていればできそうな気もするけれど、
むむむ……
2024/06/27(木) 23:00:25.56ID:zz1D+M6F
>>847
SetParentにNULLを渡すだけでしょ
それで独立したWindowになる
2024/06/27(木) 23:19:11.01ID:Ks3kYOUo
>>839
AvalonDockと言うWPFでそういうのを実現するライブラリがあるよ
別プロセスは起動してない
2024/06/29(土) 15:00:51.88ID:AKI9JxZ5
WPFはマイクソが適当に用意したWin32APIからだいぶ退化したソリューションなんよ
欠損障害者や痴呆老人を介護していくぐらいの覚悟が必要とマイクソは言っている
851デフォルトの名無しさん
垢版 |
2024/06/30(日) 11:07:40.79ID:L3wyoKVN
らくらくホンですねわかります
2024/06/30(日) 13:46:38.98ID:iWdyx4cd
なんで1ウィンドウ1プロセスにこだわるのかね
2024/06/30(日) 13:52:21.57ID:dBsdaOes
さらに、>>841 も書いてるけど、元のタブじゃなくても同じ内容を表示すればいいし。
2024/07/02(火) 16:38:11.96ID:ilJEPICb
>>853
保存してない場合は?
undoはどうするの?
2024/07/02(火) 21:04:03.62ID:oj6vCWdL
>>854
必要ならundoの情報も含んだ編集中のデータを渡すだけだろう
プロセス間通信するとか作業用ファイルを介すとかドラッグ&ドラッグのデータに含めるとかやりようはある
↑は別プロセス前提で書いたけど、同一プロセスの別ウィンドウ同士だったらもっと簡単だね
2024/07/03(水) 00:20:10.87ID:swtC0eU3
ウィンドウが何処に表示されようが何も変わらない事が分からないやつが居るな…
2024/07/03(水) 13:58:35.19ID:B8cPwUiK
いや、でも、タブが5個あって、ウィンドウ枠が2つだったとするじゃん。
片方に2つ、もう片方に3つのタブがあるような状況。
起動時のプロセスのウィンドウ枠の中で情報が保持されていて、
反対側のウィンドウ枠の中で表示されていても良いっていうこと?

その場合、ユーザが片方のウィンドウだけバツボタンで終了しようとしたときに、
難しいことになるような気が……
2024/07/03(水) 15:50:06.42ID:TWMTGehv
ひといないねここ
2024/07/03(水) 18:49:37.33ID:2Xqs+u0R
gpt4の賢さがすごすぎてなー
お前らの対応してると空しくなるよ
時間がもったいない
2024/07/03(水) 20:18:25.91ID:fDE4NTPp
>>857
ウィンドウ枚数を数えて最後の一枚だったらPostQuitMessage()するだけだろ
2024/07/03(水) 20:25:59.32ID:pYi5R8u1
>>857
情報も一緒に別プロセスに移動させれば済む話だよ
2024/07/04(木) 07:12:03.53ID:ak68oAE8
>>857
全然別の問題になってるじゃん
他のウィンドウにタブを移動したら元のタブは消すんでしょ?
それで複数ウィンドウで一つのファイルを表示するのとは別の問題じゃん
2024/07/04(木) 07:21:22.72ID:PxI4bFfe
UIを持たない枚数を数えるだけのプロセスが居たっていい
がミューテックス辺りで済みそうだ
2024/07/04(木) 22:14:35.16ID:eTz6OUM0
タブの情報をプロセスから切り離して管理すればよいのでは
2024/07/04(木) 22:43:06.74ID:ak68oAE8
SetWindowLongでウィンドウに固有のデータを書き込む方法を知らんのかい
2024/07/04(木) 23:26:19.64ID:vqT9K1Uf
根本的にWindowsプログラミングを理解してないんだな…
Windowsに限った話しじゃないが、Window Systemのプログラミングはメッセージループというのが有って、そこに全ウィンドウ(ボタンなんかのコントロール全部)のイベントが通知される
アプリ側は通知されたイベントの内容(ボタン押されたや再描画など)とウィンドウIDからすべき処理を判別して実行する
プロセスは当然1つで良いし、メッセージループを複数プロセスで行うなんて絶対しない
2024/07/04(木) 23:35:12.63ID:vqT9K1Uf
取りあえずぺゾルドは必読だ
Win32を扱ってるのは第5版迄だがもう新品じゃ手に入らない
MSはタダで読めるようにすべきなんだよな
今でも役に立つのに絶版のまま放置とか、日本法人仕事してくれ!
2024/07/05(金) 00:19:08.16ID:ii7HQe4f
ナンシークラッツ本と並んで殿堂入りするべきだよな
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にセットされるのかの究明は面倒で投げ出してしまった
2024/07/10(水) 09:02:10.97ID:OQuJq/Fg
フラグを見てトレースするか否かを変えてる訳だから恐らくはレジストリとかでグローバルな設定が可能なんだとは思うけど英語でググっても全く情報がない
2024/07/10(水) 14:22:20.98ID:pzzWoCSk
manifestじゃね?
2024/07/10(水) 16:48:04.42ID:2GPD5dJ4
ここ
https://learn.microsoft.com/ja-jp/windows/win32/perfctrs/error-handling-in-the-dll
873 警備員[Lv.2][新芽]
垢版 |
2024/07/12(金) 06:37:17.61ID:rAnXXRGQ
!donguri
2024/07/12(金) 07:55:37.97ID:R+7FAFYS
どんぐりとか邪魔なだけ
875デフォルトの名無しさん
垢版 |
2024/07/26(金) 16:31:31.09ID:s0039+ok
exe化ω
2024/08/03(土) 11:32:27.96ID:8ujXWrcK
マルチディスプレイ環境でディスプレイごとに壁紙設定したいんだけど
SystemParametersInfoだと全部同じ壁紙設定されちゃう
どうしたらいいの?
2024/08/03(土) 15:09:24.69ID:oR+oLHPm
15年前の情報
https://smdn.jp/programming/tips/setdeskwallpaper_multidisplay/
878876
垢版 |
2024/08/04(日) 06:02:53.80ID:SpOe1Ove
あれこれ調べた結果、COMインターフェース使って実現できた
スレ汚し失礼しますた
2024/08/05(月) 23:55:54.01ID:jWZSSuTx
https://learn.microsoft.com/ja-jp/windows/win32/printdocs/printdocs-printing
いまだにGDI Print API使っているんだが移行するもんなんかね
COMめんどい
2024/08/06(火) 08:51:34.33ID:cEvufDXQ
それはいまだに使ってるんじゃなくて互換性のために残してあるだけやろ
Vista以降の環境で作るならXPSドキュメントAPI検討しろって書いてあるじゃん
2024/08/06(火) 12:29:33.52ID:/JDWd2CP
XPSって息してるの?
2024/08/06(火) 13:32:04.54ID:geBAoTM5
してない
2024/08/07(水) 23:11:59.28ID:QAQ+ujSz
https://learn.microsoft.com/ja-jp/windows/win32/printdocs/xps-printing
[XPS Print API はサポートされていないため、今後変更または使用できない場合があります。 クライアント アプリケーションでは、代わりに 印刷ドキュメント パッケージ API を使用する必要があります。
だと
2024/08/08(木) 08:52:42.58ID:RW+0CWti
印刷ドキュメントパッケージってストアアプリじゃなかったっけ
2024/08/26(月) 20:43:00.02ID:Cfp+G9iJ
MFCやCOM/ATLの話題もここでいいの?
スレないよな
2024/08/26(月) 22:39:11.42ID:a3TTNcMK
まあ大雑把にアンマネージドな話題ならいいんじゃね
MFCの話なんてここでされても俺はスルーするがな
2024/08/27(火) 08:48:29.94ID:Dr3hMOC8
MFCまだ息してるの?
2024/11/15(金) 07:34:23.07ID:az6uMl7w
!donguri
2024/11/16(土) 12:36:24.91ID:tOcVq+tO
!donguri
890デフォルトの名無しさん
垢版 |
2024/11/18(月) 20:33:45.58ID:a56Gv0Ed?2BP(1000)

だから、最近EchoAPIを使い始めて、デバッグプロセスが本当に効率化されました。
2024/11/19(火) 14:54:25.41ID:9IiXc5Vb
まるちんこしね
2024/11/20(水) 11:20:37.14ID:W8mVvsIh
新規にMFC使って何かを作ろうとするのは、アマチュアならありだが仕事ではもうないかな
.NETが普及する前、それこそVB6時台は必須だったけど
2024/11/21(木) 08:42:13.45ID:Yfd1e91z
別に必須ではない
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。