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
2021/12/09(木) 21:37:16.98ID:sYLpmj89
■番外編
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/
2021/12/09(木) 21:37:38.93ID:sYLpmj89
■ネイティブなやつとか
【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/
2021/12/09(木) 21:38:24.02ID:sYLpmj89
■需要あるかしらん
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/
5デフォルトの名無しさん
2021/12/09(木) 21:41:40.87ID:sYLpmj89 >2以降の各リンクDAT落ちチェックしてたら、どのスレも停滞してて生きてた
化石過ぎるやろ
というかこいつら要らんやろ
Win32API 永遠なり
化石過ぎるやろ
というかこいつら要らんやろ
Win32API 永遠なり
6デフォルトの名無しさん
2021/12/10(金) 00:50:20.82ID:eLt0CNh32021/12/11(土) 00:02:17.29ID:+x6DQ55C
結局C#とか使っててもWindowsである限りP/Invokeで使わざるをえない
.NETで全然置き換えできねえ
.NETで全然置き換えできねえ
2021/12/11(土) 13:17:54.11ID:3r8QLyb+
>>7
C++/CLIとかいやなの?
C++/CLIとかいやなの?
2021/12/11(土) 13:36:26.05ID:ciUW3N8E
C++/CLIでも同じでは?
2021/12/11(土) 13:45:53.81ID:E/VsNyVn
まあC++のライブラリ呼ぶならC++/CLIの方がいいだろうけどWin32 API呼ぶだけならP/Invokeでいいな。
2021/12/20(月) 17:11:58.59ID:HKU5LyBA
IsWindowVisibleは、上位のウィンドウのWS_VISIBLEも再帰的に調べてくれるのに対して、
IsWindowEnabledは、上位のウィンドウが無効でも自身が有効だとTRUEになってしまいます。
上位のウィンドウのどこかが無効なら自身も操作できないのだから、
一発で状態を返してくれる関数があってもよさそうなんですが、
自分で再帰的に調べないといけないものなんでしょうか。
IsWindowEnabledは、上位のウィンドウが無効でも自身が有効だとTRUEになってしまいます。
上位のウィンドウのどこかが無効なら自身も操作できないのだから、
一発で状態を返してくれる関数があってもよさそうなんですが、
自分で再帰的に調べないといけないものなんでしょうか。
2021/12/20(月) 18:47:23.36ID:U8G2rajF
そうでござる
2021/12/21(火) 15:12:53.73ID:K4RksYnA
親となるメインウィンドウからCreateWindowの8番目のパラメータで親(オーナー)ウィンドウハンドルを指定して作成した
別ウィンドウ(WS_CHILDWINDOWを付けず一般的なWS_OVERLAPED属性等を付けたもの)はGetParentで
親(オーナー)を取得できず、GetWindowでGW_OWNERを指定すればオーナーウィンドウが取得できます
このことから、これらのウィンドウは親子関係みたいですが親子とは言わないと思います
どう言えばいいのでしょう?
オーナーウィンドウと派生ウィンドウ?
今までは漠然と親子呼びしていたのですが、上記例ではGetParentで親ハンドルが取れないのに気付いたことと
EnumChildWindowでもWS_CHILDWINDOWが付いたものしか列挙されないことから疑問に思いました
CreateWindowの8番パラメータ説明でも parent window って書いてますし
別ウィンドウ(WS_CHILDWINDOWを付けず一般的なWS_OVERLAPED属性等を付けたもの)はGetParentで
親(オーナー)を取得できず、GetWindowでGW_OWNERを指定すればオーナーウィンドウが取得できます
このことから、これらのウィンドウは親子関係みたいですが親子とは言わないと思います
どう言えばいいのでしょう?
オーナーウィンドウと派生ウィンドウ?
今までは漠然と親子呼びしていたのですが、上記例ではGetParentで親ハンドルが取れないのに気付いたことと
EnumChildWindowでもWS_CHILDWINDOWが付いたものしか列挙されないことから疑問に思いました
CreateWindowの8番パラメータ説明でも parent window って書いてますし
2021/12/21(火) 21:14:02.07ID:MsBf3e8R
オーナーと親は別もの
2021/12/21(火) 22:10:59.06ID:+CwUc5NJ
SetParentで養子に
2021/12/22(水) 08:28:16.99ID:/vmqk8la
2021/12/22(水) 14:04:12.64ID:YXB4LcTi
>>16
そこは見ていたのですが、「オーナー」と「所有」という直訳っぽいとうか特に「所有」
ウィンドウという言い方は聞かないので、そこは置いておいてみんなどう呼んでるのかと思った次第で
皆さん特に呼び分けてない感じなんですかね?
オーナーウィンドウはまだ呼ぶと思いますが
そこは見ていたのですが、「オーナー」と「所有」という直訳っぽいとうか特に「所有」
ウィンドウという言い方は聞かないので、そこは置いておいてみんなどう呼んでるのかと思った次第で
皆さん特に呼び分けてない感じなんですかね?
オーナーウィンドウはまだ呼ぶと思いますが
2021/12/23(木) 02:10:36.86ID:gHIFazbo
全く理解してないな
所有はそのままの意味。金魚のフンみたいなもの
親ってのはツリーデータ構造においての子に対しての親って意味だから全く別の概念
所有はそのままの意味。金魚のフンみたいなもの
親ってのはツリーデータ構造においての子に対しての親って意味だから全く別の概念
2021/12/23(木) 02:45:29.60ID:wk5RL8qz
みんなどう呼んでるのって話を理解してください
2021/12/23(木) 10:00:44.65ID:lsirm1I0
ふと疑問に思ったのですが、Win32GUIってWndProcを利用せずメッセージループ内で全て処理をするって可能なんでしょうか?
実験してみろって話かもしれませんが知ってる方いらしたら教えてください
そもそもなぜWndProcを一々呼び出す仕組みなんでしょう?
DispatchMessageとか呼ぶくらいならその場でメッセージSwitchしたり自前の関数呼ぶなりした方がよさそうなものですが
実験してみろって話かもしれませんが知ってる方いらしたら教えてください
そもそもなぜWndProcを一々呼び出す仕組みなんでしょう?
DispatchMessageとか呼ぶくらいならその場でメッセージSwitchしたり自前の関数呼ぶなりした方がよさそうなものですが
2021/12/23(木) 10:16:30.88ID:YP7dkfo9
全メッセージをループで処理する必要が出てくる
ウィンドウAもBもCもダイアログAもBも
それでもやる?
ウィンドウAもBもCもダイアログAもBも
それでもやる?
2021/12/23(木) 10:17:20.81ID:656VzGPj
複数のウインドウを開いていると
メッセージループに複数のHWNDが入ってくる
そうなるとHWNDで鬼のようにelse ifしまくって
さらにそれぞれメッセージIDでswitchだ
想像を絶する巨大WinMainになるぞ
メッセージループに複数のHWNDが入ってくる
そうなるとHWNDで鬼のようにelse ifしまくって
さらにそれぞれメッセージIDでswitchだ
想像を絶する巨大WinMainになるぞ
2021/12/23(木) 10:37:37.73ID:zHsDBG/s
>>20
その場合、すべてのメッセージに対応する動作を自前で把握し処理しないといけない
しかもウインドウごとに微妙に違う部分もすべて適切に自前で処理する必要が出てくる
デフォルト動作でいい部分はデフォルト処理に任せる、それがWndProc
開発者は変更部分のみ追加するだけで済む
その場合、すべてのメッセージに対応する動作を自前で把握し処理しないといけない
しかもウインドウごとに微妙に違う部分もすべて適切に自前で処理する必要が出てくる
デフォルト動作でいい部分はデフォルト処理に任せる、それがWndProc
開発者は変更部分のみ追加するだけで済む
2021/12/23(木) 11:55:56.08ID:lsirm1I0
>>21-23
完全に納得しました、有難うございます
WinMainスタック上のオブジェクトをそのまま利用出来たら、思ってそう考えましたが明らかに割に合いませんね
素直にWndProcとDispatchMessageに任せる事にします
完全に納得しました、有難うございます
WinMainスタック上のオブジェクトをそのまま利用出来たら、思ってそう考えましたが明らかに割に合いませんね
素直にWndProcとDispatchMessageに任せる事にします
2021/12/23(木) 18:48:39.58ID:qq3JZERH
>>13
うーん「手前ウィンドウ」?
最初のウィンドウズではPOPUPウィンドウがないからはみ出さないウィンドウを子供と呼んでいたが
後からオーバーラップが自由にできるようになって用語がごちゃごちゃになってしまったんじゃないかな
知らんけど
うーん「手前ウィンドウ」?
最初のウィンドウズではPOPUPウィンドウがないからはみ出さないウィンドウを子供と呼んでいたが
後からオーバーラップが自由にできるようになって用語がごちゃごちゃになってしまったんじゃないかな
知らんけど
2021/12/23(木) 19:54:16.02ID:Oty3ol47
2021/12/23(木) 20:52:33.67ID:D0B/DSqq
Zオーダーにまつわる 親子関係と
キーボード入力やらの取り分の範囲にまるわるオーナー関係
キーボード入力やらの取り分の範囲にまるわるオーナー関係
2021/12/24(金) 01:38:56.57ID:Ht7d5qM4
2021/12/24(金) 01:58:58.45ID:7KWgwZvx
>>20
なんかわかります
中で何やってるのか理解していないと気持ち悪い、みたいな
私は最初の頃、MFCとか触れなかったし(今も)、WinMain?mainじゃだめなの?とか
cランタイムのstrcpyがあるのに、Win32APIのlstrcpyがあったり、摩訶不思議でした
なんかわかります
中で何やってるのか理解していないと気持ち悪い、みたいな
私は最初の頃、MFCとか触れなかったし(今も)、WinMain?mainじゃだめなの?とか
cランタイムのstrcpyがあるのに、Win32APIのlstrcpyがあったり、摩訶不思議でした
2021/12/24(金) 02:52:14.64ID:ogM6Neon
え?MFCのソース読んでないの?
2021/12/24(金) 08:46:41.12ID:30ABCQu6
昔のwin16はfar版とかnear版とかあってめんどくさいからlstrcpyを用意したんじゃなかった
2021/12/24(金) 16:58:46.51ID:rp3Y3leG
ニヤは無視すればいいだけじゃん?
どっちかというとlstrcpyW()の必要性からだと思う
どっちかというとlstrcpyW()の必要性からだと思う
2022/01/04(火) 08:56:43.21ID:58wYEt3v
タスクトレイのアイコンの上でマウスホイールを上下させて音量調整できるフリーソフト見つけたんだけど、
あれ、どうやっているんでしょうか?
タスクトレイの表示座標を取得して、フックすればいいんだけど、座標を取得する方法がわからない。
それともタスクトレイのアイコンでもホイールのイベント取得できる?
あれ、どうやっているんでしょうか?
タスクトレイの表示座標を取得して、フックすればいいんだけど、座標を取得する方法がわからない。
それともタスクトレイのアイコンでもホイールのイベント取得できる?
2022/01/04(火) 10:41:52.03ID:qiN456rw
Shell_NotifyIconだよね?
WM_MOUSEWHEELはこないね
WM_MOUSEWHEELはこないね
35デフォルトの名無しさん
2022/01/04(火) 10:52:18.23ID:4cEZtgLZ SetWindowsHookEx(WH_MOUSE_LL) じゃないかな
dumpbin.exeとか使ってそのソフトが呼び出してるAPIを調べてみるといい
dumpbin.exeとか使ってそのソフトが呼び出してるAPIを調べてみるといい
2022/01/04(火) 17:36:23.31ID:mpSUdZEa
Shell_NotifyIconのuCallbackMessageにメッセージID登録するとでLPARAMからMOVEとかのマウスイベントがやってくる
マウスがアイコン上をホバー中かどうかはこれで判定する
タスクトレイの長方形はFindWindow("Shell_TrayWnd",NULL)で取得したHWNDからGetWindowRectで取れる
その中の自分のアイコン長方形の取得の方法は昔調べた限りでは見つからなかった
従って、上のイベントが初めて起きた時にGetCursorPosで座標を取得しておき、
タイマーでマウスがその座標周辺にいるかどうかを大雑把に監視しつつ、
フック側のホイールイベントでトリガするという処理になると思う
マウスがアイコン上をホバー中かどうかはこれで判定する
タスクトレイの長方形はFindWindow("Shell_TrayWnd",NULL)で取得したHWNDからGetWindowRectで取れる
その中の自分のアイコン長方形の取得の方法は昔調べた限りでは見つからなかった
従って、上のイベントが初めて起きた時にGetCursorPosで座標を取得しておき、
タイマーでマウスがその座標周辺にいるかどうかを大雑把に監視しつつ、
フック側のホイールイベントでトリガするという処理になると思う
37デフォルトの名無しさん
2022/01/04(火) 18:17:52.10ID:a2P6Hn/H 富士通「年収3500万円」の衝撃 ソニー、NECも戦々恐々の「グローバル採用競争」
「富士通年収3500万!」日本のIT企業の年収も、高額化してきました
ゼロから起業するよりも事業承継(小さな会社の買収)が圧倒的に有利である3つの理由
「エース人材だって起業OK」、NECは挑戦者が集う場をつくる
NECなど「出向起業」 大企業人材、起業しやすく
パナソニックの社内ベンチャー「ゲームチェンジャー・カタパルト」で
事業化されるかもしれない注目の新規ビジネス
ゼネコン鹿島、DX化で狙う建設業界の地殻変動
NTTドコモ、建設業向けDXの新会社 コマツ、野村総合研究所などと共同で
「富士通年収3500万!」日本のIT企業の年収も、高額化してきました
ゼロから起業するよりも事業承継(小さな会社の買収)が圧倒的に有利である3つの理由
「エース人材だって起業OK」、NECは挑戦者が集う場をつくる
NECなど「出向起業」 大企業人材、起業しやすく
パナソニックの社内ベンチャー「ゲームチェンジャー・カタパルト」で
事業化されるかもしれない注目の新規ビジネス
ゼネコン鹿島、DX化で狙う建設業界の地殻変動
NTTドコモ、建設業向けDXの新会社 コマツ、野村総合研究所などと共同で
2022/01/04(火) 19:22:36.99ID:iCrtIo/s
>>33
> タスクトレイの表示座標を取得
面白そうなネタなんで探してみたら、こんなのあった。
ttps://www.petitmonte.com/bbs/answers?question_id=25298
> タスクトレイの表示座標を取得
面白そうなネタなんで探してみたら、こんなのあった。
ttps://www.petitmonte.com/bbs/answers?question_id=25298
3933
2022/01/04(火) 20:21:23.69ID:58wYEt3v40デフォルトの名無しさん
2022/01/05(水) 10:12:14.60ID:60pDLcUB CHM(HTMLヘルプ)って今でも現役だよね?
2022/01/05(水) 13:52:02.98ID:ga42ykuy
10標準じゃもう使えないよ
分解するツールでばらした記憶がある
分解するツールでばらした記憶がある
2022/01/06(木) 02:22:47.54ID:NntPX0Am
ヘルプファイルの仕様をコロコロ変えるの迷惑
HLPだって制限付きならともかく全面廃止は横暴すぎ
HLPだって制限付きならともかく全面廃止は横暴すぎ
43デフォルトの名無しさん
2022/01/06(木) 02:35:26.27ID:4VMA3TxB CHMの後継になるはずだった「Microsoft Help Viewer」だけど、Visual Studio 2015のヘルプファイルがリリースされてからまったく更新がない。
「Microsoft Help Viewer」はCHMよりも先にオワコン化しそうな気がするんだけど。
「Microsoft Help Viewer」はCHMよりも先にオワコン化しそうな気がするんだけど。
44デフォルトの名無しさん
2022/01/06(木) 02:39:48.25ID:4VMA3TxB CHMはWindows用Python3.xのヘルプファイルに採用されているのでまだまだ現役だと思いたい
2022/01/06(木) 04:41:52.18ID:RZuWQS3v
今時ヘルプは全てWEBで見ろオフラインなんか知らんスタイル感
WEBに飛ぶと404でトップページにリダイレクト感
ユーザーはヘルプ読む労力が辛い感と開発もヘルプ更新するのに疲れ切ってる感
WEBに飛ぶと404でトップページにリダイレクト感
ユーザーはヘルプ読む労力が辛い感と開発もヘルプ更新するのに疲れ切ってる感
2022/01/06(木) 09:40:06.04ID:mqPTm+Ey
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 俺「お湯を流してと…」シンク「ボンッw」
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- ヤフコメ「中国への輸出がなくなる事で、日本国内で美味しくいただける事に感謝します」👈やたら政権寄りなのはなぜ?(´・ω・`) [399259198]
- 三郷流山橋を渡った [793051416]
- もう寝ます
