Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build127
https://mevius.5ch.net/test/read.cgi/tech/1639053176/
Win32API質問箱 Build126
https://mevius.5ch.net/test/read.cgi/tech/1588339011/
Win32API質問箱 Build125
https://mevius.5ch.net/test/read.cgi/tech/1551247748/
■関連スレ
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質問箱 Build128
1デフォルトの名無しさん
2025/03/13(木) 15:59:48.40ID:fUgksTzw2025/03/13(木) 16:00:20.09ID:fUgksTzw
■番外編
WindowsDDK各種についてのスレ
https://mevius.5ch.net/test/read.cgi/tech/1049116134/
D言語 Part35
https://mevius.5ch.net/test/read.cgi/tech/1571979866/
Cygwin + MinGW + GCC 相談室 Part 8
https://mevius.5ch.net/test/read.cgi/tech/1411399211/
WindowsDDK各種についてのスレ
https://mevius.5ch.net/test/read.cgi/tech/1049116134/
D言語 Part35
https://mevius.5ch.net/test/read.cgi/tech/1571979866/
Cygwin + MinGW + GCC 相談室 Part 8
https://mevius.5ch.net/test/read.cgi/tech/1411399211/
2025/03/13(木) 16:01:41.97ID:fUgksTzw
■ネイティブなやつとか
【GUI】wxWidgets(旧wxWindows) その5【サイザー】
https://mevius.5ch.net/test/read.cgi/tech/1270793556/
【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 19
https://mevius.5ch.net/test/read.cgi/tech/1571891527/
●●●●TCL/TKなら俺に聞け 4●●●●
https://mevius.5ch.net/test/read.cgi/tech/1375678740/
【GUI】wxWidgets(旧wxWindows) その5【サイザー】
https://mevius.5ch.net/test/read.cgi/tech/1270793556/
【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 19
https://mevius.5ch.net/test/read.cgi/tech/1571891527/
●●●●TCL/TKなら俺に聞け 4●●●●
https://mevius.5ch.net/test/read.cgi/tech/1375678740/
2025/03/13(木) 16:01:57.24ID:fUgksTzw
■需要あるかしらん
VRプログラム雑談【Unity/UnrealEngine】【HTC Vive/Oculus Rift/その他VR】
https://mevius.5ch.net/test/read.cgi/tech/1478142101/
OpenGL 2.0 専用スレ
https://mevius.5ch.net/test/read.cgi/tech/1126268759/
【boot】nasm【loader】
https://mevius.5ch.net/test/read.cgi/tech/1377053129/
nim
https://mevius.5ch.net/test/read.cgi/tech/1519896738/
Gtkプログラミング on Windows!!!
https://mevius.5ch.net/test/read.cgi/tech/1147024203/
Borland C++ Compiler オ ワ タ
https://mevius.5ch.net/test/read.cgi/tech/1206951221/
VRプログラム雑談【Unity/UnrealEngine】【HTC Vive/Oculus Rift/その他VR】
https://mevius.5ch.net/test/read.cgi/tech/1478142101/
OpenGL 2.0 専用スレ
https://mevius.5ch.net/test/read.cgi/tech/1126268759/
【boot】nasm【loader】
https://mevius.5ch.net/test/read.cgi/tech/1377053129/
nim
https://mevius.5ch.net/test/read.cgi/tech/1519896738/
Gtkプログラミング on Windows!!!
https://mevius.5ch.net/test/read.cgi/tech/1147024203/
Borland C++ Compiler オ ワ タ
https://mevius.5ch.net/test/read.cgi/tech/1206951221/
2025/03/14(金) 05:12:19.22ID:ZiHKtjpU
おつけつ
2025/03/14(金) 09:16:10.18ID:43evLOjO
DirectX SDK ってどれに吸収されたん
2025/03/14(金) 09:24:09.15ID:43evLOjO
2025/03/14(金) 12:59:29.93ID:2AUJtVVl
そこにそのまま、Windows SDKを使用してくださいって書いてあるやろ
2025/03/14(金) 20:34:41.80ID:5DwZxv5w
>>7
Windows SDKに移行されなかった古いD3DX(ユーティリティライブラリ)をどうしても使いたい場合は、
そのレガシーSDKの代わりにNuGetの「Microsoft.DXSDK.D3DX」を使用することが推奨されている
Windows SDKに移行されなかった古いD3DX(ユーティリティライブラリ)をどうしても使いたい場合は、
そのレガシーSDKの代わりにNuGetの「Microsoft.DXSDK.D3DX」を使用することが推奨されている
2025/06/29(日) 12:31:16.41ID:zQA4sk9y
質問なのですが
Q1. timeSetEvent()で(TIME_ONESHOT | TIME_KILL_SYNCHRONOUS)を指定してタイマーイベントを1回発生させた後、
timeKillEvent()することは必須ではない、でOK?
Q2. Q1の状況でtimeKillEvent()を呼んだ場合、0x61というMicrosoftの説明に無い謎の値が返されるんだけどこれは一体……
※ タイマーIDが16とか32とか何であっても実験する限りは常にその値やった。
※ MMSYSERR_INVALPARAM の値(0x0b)とは違う。環境はWindows 10、Visual Studio 2022、SDKのバージョンは10.0。
※ (TIME_PERIODIC | TIME_KILL_SYNCHRONOUS))を指定して繰り返しのタイマーイベントを発生開始後、
timeKillEvent()を2回呼んだときの2回目も同じく0x61が返される。
Q3. Q1の状況で、タイマーイベントIDが仮に16だったとして、タイマーイベント発生「後」にタイマーイベントID 16に対してtimeKillEvent()したとしまつ。
このとき16と言う値が、関係無いタイマーイベントのIDとして再利用されている危険性は無い?
(つまり確率的にtimeKillEvent()がTIMERR_NOERRORを返して成功し、しかし後から生成された無関係なタイマーイベントをkillしてしまうようなことは起きない?)
Q1. timeSetEvent()で(TIME_ONESHOT | TIME_KILL_SYNCHRONOUS)を指定してタイマーイベントを1回発生させた後、
timeKillEvent()することは必須ではない、でOK?
Q2. Q1の状況でtimeKillEvent()を呼んだ場合、0x61というMicrosoftの説明に無い謎の値が返されるんだけどこれは一体……
※ タイマーIDが16とか32とか何であっても実験する限りは常にその値やった。
※ MMSYSERR_INVALPARAM の値(0x0b)とは違う。環境はWindows 10、Visual Studio 2022、SDKのバージョンは10.0。
※ (TIME_PERIODIC | TIME_KILL_SYNCHRONOUS))を指定して繰り返しのタイマーイベントを発生開始後、
timeKillEvent()を2回呼んだときの2回目も同じく0x61が返される。
Q3. Q1の状況で、タイマーイベントIDが仮に16だったとして、タイマーイベント発生「後」にタイマーイベントID 16に対してtimeKillEvent()したとしまつ。
このとき16と言う値が、関係無いタイマーイベントのIDとして再利用されている危険性は無い?
(つまり確率的にtimeKillEvent()がTIMERR_NOERRORを返して成功し、しかし後から生成された無関係なタイマーイベントをkillしてしまうようなことは起きない?)
2025/06/29(日) 12:36:45.41ID:zQA4sk9y
Q1はtimerKillEvent()を呼ばなくともリソースリークなど起きないよねという確認でつ、
2025/06/29(日) 14:00:36.58ID:Wmqo0iMM
timeKillEventは要る
2025/06/29(日) 14:54:32.72ID:zQA4sk9y
>>12
レスdクス、しかしQ1の状況
>timeSetEvent()で(TIME_ONESHOT | TIME_KILL_SYNCHRONOUS)を指定してタイマーイベントを1回発生させた後
でtimeKillEvent()を呼んだら0x61が返されて成功しているようには見えない(Q2)というそこはかとなく疑問が……
TIME_ONESHOTはタイマーイベントIDの寿命がいつまでなのか(イベント発生で破棄なのか、timeKillEvent()を明示的に呼ぶまで生きた状態なのか)がはっきりしなさすぐる印象……
質問してから思いついたのですだが、
やっぱtimeSetEvent()は常にTIME_PERIODIC で使うことにして、ONE SHOTのイベントが欲しかったらイベントハンドラ内でtimeKillEvent()を呼んで1回で止める、
みたいな方がIDの寿命のあいまいさが無くて安牌かもしれん……
実験する限りそうするとイベントハンドラ内のtimeSetEvent()はちゃんと成功(return値がTIMERR_NOERROR (0))して、
なおかつイベントハンドラの呼び出しは1回で止まる(正しくONE SHOT動作となる)ので問題なさげ。
レスdクス、しかしQ1の状況
>timeSetEvent()で(TIME_ONESHOT | TIME_KILL_SYNCHRONOUS)を指定してタイマーイベントを1回発生させた後
でtimeKillEvent()を呼んだら0x61が返されて成功しているようには見えない(Q2)というそこはかとなく疑問が……
TIME_ONESHOTはタイマーイベントIDの寿命がいつまでなのか(イベント発生で破棄なのか、timeKillEvent()を明示的に呼ぶまで生きた状態なのか)がはっきりしなさすぐる印象……
質問してから思いついたのですだが、
やっぱtimeSetEvent()は常にTIME_PERIODIC で使うことにして、ONE SHOTのイベントが欲しかったらイベントハンドラ内でtimeKillEvent()を呼んで1回で止める、
みたいな方がIDの寿命のあいまいさが無くて安牌かもしれん……
実験する限りそうするとイベントハンドラ内のtimeSetEvent()はちゃんと成功(return値がTIMERR_NOERROR (0))して、
なおかつイベントハンドラの呼び出しは1回で止まる(正しくONE SHOT動作となる)ので問題なさげ。
14デフォルトの名無しさん
2025/06/29(日) 20:50:23.96ID:uPw6yEHV >>13
TIME_ONESHOT の場合、イベントが発生したら timeKillEventは不要みたいですね。
timeKillEventですでにkillされたidを指定することになるため TIMERR_NOCANDO(=0x61) を返すようです。
timeKillEvent(適当な値)とすると、TIMERR_NOCANDOが返るので、おそらくtimeKillEventのドキュメントが間違っていると思われます。
TIME_ONESHOT の場合、イベントが発生したら timeKillEventは不要みたいですね。
timeKillEventですでにkillされたidを指定することになるため TIMERR_NOCANDO(=0x61) を返すようです。
timeKillEvent(適当な値)とすると、TIMERR_NOCANDOが返るので、おそらくtimeKillEventのドキュメントが間違っていると思われます。
15デフォルトの名無しさん
2025/06/30(月) 21:43:09.92ID:belteLuK https://learn.microsoft.com/ja-jp/windows/win32/api/shlobj_core/nf-shlobj_core-shgetspecialfolderpathw
SHGetSpecialFolderPathW 関数 (shlobj_core.h)
パラメーター
hwnd
型: HWND
引っ込み思案。
SHGetSpecialFolderPathW 関数 (shlobj_core.h)
パラメーター
hwnd
型: HWND
引っ込み思案。
2025/09/22(月) 20:26:47.94ID:fHSyAy+z
ShellExecuteでURLを指定して既定のブラウザを開くってやつだけど
普通はとくに問題なく動作してるんだけど
URLに”twitter.com”が含まれてるとWSAのTwitterアプリが開いてしまう
(WSAを使っててTwitterアプリもインストール済み)
ShellExecuteで必ずWindowsの既定のブラウザを開くようにできない?
普通はとくに問題なく動作してるんだけど
URLに”twitter.com”が含まれてるとWSAのTwitterアプリが開いてしまう
(WSAを使っててTwitterアプリもインストール済み)
ShellExecuteで必ずWindowsの既定のブラウザを開くようにできない?
2025/11/27(木) 10:29:18.63ID:2EmBR7sq
wvsprintf
vwsprintf
vswprintf
違いを教えてください
なんでこんなに節操無いんですか?ω
vwsprintf
vswprintf
違いを教えてください
なんでこんなに節操無いんですか?ω
2025/11/27(木) 10:45:50.34ID:2EmBR7sq
自己レス
wvsprintf が標準っぽいけど
vfwprintf は何で wvfprintf にしなかったん
wvsprintf が標準っぽいけど
vfwprintf は何で wvfprintf にしなかったん
20デフォルトの名無しさん
2025/11/29(土) 16:18:29.43ID:hbxZmChk GetFileAttributesExがあるのにSetFileAttributesExが無いのはなぜですか
2025/12/23(火) 13:19:29.20ID:QtynupM9
AIもwin32APIの罠に見事にハマって解決まで時間かかる
過去の遺産なんで改善の見込みないかな?
C/C++愛好家であるほどWin32APIには近寄りたがらないもんな
過去の遺産なんで改善の見込みないかな?
C/C++愛好家であるほどWin32APIには近寄りたがらないもんな
2025/12/23(火) 15:53:23.00ID:i9POOTwU
2026/01/12(月) 22:42:57.14ID:3lYBYGp9
一般アプリケーションみたいにWindowsのスナップ機能に対応したままボーダーレスにしたいけど
ボーダーレスにするとスナップ機能無効になるからどうしたらいいか調べても出てこないし
そもそもなんて単語で調べたらいいかもよく分からないからAIに聞いたら
DwmExtendFrameIntoClientAreaって関数を教えてもらって解決出来た
AIは神です
ボーダーレスにするとスナップ機能無効になるからどうしたらいいか調べても出てこないし
そもそもなんて単語で調べたらいいかもよく分からないからAIに聞いたら
DwmExtendFrameIntoClientAreaって関数を教えてもらって解決出来た
AIは神です
2026/01/13(火) 11:25:07.61ID:ZqqTIWg1
>>23
完全ボーダーレスフルウィンドウなどで使われるWS_POPUPにしたらシステムスナップ機能の復活は無理では?
そうじゃなくてWS_OVERLAPPEDWINDOWなどの場合はWM_NCCALCSIZEでreturn 0したら完全ボーダーレスになってWinキーコンボでスナップ出来るよ
Win+zでスナップアシストも出る
完全ボーダーレスフルウィンドウなどで使われるWS_POPUPにしたらシステムスナップ機能の復活は無理では?
そうじゃなくてWS_OVERLAPPEDWINDOWなどの場合はWM_NCCALCSIZEでreturn 0したら完全ボーダーレスになってWinキーコンボでスナップ出来るよ
Win+zでスナップアシストも出る
2026/01/13(火) 15:02:04.10ID:zuuRNzZo
>>24
いやWS_OVERLAPPEDWINDOW使ってるよ
WS_OVERLAPPEDWINDOWでウィンドウ作って
DwmExtendFrameIntoClientAreaで{-1}して
WM_NCCALCSIZEでreturnさせて
WM_NCHITTESTでドラッグなどの処理を自作しますってAIに言われたから言われたまま全部やってる
いやWS_OVERLAPPEDWINDOW使ってるよ
WS_OVERLAPPEDWINDOWでウィンドウ作って
DwmExtendFrameIntoClientAreaで{-1}して
WM_NCCALCSIZEでreturnさせて
WM_NCHITTESTでドラッグなどの処理を自作しますってAIに言われたから言われたまま全部やってる
2026/01/13(火) 15:07:22.58ID:zuuRNzZo
もしかしてDwmExtendFrameIntoClientArea要らないやつ?
試しにこの関数コメントアウトしてもスナップ効いたままボーダーレス出来てるな
どういうことかちょっとAIに尋問してみるか..
試しにこの関数コメントアウトしてもスナップ効いたままボーダーレス出来てるな
どういうことかちょっとAIに尋問してみるか..
2026/01/13(火) 15:52:20.15ID:zuuRNzZo
DwmExtendFrameIntoClientAreaはフレームの影を残すなら必要って言われた
確かによく見たらコメントアウトすると影消えてる
Windows10のフレーム影うっすいけど付いてたほうが様になるな
確かによく見たらコメントアウトすると影消えてる
Windows10のフレーム影うっすいけど付いてたほうが様になるな
レスを投稿する
ニュース
- 高市総理「そこ(週刊文春)の有料会員になれということであればできません」事前通告したのに「確認なし」でヤジ飛び交う ★2 [少考さん★]
- 【巨人】阿部慎之助氏代理人 報道に関するお知らせとお願い ★2 [Ailuropoda melanoleuca★]
- 【MLB】大谷翔平、二刀流神髄 6回無失点で4連勝&日本人トップ6勝 驚異の防御率0.74…打でも圧巻の3安打5出塁、打率.301 [ネギうどん★]
- 【旭川】内田被告『殺意があったのは共犯のほう』自分には殺意がなかったと主張…罪を認め懲役刑が確定した方の証言を事実と違うと [夜のけいちゃん★]
- 【新潟】「ひどすぎる」弁当店で200個無断キャンセル…「最後は着信拒否」 店主が語る悪質手口「グルだったのでしょう」 [ぐれ★]
- 【文春】阿部慎之助の長女は児相に「父親に首絞められ背中を強く叩かれた」「他の家族も被害に遭った」と相談 警察への通報にも同意★6 [Anonymous★]
- 【高市解散】高市自民「食料品の消費税1%年内可能だが来年4月に選挙があるからそこにする」 [169920436]
- 古畑「『報道』と『事実』の一致は報道内容未確認ゆえ不明。それは行為そのものはあった自白と取ってよろしいか?」高市早苗「何よ!」 [784319933]
- 【悲報】文春、高市早苗を煽る [972432215]
- 【速報】AI生成した児童ポルノ所持、有罪判決wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww [398059782]
- 湿度100%でキンタマムレムレムレムレ🏡
- 識者「左翼の皆さん、デモが大好きですよね。天安門事件に抗議するデモはやらないんですか?」 大バズり [634830743]