Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build123
http://mevius.2ch.net/test/read.cgi/tech/1475897582/
Win32API質問箱 Build122
http://echo.2ch.net/test/read.cgi/tech/1451988219/
Win32API質問箱 Build121
http://echo.2ch.net/test/read.cgi/tech/1438695290/
Win32API質問箱 Build120
http://echo.2ch.net/test/read.cgi/tech/1428570962/
■関連スレ
Visual Studio 2017 Part4
http://mevius.2ch.net/test/read.cgi/tech/1509244956/
【C++】 DirectX初心者質問スレ Part40 【C】
http://mevius.2ch.net/test/read.cgi/tech/1474782237/
探検
Win32API質問箱 Build124
レス数が900を超えています。1000を超えると表示できなくなるよ。
2017/11/11(土) 19:23:00.69ID:TpLoCFAx
814デフォルトの名無しさん
2019/01/08(火) 21:13:43.96ID:BVjQZPEf ない
815デフォルトの名無しさん
2019/01/08(火) 21:14:52.46ID:jpAVboCM dllインジェクションするしかない
816デフォルトの名無しさん
2019/01/08(火) 21:20:13.54ID:V1Q/vFq5817デフォルトの名無しさん
2019/01/08(火) 21:25:43.44ID:V1Q/vFq5 winmm.dllをフックすれば実現できそうです。
早速やってみます。
ありがとうございました!
早速やってみます。
ありがとうございました!
818デフォルトの名無しさん
2019/01/09(水) 11:55:22.51ID:B8oaeAR+ >>812
生データかどうかは知らんがミキサーの出力は取れるはず
生データかどうかは知らんがミキサーの出力は取れるはず
819デフォルトの名無しさん
2019/01/12(土) 14:22:16.93ID:nOTIPVuG OS:Windows10
VC++ 2015
なんですが、下記ページの質問者と同じ問題にあたりました。
(LANが抜けているとNICに設定した固定IPアドレスではなく0.0.0.0が取得されてしまう)
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/9dd046d6-d0ad-4875-b9be-9ac6c7106454/ip124501248912524124731239821462244712604127861?forum=vcgeneralja
このページの解決方法(WSAIoctl()関数にSIO_GET_INTERFACE_LIST)では、
ループバックアドレスしか取得できませんでした。
この他、GetIpAddrTable()も試しましたが同様でした。
どうすればLANケーブルが抜けていてもNICに設定した固定IPアドレスを取得できるでしょうか?
VC++ 2015
なんですが、下記ページの質問者と同じ問題にあたりました。
(LANが抜けているとNICに設定した固定IPアドレスではなく0.0.0.0が取得されてしまう)
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/9dd046d6-d0ad-4875-b9be-9ac6c7106454/ip124501248912524124731239821462244712604127861?forum=vcgeneralja
このページの解決方法(WSAIoctl()関数にSIO_GET_INTERFACE_LIST)では、
ループバックアドレスしか取得できませんでした。
この他、GetIpAddrTable()も試しましたが同様でした。
どうすればLANケーブルが抜けていてもNICに設定した固定IPアドレスを取得できるでしょうか?
820デフォルトの名無しさん
2019/01/12(土) 15:05:56.36ID:hHDH7/la へ〜そうなんや〜。この辺サンプル作ってたから試してみよ。
と思ったらPCの裏側弄るのめんどくせw
結果、おっしゃるとおりGetAdapterInfo()でもダメだった。
けど、これってAPIレベルでは取れないんじゃないかな?
プロパティで表示されてる固定IPって、単にレジストリに登録されてるだけでは・・・
GetAdapterInfo()で取れるAdapterNameを取得し、
レジストリの
HLM\SYSTEM\ControlSet001(ここは環境による?)\Services\Tcpip\Parameters\Interfaces\{上記で取れた名前}\IPAddress
から取ればいいんじゃないかなあ。
固定IP設定してないと上記キーは存在せず、代わりにDhcpIpAddressが存在する。
なお、もうPCしまい込んだんで、LANケーブル抜いてレジストリ確認してないw
間違ってたらスマソ
と思ったらPCの裏側弄るのめんどくせw
結果、おっしゃるとおりGetAdapterInfo()でもダメだった。
けど、これってAPIレベルでは取れないんじゃないかな?
プロパティで表示されてる固定IPって、単にレジストリに登録されてるだけでは・・・
GetAdapterInfo()で取れるAdapterNameを取得し、
レジストリの
HLM\SYSTEM\ControlSet001(ここは環境による?)\Services\Tcpip\Parameters\Interfaces\{上記で取れた名前}\IPAddress
から取ればいいんじゃないかなあ。
固定IP設定してないと上記キーは存在せず、代わりにDhcpIpAddressが存在する。
なお、もうPCしまい込んだんで、LANケーブル抜いてレジストリ確認してないw
間違ってたらスマソ
821デフォルトの名無しさん
2019/01/12(土) 15:18:01.40ID:uLAlds2c >>820
ControlSet001の所はCurrentControlSetの方が良い
ControlSet001の所はCurrentControlSetの方が良い
822819
2019/01/12(土) 15:43:42.17ID:nOTIPVuG >>820
わざわざ検証してくださってありがとうございます!
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19361&forum=6
このページを見ても、LANケーブルが抜かれている状態でIPアドレスが参照できないのは然りのようですね。
レジストリにアクセスした経験が無く、何か恐いので、
0.0.0.0が取得できたらLANケーブルが抜けているか、とりあえずロクな状態じゃないということで、
エラーを出す等の対処としたい(今回のアプリではこれで十分)と思います。
ありがとうございました!
わざわざ検証してくださってありがとうございます!
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19361&forum=6
このページを見ても、LANケーブルが抜かれている状態でIPアドレスが参照できないのは然りのようですね。
レジストリにアクセスした経験が無く、何か恐いので、
0.0.0.0が取得できたらLANケーブルが抜けているか、とりあえずロクな状態じゃないということで、
エラーを出す等の対処としたい(今回のアプリではこれで十分)と思います。
ありがとうございました!
823デフォルトの名無しさん
2019/01/12(土) 15:58:58.78ID:hHDH7/la824819
2019/01/12(土) 20:54:40.03ID:cv9IM3HX >>823
RegGetValue()で固定IPアドレスを簡単に取得できました!
レジストリアクセス、恐るるに足らず・・・!w
>だから「取得できない=エラー」でいいでしょう。
IPアドレスを取得できても、LANケーブルが接続されていないと、
その後のbind()で失敗するので、そこでエラーを出すことができます。
さらに、一定時間間隔でbind()を試みておけば、
ケーブルが接続された段階で正常な受信処理に進むことができます。
これで理想的な対応が完了しました!
ありがとうございました!。゚( ゚´∀`゚)゚。
RegGetValue()で固定IPアドレスを簡単に取得できました!
レジストリアクセス、恐るるに足らず・・・!w
>だから「取得できない=エラー」でいいでしょう。
IPアドレスを取得できても、LANケーブルが接続されていないと、
その後のbind()で失敗するので、そこでエラーを出すことができます。
さらに、一定時間間隔でbind()を試みておけば、
ケーブルが接続された段階で正常な受信処理に進むことができます。
これで理想的な対応が完了しました!
ありがとうございました!。゚( ゚´∀`゚)゚。
825デフォルトの名無しさん
2019/01/13(日) 10:39:34.53ID:ATVrIMyH >>819
WirelessLANで固定IPのときな何が取れるのかな
WirelessLANで固定IPのときな何が取れるのかな
826819
2019/01/14(月) 02:01:50.42ID:DNWDWbUc >>825
確認してみました。
・Wi-Fiオフ ⇒ 0.0.0.0
・Wi-Fiオン(AP未接続) ⇒ 0.0.0.0
・Wi-Fiオン(AP接続) ⇒ 設定した固定IPアドレス
APへの接続有無が、有線時のLANケーブル接続有無に対応する結果となりました。
もちろん、上記ケースのいずれの場合においてもレジストリからは設定された固定IPアドレスが取得できました。
確認してみました。
・Wi-Fiオフ ⇒ 0.0.0.0
・Wi-Fiオン(AP未接続) ⇒ 0.0.0.0
・Wi-Fiオン(AP接続) ⇒ 設定した固定IPアドレス
APへの接続有無が、有線時のLANケーブル接続有無に対応する結果となりました。
もちろん、上記ケースのいずれの場合においてもレジストリからは設定された固定IPアドレスが取得できました。
827デフォルトの名無しさん
2019/01/14(月) 10:58:45.95ID:ZKhJHRcZ LANケーブルが刺さってて反対側の端もHUBに刺さってて
そのHUBがどこにもつながってないときはどうかな
そのHUBがどこにもつながってないときはどうかな
828デフォルトの名無しさん
2019/01/14(月) 14:56:20.16ID:F7cyM080 どこと何の通信をするのか分からないけど、インターネットが可能かどうかという判定なら
固定IPとか関係ないしな
固定IPとか関係ないしな
829819
2019/01/17(木) 02:34:20.94ID:5Sf+2HTN >>827
確認してみました。
どこにも繋がっていないハブ(通電はしている)に繋げば
GetAdaptersInfo()で固定IPアドレスが取得できました。
要はコネクタのところのLEDがチカチカしてる状態ならOKのようです。
確認してみました。
どこにも繋がっていないハブ(通電はしている)に繋げば
GetAdaptersInfo()で固定IPアドレスが取得できました。
要はコネクタのところのLEDがチカチカしてる状態ならOKのようです。
830デフォルトの名無しさん
2019/01/17(木) 13:32:04.21ID:uUdEyVn6 ガキの使いやあらへんで
831デフォルトの名無しさん
2019/01/18(金) 09:31:37.52ID:/JSvmQQz Win32に限らない話なんだけど、「floating window」と
「top-level window」って、何らかの意味の違いってあるのだろうか?
それとも同じ?
「top-level window」って、何らかの意味の違いってあるのだろうか?
それとも同じ?
832デフォルトの名無しさん
2019/01/18(金) 09:57:11.80ID:oa0CPX6o トップレベルは全部の上に対して上
フローティングは親に対して浮いてる
フローティングは親に対して浮いてる
833デフォルトの名無しさん
2019/01/18(金) 12:23:14.96ID:/JSvmQQz >>832
ちなみに、TOP-MOST と TOP-LEVEL を勘違いしての発言?
ちなみに、TOP-MOST と TOP-LEVEL を勘違いしての発言?
834デフォルトの名無しさん
2019/01/18(金) 12:26:49.75ID:/+PP0p1B WS_OVERLAPPEDWINDOW
WS_OVERLAPPED
WS_POPUPWINDOW
WS_POPUP
WS_CHILDWINDOW
WS_CHILD
WS_OVERLAPPED
WS_POPUPWINDOW
WS_POPUP
WS_CHILDWINDOW
WS_CHILD
835デフォルトの名無しさん
2019/01/18(金) 17:24:32.14ID:1LXUKdBd >>831
「floating window」って非MDIウインドウであってtop-levelである必要はないんじゃね?
「top-level window」ならば必然的に「floating window」だろうけど
「floating window」って非MDIウインドウであってtop-levelである必要はないんじゃね?
「top-level window」ならば必然的に「floating window」だろうけど
836デフォルトの名無しさん
2019/01/18(金) 17:55:26.61ID:/JSvmQQz >>835
top-level の定義は、親が存在しない (CreateWindow 実行時に NULL が指定され
ている) Window だ、って英語で書かれているよ。
MDI とか関係ないと思うんだけど。
top-level の定義は、親が存在しない (CreateWindow 実行時に NULL が指定され
ている) Window だ、って英語で書かれているよ。
MDI とか関係ないと思うんだけど。
837デフォルトの名無しさん
2019/01/18(金) 18:42:47.29ID:1LXUKdBd838デフォルトの名無しさん
2019/01/18(金) 18:53:17.40ID:FdTpqa5z フローティングってのはブラウザなんかでタブをドラッグすると独立できる奴ってイメージがあるけどなあ。
839デフォルトの名無しさん
2019/01/18(金) 19:49:53.56ID:xKp6dC4w840デフォルトの名無しさん
2019/01/18(金) 20:27:04.31ID:bji/uTEx >>838
小さなものってイメージもあるな
小さなものってイメージもあるな
841デフォルトの名無しさん
2019/01/19(土) 01:02:57.44ID:2Tiw7zAQ それはない
842デフォルトの名無しさん
2019/01/19(土) 01:55:25.45ID:Lyax1h3i どうも、Win32APIそのものの質問ではないですが質問させてください。
Win32API等のサンプルがおいてあったサイトがどうしても見つからないのです。
以前は難なく見つかったので、消失したっぽいのですが。
覚えているのは以下です
- デバイスコンテキストを利用したスプリッターのサンプルがあった(これは自分ライブラリにしたので確実)
- OLEを利用したファイルのD&Dのサンプルがあった(これも自作アプリで利用したので確実)
- 2016年3月までは存在していた(日記を見て確認)
- 確かZIP(かLZHの圧縮ファイル)がアップロードされてたような。(通常のソースとその解説ページもあった)
URLさえ判れば Internet Archive 等で何とかなるかと思うのですが・・・
Win32API等のサンプルがおいてあったサイトがどうしても見つからないのです。
以前は難なく見つかったので、消失したっぽいのですが。
覚えているのは以下です
- デバイスコンテキストを利用したスプリッターのサンプルがあった(これは自分ライブラリにしたので確実)
- OLEを利用したファイルのD&Dのサンプルがあった(これも自作アプリで利用したので確実)
- 2016年3月までは存在していた(日記を見て確認)
- 確かZIP(かLZHの圧縮ファイル)がアップロードされてたような。(通常のソースとその解説ページもあった)
URLさえ判れば Internet Archive 等で何とかなるかと思うのですが・・・
843さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/01/19(土) 02:02:18.49ID:eJ/T1GXt OLE D&Dの資料は俺様も欲しいっす。
844デフォルトの名無しさん
2019/01/19(土) 02:55:55.30ID:2Tiw7zAQ みおぼえあるわ
845デフォルトの名無しさん
2019/01/19(土) 03:12:53.98ID:n7alGXg6 見たら思い出しそうではあるが
846デフォルトの名無しさん
2019/01/19(土) 06:43:28.33ID:wHcHNf+g847842
2019/01/19(土) 09:43:29.26ID:Lyax1h3i >>846
そのページは昨日に到達してましたが、残念ながら違います。
確かOLEのD&DのページはC++で実装されてて、
IDropSource、IDataObject、IDropTargetの共通部分である
QueryInterface、AddRef、Release関数をIUnknownImplementという名前の
クラスを作ってそれをprivate継承してから、内部ではその親クラスの関数を呼び出す事をしていました。
IUnknownImplementという名前は自分のセンスではないのでそのページからそのままコピペしたのだと思います。
以前はOLE D&Dで検索すると難なく到達出来てたので消失したと思われます。
誰かブックマークしてて今では消えてるページのURLとかでそれらしきものがないでしょうか?
そのページは昨日に到達してましたが、残念ながら違います。
確かOLEのD&DのページはC++で実装されてて、
IDropSource、IDataObject、IDropTargetの共通部分である
QueryInterface、AddRef、Release関数をIUnknownImplementという名前の
クラスを作ってそれをprivate継承してから、内部ではその親クラスの関数を呼び出す事をしていました。
IUnknownImplementという名前は自分のセンスではないのでそのページからそのままコピペしたのだと思います。
以前はOLE D&Dで検索すると難なく到達出来てたので消失したと思われます。
誰かブックマークしてて今では消えてるページのURLとかでそれらしきものがないでしょうか?
848デフォルトの名無しさん
2019/01/19(土) 10:35:14.95ID:S211ls6J >>847
ブラウザの履歴を検索したら出てこない?
ブラウザの履歴を検索したら出てこない?
849デフォルトの名無しさん
2019/01/19(土) 11:05:14.74ID:E3pxDp1L NGチェックで貼れないサイトがあるな
atata sakura ne jp . /com/chap5.html
atata sakura ne jp . /com/chap7.html
https://docs.microsoft.com/en-us/windows/desktop/api/oleidl/nn-oleidl-idroptarget
https://gist.github.com/yohhoy/3053385
atata sakura ne jp . /com/chap5.html
atata sakura ne jp . /com/chap7.html
https://docs.microsoft.com/en-us/windows/desktop/api/oleidl/nn-oleidl-idroptarget
https://gist.github.com/yohhoy/3053385
850デフォルトの名無しさん
2019/01/19(土) 11:10:10.62ID:E3pxDp1L851デフォルトの名無しさん
2019/01/19(土) 11:17:26.03ID:ie4pzIPS852デフォルトの名無しさん
2019/01/19(土) 18:27:05.61ID:a3eM+T1s853デフォルトの名無しさん
2019/01/20(日) 11:49:19.90ID:h0iPP/nj 朝鮮人メンタル
854842
2019/01/20(日) 15:59:03.36ID:CaWvoORx >>848
最後にアクセスしたのも大分前なので。その間にPCも変わってたりしますし。
>>849 >>850 >>851
残念ながらそれらでもないですね。
今日も探していたのですが見つからずもう諦めてきた感じです。
その際に副産物で見つけた、既にサイトが無くなってたページと
そのInternet Archivesを張っておきます。
かなりこの手の情報が消失してる事が判りますね。
http://www.g-ishihara.com/
https://web.archive.org/web/20180807082916/http://www.g-ishihara.com/
http://win32lab.com/tips/
https://web.archive.org/web/20160810040639/http://win32lab.com/tips/
http://web.kyoto-inet.or.jp/people/ysskondo/
https://web.archive.org/web/20160810173814/http://web.kyoto-inet.or.jp/people/ysskondo/
http://ruffnex.oc.to:80/kenji/index.php
https://web.archive.org/web/20160324222113/http://ruffnex.oc.to:80/kenji/index.php
http://www7.plala.or.jp/keny01/
https://web.archive.org/web/20170123104718/http://www7.plala.or.jp/keny01/
最後にアクセスしたのも大分前なので。その間にPCも変わってたりしますし。
>>849 >>850 >>851
残念ながらそれらでもないですね。
今日も探していたのですが見つからずもう諦めてきた感じです。
その際に副産物で見つけた、既にサイトが無くなってたページと
そのInternet Archivesを張っておきます。
かなりこの手の情報が消失してる事が判りますね。
http://www.g-ishihara.com/
https://web.archive.org/web/20180807082916/http://www.g-ishihara.com/
http://win32lab.com/tips/
https://web.archive.org/web/20160810040639/http://win32lab.com/tips/
http://web.kyoto-inet.or.jp/people/ysskondo/
https://web.archive.org/web/20160810173814/http://web.kyoto-inet.or.jp/people/ysskondo/
http://ruffnex.oc.to:80/kenji/index.php
https://web.archive.org/web/20160324222113/http://ruffnex.oc.to:80/kenji/index.php
http://www7.plala.or.jp/keny01/
https://web.archive.org/web/20170123104718/http://www7.plala.or.jp/keny01/
855デフォルトの名無しさん
2019/01/21(月) 07:38:46.81ID:5BrFA625 > top-level の定義は、親が存在しない (CreateWindow 実行時に NULL が指定され
> ている) Window だ、って英語で書かれているよ。
最大の突っ込みどころは根拠が「英語で書かれている」のみ
> ている) Window だ、って英語で書かれているよ。
最大の突っ込みどころは根拠が「英語で書かれている」のみ
856デフォルトの名無しさん
2019/01/21(月) 10:35:20.85ID:UEk4ntQa >>855
The MSDN entry About Windows offers the following definition: A window that
has no parent, or whose parent is the desktop window, is called a top-level window.
https://stackoverflow.com/questions/18244379/what-exactly-is-a-top-level-window-in-win32-programming
A top-level window is a window that is not a child window, or has no parent window
(which is the same as having the "desktop window" as a parent).
The MSDN entry About Windows offers the following definition:
A window that has no parent, or whose parent is the desktop window, is called
a top-level window.
The MSDN entry About Windows offers the following definition: A window that
has no parent, or whose parent is the desktop window, is called a top-level window.
https://stackoverflow.com/questions/18244379/what-exactly-is-a-top-level-window-in-win32-programming
A top-level window is a window that is not a child window, or has no parent window
(which is the same as having the "desktop window" as a parent).
The MSDN entry About Windows offers the following definition:
A window that has no parent, or whose parent is the desktop window, is called
a top-level window.
857デフォルトの名無しさん
2019/01/21(月) 16:33:26.70ID:5BrFA625 >>856
引用元にCreateWindowは出てこないわけだが
引用元にCreateWindowは出てこないわけだが
858デフォルトの名無しさん
2019/01/22(火) 12:47:25.26ID:/p6ZcYuK no parentでそれぐらいわかるだろ
859デフォルトの名無しさん
2019/01/22(火) 13:04:37.64ID:/wbMKv3O PPAP
860デフォルトの名無しさん
2019/01/23(水) 01:51:43.39ID:fK1BYch6 msdnのAbout WindowsのParent or Owner Window Handle
"A window that has a parent is called a child window. "
childでparentがnullの場合はtoplevel
"A window can own, or be owned by, another window."
ここからmsdnのWindow FeaturesのOwned Windowsに移動して
CreateWindowのhwndParentの話になる
要は、child(WS_CHILD)はparentを持ちownerを持たない
WS_POPUPやWS_OVERLAPPEDはparentを持たずownerをもつ
CreateWindowのhwndParentはparentかowner(両義性がある)
"A window that has a parent is called a child window. "
childでparentがnullの場合はtoplevel
"A window can own, or be owned by, another window."
ここからmsdnのWindow FeaturesのOwned Windowsに移動して
CreateWindowのhwndParentの話になる
要は、child(WS_CHILD)はparentを持ちownerを持たない
WS_POPUPやWS_OVERLAPPEDはparentを持たずownerをもつ
CreateWindowのhwndParentはparentかowner(両義性がある)
861デフォルトの名無しさん
2019/01/24(木) 18:27:16.16ID:/05KE7l4 >>860
Parent, Owner は、「排他的」にしか持つことは出来ないことは正しいけど、
>WS_POPUPやWS_OVERLAPPEDはparentを持たずownerをもつ
はちょっと違うと思うよ。一応、NULL を指定することが出来るから。
Parent, Owner は、「排他的」にしか持つことは出来ないことは正しいけど、
>WS_POPUPやWS_OVERLAPPEDはparentを持たずownerをもつ
はちょっと違うと思うよ。一応、NULL を指定することが出来るから。
862デフォルトの名無しさん
2019/01/27(日) 08:58:04.40ID:Z8Sr7X5M という訳で
CreateWindow hwndParent != 0, WS_OVERLAPPED or WS_POPUPだと
"A window that has no parent, or whose parent is the desktop window, is called
a top-level window. "
のとおり、top-levelになる
CreateWindow hwndParent != 0, WS_OVERLAPPED or WS_POPUPだと
"A window that has no parent, or whose parent is the desktop window, is called
a top-level window. "
のとおり、top-levelになる
863770
2019/01/27(日) 18:15:04.65ID:qHVP6gPn 私は“「Palatino Linotype」フォントでHDCにテキスト描画すると星印「★(U+2605)」などの記号が文字化け扱いされて四角になる”件について質問した者です。
みなさん、何の役にも立たない知ったかぶりの回答ありがとうございました。2019年1月22日にリリースされたKB4476976で無事、修正されたようです。
https://support.microsoft.com/ja-jp/help/4476976/windows-10-update-kb4476976
テキスト コントロールで、一部の記号が四角形で表示される問題を修正します。
みなさん、何の役にも立たない知ったかぶりの回答ありがとうございました。2019年1月22日にリリースされたKB4476976で無事、修正されたようです。
https://support.microsoft.com/ja-jp/help/4476976/windows-10-update-kb4476976
テキスト コントロールで、一部の記号が四角形で表示される問題を修正します。
864デフォルトの名無しさん
2019/01/27(日) 22:30:57.69ID:I4R/P36r865770
2019/01/27(日) 22:57:15.58ID:qHVP6gPn >>864
知らないんなら憶測で書き込まないでくれるか?
そういう憶測の書き込み、質問者が混乱するだけで意味がないんだよ。
スレのレベルが下がるからこのスレには書き込みを控えてくれ。
https://en.wikipedia.org/wiki/Star_%28glyph%29
知らないんなら憶測で書き込まないでくれるか?
そういう憶測の書き込み、質問者が混乱するだけで意味がないんだよ。
スレのレベルが下がるからこのスレには書き込みを控えてくれ。
https://en.wikipedia.org/wiki/Star_%28glyph%29
866デフォルトの名無しさん
2019/01/27(日) 23:00:10.55ID:biLrTPET867デフォルトの名無しさん
2019/01/27(日) 23:07:56.82ID:Z8Sr7X5M > スレのレベルが下がる www
868デフォルトの名無しさん
2019/01/27(日) 23:13:55.20ID:15mfyiko869770
2019/01/27(日) 23:21:03.57ID:qHVP6gPn >>868
リンク先は星印についての英語版Wikipedia。見ればわかるとおり、星印★は欧州で普通に使われている。
日本語のひらがなや漢字を代替フォントで痴漢できているのに、欧州でもよく使う星印★が代替フォントで痴漢できない不可解な状態がようやく解消された。
リンク先は星印についての英語版Wikipedia。見ればわかるとおり、星印★は欧州で普通に使われている。
日本語のひらがなや漢字を代替フォントで痴漢できているのに、欧州でもよく使う星印★が代替フォントで痴漢できない不可解な状態がようやく解消された。
870770
2019/01/27(日) 23:26:16.39ID:qHVP6gPn このスレは「です・ます」調で質問を書き込むと、的外れでレベルの低い回答が返ってきやすい。
この手の回答者には、丁寧語を使うのは不慣れな初心者と値踏みして質問者へのいたずらで無駄な作業をやらせてやろうという悪意がある。
この手の回答者には、丁寧語を使うのは不慣れな初心者と値踏みして質問者へのいたずらで無駄な作業をやらせてやろうという悪意がある。
871デフォルトの名無しさん
2019/01/27(日) 23:53:38.21ID:eqe5Jbhe 文字コード表で「Palatino Linotype」のU+2605が存在しないことに何も間違いなかったでしょ?
そのことに気付かず指摘されて初めて分かった人が何言ってるの?
そのことに気付かず指摘されて初めて分かった人が何言ってるの?
872デフォルトの名無しさん
2019/01/28(月) 00:07:05.80ID:+M9WQ/f8 元から代替フォントの問題だと指摘されていたし、何も間違っていないな
質問された時にはまだ修正されていなかったのだし
質問された時にはまだ修正されていなかったのだし
873770
2019/01/28(月) 00:10:03.58ID:FJ2d04ee874770
2019/01/28(月) 00:40:47.00ID:FJ2d04ee ちなみにPalatino Linotype のような欧州フォントは雄雌記号の♂(U+2642)と♀(U+2640)が少しイラストっぽく表示されるので、お試しあれ。
875デフォルトの名無しさん
2019/01/28(月) 00:40:53.70ID:J+udoZHz >>873
さすがにアホ
さすがにアホ
876770
2019/01/28(月) 00:55:58.16ID:FJ2d04ee Win32APIの不具合なのか新しい仕様なのか判断できない人は質問に回答したらダメでしょ。
877デフォルトの名無しさん
2019/01/28(月) 01:15:13.62ID:j971hPKN > 欧州フォントにはU+2605だけじゃなくて漢字やひらがななども存在しないよ。
欧州フォントでも漢字表示できるの?
はえーすっごーい
欧州フォントでも漢字表示できるの?
はえーすっごーい
878デフォルトの名無しさん
2019/01/28(月) 01:59:38.49ID:yOibm1qy 言い方は忘れたけど、確か、Forwarding や Redirecting みたいな機能が
あって、グリフが存在して無い文字は、他のフォントのグリフを使用する
ことができる機能が Win32 には備わっていたと記憶している。
あって、グリフが存在して無い文字は、他のフォントのグリフを使用する
ことができる機能が Win32 には備わっていたと記憶している。
879デフォルトの名無しさん
2019/01/28(月) 02:08:56.48ID:jKaiFfBH https://superuser.com/questions/396160/how-to-change-configure-font-fallback
・Font Fallback
・Font Linking
・Font Fallback
・Font Linking
880デフォルトの名無しさん
2019/01/28(月) 06:24:36.00ID:yQjFtWDc >>874
それも代替フォント選択がいい加減だから=バグだよw
それも代替フォント選択がいい加減だから=バグだよw
881デフォルトの名無しさん
2019/01/31(木) 18:23:03.18ID:zuTwaubK WS_HSCROLL や WS_VSCROLL スタイルを指定してスクロールバー付きの
ウィンドウを作った場合なんですが、スクロールバーのつまみをスライドさせると
親(?)がWM_CAPTURECHANGED を受信してしまうのは仕様なのでしょうか。
クライアント領域内の画像をドラッグ&ドロップする処理(WM_LBUTTONDOWN で SetCapture(),
WM_LBUTTONUP でReleaseCapture() 呼び出す)を書いているんですが、それに加えて
WM_CAPTURECHANGED でも ReleaseCapture() を呼び出して Alt+Tab などでウィンドウが
切り替わった場合でも確実にキャプチャが解放されるように処理しています。
ところがこのように WM_CAPTURECHANGED を処理すると、スクロールバーのつまみをスライド
させることが出来なくなってしまいます。おそらく Windows がつまみをスライドする直前に
SetCapture() を呼び出しているために、WM_CAPTURECHANGED を受信した瞬間それが解放されて
しまうからだと想像しています。
この問題に対処する一般的(標準的?)な方法はあるのでしょうか?
よろしくお願いいたします。
ウィンドウを作った場合なんですが、スクロールバーのつまみをスライドさせると
親(?)がWM_CAPTURECHANGED を受信してしまうのは仕様なのでしょうか。
クライアント領域内の画像をドラッグ&ドロップする処理(WM_LBUTTONDOWN で SetCapture(),
WM_LBUTTONUP でReleaseCapture() 呼び出す)を書いているんですが、それに加えて
WM_CAPTURECHANGED でも ReleaseCapture() を呼び出して Alt+Tab などでウィンドウが
切り替わった場合でも確実にキャプチャが解放されるように処理しています。
ところがこのように WM_CAPTURECHANGED を処理すると、スクロールバーのつまみをスライド
させることが出来なくなってしまいます。おそらく Windows がつまみをスライドする直前に
SetCapture() を呼び出しているために、WM_CAPTURECHANGED を受信した瞬間それが解放されて
しまうからだと想像しています。
この問題に対処する一般的(標準的?)な方法はあるのでしょうか?
よろしくお願いいたします。
882デフォルトの名無しさん
2019/01/31(木) 18:37:28.68ID:J/ff8w5v マウスを直接やって独自実装やるんじゃなくてwindowsのドラッグアンドドロップとして機能実装するのが一般的
883デフォルトの名無しさん
2019/01/31(木) 18:48:17.83ID:zuTwaubK 881です。
>>882
WindowsにD&D処理を支援する機能があるということなのでしょうか。
画像のドラッグ中はフラグを立てておけば良いのではないかと、いま思いつきました。
// 修正前
case WM_CAPTURECHANGED:
if (GetCapture() == hWnd)
ReleaseCapture();
return 0;
// 修正後
case WM_CAPTURECHANGED:
if (dragging)
ReleaseCapture(), dragging = false;
return 0;
こんな感じで、ちょっと試してみようと思います。
>>882
WindowsにD&D処理を支援する機能があるということなのでしょうか。
画像のドラッグ中はフラグを立てておけば良いのではないかと、いま思いつきました。
// 修正前
case WM_CAPTURECHANGED:
if (GetCapture() == hWnd)
ReleaseCapture();
return 0;
// 修正後
case WM_CAPTURECHANGED:
if (dragging)
ReleaseCapture(), dragging = false;
return 0;
こんな感じで、ちょっと試してみようと思います。
884デフォルトの名無しさん
2019/01/31(木) 19:14:06.85ID:VYsToa/P ウィンドウが切り替わったって事はWM_KILLFOCUS飛んでくると思うけどそれじゃダメなん?
885デフォルトの名無しさん
2019/01/31(木) 19:33:52.56ID:zuTwaubK 881です。
>>884
Alt+Tabのほか、キャプチャ中にEscキーが押下されたためにウィンドウがクローズするタイミングにも
対応しなければならないようなんです。ウィンドウが閉じるときは WM_KILLFOCUS を
受け取らないようなので WM_CAPTURECHANGED しかないのかなと思いました。
>>884
Alt+Tabのほか、キャプチャ中にEscキーが押下されたためにウィンドウがクローズするタイミングにも
対応しなければならないようなんです。ウィンドウが閉じるときは WM_KILLFOCUS を
受け取らないようなので WM_CAPTURECHANGED しかないのかなと思いました。
886デフォルトの名無しさん
2019/01/31(木) 19:40:12.79ID:VYsToa/P WM_KILLFOCUSとWM_CLOSEよりWM_CAPTURECHANGEDの1箇所で処理したいって事なのかな
887デフォルトの名無しさん
2019/01/31(木) 19:50:33.62ID:zuTwaubK888L
2019/02/01(金) 01:20:53.20ID:WOdIBupf >>887
基本、>>883 見たいなやり方でいいんじゃないかな。
後、個人的には、Spy++みたいなものでメッセージの来る順序を
観察してそれに応じて「アルゴリズム(←大げさかも)」を考えてる。
Windows の場合、OSのバージョンアップでメッセージの飛んでくる
仕様が変わったりするかも知れず、もしかしたら動かなくなることも
あるかも知れないが、「行儀よくプログラムすれば」それを防げる
という単純なものではないと思ってる。なぜなら、何が行儀の
良いプログラムがそもそもドキュメント化されていないし。
という訳で、現存する全てのバージョンのWindows OSで実験して
動くかどうか確認して動かなければ修正し、新しいバージョンのOS
が出てきたら、また実験する事で対応するしかないらしい。
2ch/5ch の書き込みによれば、「どんな場合にも対応できる
プログラムなんて作れるわけがない」んだそうだで、それを
聞いて深く考えさせられたことがある。
基本、>>883 見たいなやり方でいいんじゃないかな。
後、個人的には、Spy++みたいなものでメッセージの来る順序を
観察してそれに応じて「アルゴリズム(←大げさかも)」を考えてる。
Windows の場合、OSのバージョンアップでメッセージの飛んでくる
仕様が変わったりするかも知れず、もしかしたら動かなくなることも
あるかも知れないが、「行儀よくプログラムすれば」それを防げる
という単純なものではないと思ってる。なぜなら、何が行儀の
良いプログラムがそもそもドキュメント化されていないし。
という訳で、現存する全てのバージョンのWindows OSで実験して
動くかどうか確認して動かなければ修正し、新しいバージョンのOS
が出てきたら、また実験する事で対応するしかないらしい。
2ch/5ch の書き込みによれば、「どんな場合にも対応できる
プログラムなんて作れるわけがない」んだそうだで、それを
聞いて深く考えさせられたことがある。
889デフォルトの名無しさん
2019/02/01(金) 01:29:58.10ID:WOdIBupf >>888
[続き]
MSDNなどで、自分のやりたいことを探すと、近いものが見つかって、
「これこれこうすれば良い」と書かれていることがあるので、実際に
やってみたとしても、後々、さまざまな不具合と独自機能拡張の難しさに
悩まされ続けることがある。そのたびにネット中を探し回ったり、
色々実験して対処することになる。
でもよくよく考えてみると、そもそも自分で0から実装すると意外と簡単な
ことであったりして、全部自分の制御下にある分、調べる必要もなく、
むしろ時間の節約になったりする事が多い。
[続き]
MSDNなどで、自分のやりたいことを探すと、近いものが見つかって、
「これこれこうすれば良い」と書かれていることがあるので、実際に
やってみたとしても、後々、さまざまな不具合と独自機能拡張の難しさに
悩まされ続けることがある。そのたびにネット中を探し回ったり、
色々実験して対処することになる。
でもよくよく考えてみると、そもそも自分で0から実装すると意外と簡単な
ことであったりして、全部自分の制御下にある分、調べる必要もなく、
むしろ時間の節約になったりする事が多い。
890デフォルトの名無しさん
2019/02/01(金) 01:44:48.22ID:n6bcSVs+ >>889
FindFirstFileのワイルドカードはあまり当てにするな、まで読んだ。
FindFirstFileのワイルドカードはあまり当てにするな、まで読んだ。
891デフォルトの名無しさん
2019/02/01(金) 04:13:32.40ID:2psUfhCM MFTを直接読みなされ
892デフォルトの名無しさん
2019/02/01(金) 17:50:15.61ID:IACxdzc7 >881
ScrollBarのつまみをLButtonDownしたままマウスポインタをつまみから外してドラッグするとつまみの位置は移動します。ということはCaptureしています。
スレッドのCaptureはひとつしかないので、事前のCaptureは解放され、WM_CAPTURECHANGEDが通知されます。
あと、WM_CAPTURECHANGEDでReleaseCaptureするのは無意味です。
ScrollBarのつまみをLButtonDownしたままマウスポインタをつまみから外してドラッグするとつまみの位置は移動します。ということはCaptureしています。
スレッドのCaptureはひとつしかないので、事前のCaptureは解放され、WM_CAPTURECHANGEDが通知されます。
あと、WM_CAPTURECHANGEDでReleaseCaptureするのは無意味です。
893デフォルトの名無しさん
2019/02/01(金) 18:19:28.05ID:WOdIBupf >>892
>WM_CAPTURECHANGEDでReleaseCaptureするのは無意味です。
ああ、そういえば、そうだった気がする。メッセージの
Caputure Changed という名前からしても。
>WM_CAPTURECHANGEDでReleaseCaptureするのは無意味です。
ああ、そういえば、そうだった気がする。メッセージの
Caputure Changed という名前からしても。
894デフォルトの名無しさん
2019/02/01(金) 18:35:25.24ID:kGNgvrty キャプチャ中のAlt+Tabなどは、WM_CANCELMODEというものもある
895デフォルトの名無しさん
2019/02/01(金) 18:50:09.36ID:WOdIBupf >>894
あー、そういえば海外のサイトを調べていたら、
「ALT+TAB でも Capture がどうのこうのなるから、
正しくは、これこれこんな風にプログラムしなければならない」
みたいに書いてあった。ALT+TABを使わなければ生じないことなので、
後回しだな、と思ったのでちゃんと理解してない。
あー、そういえば海外のサイトを調べていたら、
「ALT+TAB でも Capture がどうのこうのなるから、
正しくは、これこれこんな風にプログラムしなければならない」
みたいに書いてあった。ALT+TABを使わなければ生じないことなので、
後回しだな、と思ったのでちゃんと理解してない。
896デフォルトの名無しさん
2019/02/01(金) 18:53:12.96ID:WOdIBupf 「Using SetCapture() and ReleaseCapture() correctly (usually during a drag n' drop operation).」
https://www.codeproject.com/Tips/127813/Using-SetCapture-and-ReleaseCapture-correctly-usua
「Avoiding Trouble with Mouse Capture」
http://www.drdobbs.com/avoiding-trouble-with-mouse-capture/184416474
https://www.codeproject.com/Tips/127813/Using-SetCapture-and-ReleaseCapture-correctly-usua
「Avoiding Trouble with Mouse Capture」
http://www.drdobbs.com/avoiding-trouble-with-mouse-capture/184416474
897デフォルトの名無しさん
2019/02/01(金) 18:55:01.83ID:WOdIBupf // THE RIGHT WAY OF DOING IT:
//* <- Remove a slash to comment out the good version!
case WM_LBUTTONUP:
ReleaseCapture();
return 0;
case WM_CAPTURECHANGED:
g_MovingMainWnd = (HWND)lParam == hWnd;
return 0;
/**/
// THE WRONG WAY OF DOING IT:
/* <- Prefix this with a slash to uncomment the bad version!
case WM_LBUTTONUP:
g_MovingMainWnd = false;
ReleaseCapture();
return 0;
// buggy programs usually do not handle WM_CAPTURECHANGED at all
case WM_CAPTURECHANGED:
break;
/**/
//* <- Remove a slash to comment out the good version!
case WM_LBUTTONUP:
ReleaseCapture();
return 0;
case WM_CAPTURECHANGED:
g_MovingMainWnd = (HWND)lParam == hWnd;
return 0;
/**/
// THE WRONG WAY OF DOING IT:
/* <- Prefix this with a slash to uncomment the bad version!
case WM_LBUTTONUP:
g_MovingMainWnd = false;
ReleaseCapture();
return 0;
// buggy programs usually do not handle WM_CAPTURECHANGED at all
case WM_CAPTURECHANGED:
break;
/**/
898デフォルトの名無しさん
2019/02/07(木) 12:26:45.88ID:kmlzmIx7 PCをXPからwin8.1 64bitに移行したんだけど、自作のソフトがいくつか動かない。デバックしてみたら、GetDC(0)→GetPixelやっている所でフリーズしているみたい。
win8でGetDC(0)は駄目だったりする?
win8でGetDC(0)は駄目だったりする?
899さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/02/07(木) 12:30:15.66ID:trMMLIP2 GetDCはウィンドウに対するDCを返す関数だから、ウィンドウに関係ないなら、CreateCompatibleDC(NULL)/DeleteDCに変えてみい。
900デフォルトの名無しさん
2019/02/07(木) 13:23:19.52ID:FsbblVW+ >>898
DWM(Aero) の場合と、そうでない場合とで surface backend が有る無いの違いがあるには
あるが、一応、GetDC(NULL) が Screen 全体の DC を得るということは仕様化されているので、
新しいOSでも動作自体は出来ないわけではないと思う。
https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/fb7d5836-5e3b-42f8-95cb-586cb2b3da21/getwindowdc-and-bitblt-in-windows-7-and-windows-8?forum=windowssdk
Under DWM (Aero) each window has its own surface backed up by GPU memory.
Without DWM, that is under classic renderer, all pixels covered by another
window are simply discarded. To detect whether DWM is currently running
and enabled use DwmIsCompositionEnabled function.
[ブラウザ上の新OSの紹介]
http://nowsmartsoft.atwebpages.com/
DWM(Aero) の場合と、そうでない場合とで surface backend が有る無いの違いがあるには
あるが、一応、GetDC(NULL) が Screen 全体の DC を得るということは仕様化されているので、
新しいOSでも動作自体は出来ないわけではないと思う。
https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/fb7d5836-5e3b-42f8-95cb-586cb2b3da21/getwindowdc-and-bitblt-in-windows-7-and-windows-8?forum=windowssdk
Under DWM (Aero) each window has its own surface backed up by GPU memory.
Without DWM, that is under classic renderer, all pixels covered by another
window are simply discarded. To detect whether DWM is currently running
and enabled use DwmIsCompositionEnabled function.
[ブラウザ上の新OSの紹介]
http://nowsmartsoft.atwebpages.com/
901デフォルトの名無しさん
2019/02/07(木) 15:13:59.88ID:GcZVZFC2 >>898
一回コピーを作らないとだめ
一回コピーを作らないとだめ
902デフォルトの名無しさん
2019/02/07(木) 19:21:59.34ID:/5LF0iCd >>898
Aero環境ではGetPixelがとてつもなく遅くなるというやつじゃないの?
Aero環境ではGetPixelがとてつもなく遅くなるというやつじゃないの?
903デフォルトの名無しさん
2019/02/08(金) 16:13:48.70ID:OJ5k9nKR Win8.1はAeroじゃなくてMetroだから違うのでは。
904デフォルトの名無しさん
2019/02/09(土) 07:34:09.50ID:VoK7d33Y そういったシステム上の差異をブラックボックス化して吸収するのがSDKなりライブラリの役割だと思うんだけどな。
なんでこうも面倒なのかね。
なんでこうも面倒なのかね。
905デフォルトの名無しさん
2019/02/10(日) 00:56:19.51ID:B31yNMWe AeroやMetroはライブラリだから
906デフォルトの名無しさん
2019/02/10(日) 09:55:16.21ID:jvY/9N9p Quattroは大佐だから
907デフォルトの名無しさん
2019/02/10(日) 14:10:30.78ID:25jgEgQt 5ちゃんはチラシの裏だから
908898
2019/02/10(日) 14:41:50.30ID:pMKPJfwr 遅ればせながら、ご教示していただいた皆様、ありがとうございます。
15年以上前にVC6で作成したソースをもとしたソフトだったので、これを機会に作り替えすることにしました。
今回は、.netのCopyFromScreenからBitmapを作成してGetpixelしてみます。
他にも、mixer関連で取得変更できてなかったり、手を入れなければならないソフトがいっぱいありそう
15年以上前にVC6で作成したソースをもとしたソフトだったので、これを機会に作り替えすることにしました。
今回は、.netのCopyFromScreenからBitmapを作成してGetpixelしてみます。
他にも、mixer関連で取得変更できてなかったり、手を入れなければならないソフトがいっぱいありそう
909sage
2019/02/10(日) 15:07:59.97ID:FHx5KBLx 元々SetPixelを呼び出すごとにDrvBitBltしていたので遅かった
910デフォルトの名無しさん
2019/02/10(日) 18:15:03.40ID:qfB3Qf/j managedだとピクセル単位の処理はunsafe使わないと遅いよ
百倍以上の差が出る
百倍以上の差が出る
911898,908
2019/02/12(火) 14:13:36.96ID:ArFYaOAy マスターボリュームが変更されたらWAVE音量を同じ値に変更するということを、XPではMixerAPIを使って出来てましたが、win8では出来なくなりました。
それでネットをあさってて、マスターボリュームはIMMDeviceのGetDefaultAudioEndpointで取得出来ることが分かりましたが、WAVE音量を変更する方法が不明です。
どなたか教えてください
それでネットをあさってて、マスターボリュームはIMMDeviceのGetDefaultAudioEndpointで取得出来ることが分かりましたが、WAVE音量を変更する方法が不明です。
どなたか教えてください
912デフォルトの名無しさん
2019/02/12(火) 15:38:56.47ID:7Y/Mu4tq Vista以降ミキサーの仕様が変更されててwave音量の項目自体なくなってないか?
913デフォルトの名無しさん
2019/02/19(火) 22:54:47.64ID:mfSiw2KQ LLHOOKか何かで、ユーザーの入力は全部遮断しつつ、
SendInputやkeybd_eventやらのプログラム由来の入力は通すようにしたいのですが、
何か方法ないでしょうか?
今はHIDデバイスを無効にする事を考えてますが、あんまやりたくないです。
SendInputやkeybd_eventやらのプログラム由来の入力は通すようにしたいのですが、
何か方法ないでしょうか?
今はHIDデバイスを無効にする事を考えてますが、あんまやりたくないです。
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【高市朗報】 日本政府「一昨年は1300億円。去年も防衛費が1100億円余ったw」 日本の防衛費は充分足りてる事が判明。増やす必要無し [485983549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【速報】51歳まで自衛隊になれるように法改正ww [347751896]
