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
■ このスレッドは過去ログ倉庫に格納されています
2017/11/11(土) 19:23:00.69ID:TpLoCFAx
535デフォルトの名無しさん
2018/07/22(日) 18:57:59.75ID:Xbb1Ck+x なぜ?
536デフォルトの名無しさん
2018/07/22(日) 19:17:54.18ID:LiIRy0eu537デフォルトの名無しさん
2018/07/22(日) 19:47:40.34ID:lnBo9wWY >>534
無理と決め付ける前に、まずは試してみるべきじゃないかな。
無理と決め付ける前に、まずは試してみるべきじゃないかな。
538デフォルトの名無しさん
2018/07/22(日) 19:49:56.11ID:Rc8bc+T5 >>507
やっぱり自前ですか。
ベースにコモンコントロールのタブコントロール使ってるかと思ったら
どのブラウザも完全にオリジナルのタブコントロールを作ってる
みたいなんですよね。
これだけで一仕事だ、せめて手を抜く方法が無いものか。
やっぱり自前ですか。
ベースにコモンコントロールのタブコントロール使ってるかと思ったら
どのブラウザも完全にオリジナルのタブコントロールを作ってる
みたいなんですよね。
これだけで一仕事だ、せめて手を抜く方法が無いものか。
539デフォルトの名無しさん
2018/07/22(日) 20:07:22.02ID:V5NblbDe コモンコントロールでつくりゃいい
何も真似することないでしょ
何も真似することないでしょ
540デフォルトの名無しさん
2018/07/25(水) 12:14:32.39ID:ObNghvXR >>508
レスをつけてたここの住人はある意味、意地悪だなw
508よ、VS2017とか使ってるなら、プロジェクトのプロパティから、
構成プロパティ -> C/C++ -> 言語 の画面に、準拠モードという項目があるので、準拠モードをオフにしてみろ。
コンパイラが悪さしているだけだw
たとえば、準拠モードONだとこのコードは、こんなエラーになる。オフなら無事コンパイルできる。
#include <stdio.h>
int main(){
char *p = "hoge\n";
printf(p);
return 0;
}
1>------ ビルド開始: プロジェクト: test0001, 構成: Debug Win32 ------
1>test0001.cpp
1>d:\test0001\test0001\test0001.cpp(3): error C2440: '初期化中': 'const char [6]' から 'char *' に変換できません。
1>d:\test0001\test0001\test0001.cpp(3): note: 文字列リテラルからの変換では const 修飾子が失われます (/Zc:strictStrings を参照)
1>プロジェクト "test0001.vcxproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
レスをつけてたここの住人はある意味、意地悪だなw
508よ、VS2017とか使ってるなら、プロジェクトのプロパティから、
構成プロパティ -> C/C++ -> 言語 の画面に、準拠モードという項目があるので、準拠モードをオフにしてみろ。
コンパイラが悪さしているだけだw
たとえば、準拠モードONだとこのコードは、こんなエラーになる。オフなら無事コンパイルできる。
#include <stdio.h>
int main(){
char *p = "hoge\n";
printf(p);
return 0;
}
1>------ ビルド開始: プロジェクト: test0001, 構成: Debug Win32 ------
1>test0001.cpp
1>d:\test0001\test0001\test0001.cpp(3): error C2440: '初期化中': 'const char [6]' から 'char *' に変換できません。
1>d:\test0001\test0001\test0001.cpp(3): note: 文字列リテラルからの変換では const 修飾子が失われます (/Zc:strictStrings を参照)
1>プロジェクト "test0001.vcxproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
541デフォルトの名無しさん
2018/07/25(水) 12:16:39.87ID:SfO6vmHU >コンパイラが悪さ
最低だなこいつ
最低だなこいつ
542540
2018/07/25(水) 12:19:48.04ID:ObNghvXR マルチバイト文字の設定しろって書き忘れた。
構成プロパティ -> 全般 -> 文字セット
マルチバイト文字セットを使用する
の項目をセットしておけ。
古い本ベースで作るならそっちで十分だ。
慣れて来たらunicode文字セットにしてwchar_tとか使えばいいよ。
構成プロパティ -> 全般 -> 文字セット
マルチバイト文字セットを使用する
の項目をセットしておけ。
古い本ベースで作るならそっちで十分だ。
慣れて来たらunicode文字セットにしてwchar_tとか使えばいいよ。
543デフォルトの名無しさん
2018/07/25(水) 12:21:31.72ID:ObNghvXR544デフォルトの名無しさん
2018/07/25(水) 12:42:55.89ID:BhmZZaV3 コンパイラとか言う野郎最悪だな
そんなもんに頼むなよ
そんなもんに頼むなよ
545デフォルトの名無しさん
2018/07/25(水) 13:07:44.22ID:yh3zla7+ だな
ハンドアセンブルとかハンドコンパイルしろ
ハンドアセンブルとかハンドコンパイルしろ
546デフォルトの名無しさん
2018/07/25(水) 13:11:46.60ID:ufwVuEFI547デフォルトの名無しさん
2018/07/25(水) 13:15:34.98ID:bHme1j3N >>542
意地悪も何も、そのレスをとっくにしとるんだが
意地悪も何も、そのレスをとっくにしとるんだが
549デフォルトの名無しさん
2018/08/06(月) 21:23:32.62ID:CcPxoO2Y 成功した時に返り値が0になることがあるのに、失敗したら0を返しますとか言ってるAPIって何なんだよクソ野郎め
550デフォルトの名無しさん
2018/08/06(月) 21:32:35.68ID:1U9qnNco getlasterror
551デフォルトの名無しさん
2018/08/06(月) 21:52:26.61ID:ID4O2Vgr もちろんそんなの知ってるけど、GoがWindows API用に生成してくれるコードが返り値をチェックしちゃっててしばらくハマった
552デフォルトの名無しさん
2018/08/06(月) 23:33:15.82ID:rktgM2el >成功した時に返り値が0になることがあるのに、失敗したら0を返しますとか言ってるAPI
ちなみにどのAPI?
ちなみにどのAPI?
553デフォルトの名無しさん
2018/08/06(月) 23:58:21.60ID:ID4O2Vgr GetClassLongPtrとか
554デフォルトの名無しさん
2018/08/07(火) 00:48:58.54ID:QZJ4WUVF Goがクソなだけじゃん
リファレンス読んでコード生成しろよバーカ
リファレンス読んでコード生成しろよバーカ
555デフォルトの名無しさん
2018/08/07(火) 05:00:55.97ID:OlmXtX1U556デフォルトの名無しさん
2018/08/07(火) 13:27:12.44ID:ldpX++7o557デフォルトの名無しさん
2018/08/07(火) 14:31:10.43ID:AJOeK/rw >関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。
これな
これな
558デフォルトの名無しさん
2018/08/07(火) 21:06:57.68ID:BoePinTI559デフォルトの名無しさん
2018/08/07(火) 21:15:30.99ID:vzugDPjm >>554-555
>リファレンス読んでコード生成しろよバーカ
>失敗が返って来たときは関数を呼びます
しばしば、動詞の主語がないせいで誰が対象なのか、わからないことが多い。
バカなのは誰なのか。
関数を呼ぶのは誰なのか、関数が関数を勝手に呼んでくれるのか。
的な。
>リファレンス読んでコード生成しろよバーカ
>失敗が返って来たときは関数を呼びます
しばしば、動詞の主語がないせいで誰が対象なのか、わからないことが多い。
バカなのは誰なのか。
関数を呼ぶのは誰なのか、関数が関数を勝手に呼んでくれるのか。
的な。
560デフォルトの名無しさん
2018/08/07(火) 21:19:02.18ID:+HmVRhEr 馬鹿なのは読み手に決まってるだろww
561デフォルトの名無しさん
2018/08/07(火) 23:23:50.41ID:ca/GX3OS まさかと思うけど英語読めないとか?
戻り値
関数が成功すると、要求した値が返ります。
関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。
https://msdn.microsoft.com/ja-jp/library/cc364638.aspx
Return value
Type: ULONG_PTR
If the function succeeds, the return value is the requested value.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
https://msdn.microsoft.com/ja-jp/library/windows/desktop/ms633581(v=vs.85).aspx
戻り値
関数が成功すると、要求した値が返ります。
関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。
https://msdn.microsoft.com/ja-jp/library/cc364638.aspx
Return value
Type: ULONG_PTR
If the function succeeds, the return value is the requested value.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
https://msdn.microsoft.com/ja-jp/library/windows/desktop/ms633581(v=vs.85).aspx
562デフォルトの名無しさん
2018/08/07(火) 23:39:40.91ID:95G7jtf/ 訳が全然ちげぇ、ってネタだろ。
563デフォルトの名無しさん
2018/08/07(火) 23:44:38.95ID:JmB8aria う〜ん
実に使いにくい
実に使いにくい
564さまよえる蟻人間 ◆T6xkBnTXz7B0
2018/08/07(火) 23:55:05.37ID:p+v0mQmH ダークサイドの貧乏マは、インターネットのどこかにWin*2 Pr*gramm*rs' Refer*nceというヘルプファイルがあるから、別に。。。まあ、できる奴はサプスクリプションをイッチャッテ。
565デフォルトの名無しさん
2018/08/08(水) 04:44:16.55ID:XhOfYtOw566デフォルトの名無しさん
2018/08/08(水) 05:30:57.38ID:pP5XdYnX567デフォルトの名無しさん
2018/08/08(水) 07:00:27.96ID:EhLv0UZk もう慣れたわ
568デフォルトの名無しさん
2018/08/08(水) 08:05:04.95ID:ApshsMT9 GetClassLongPtrのように値だけ返すやつは、失敗時ややこしいってのはAPIに限ったことじゃなく関数作ったことあればだれでも知ってること
MSDNの日本語ページはの罠は無数にあるから少しでもWindowsプログラミングしたことあれば英語ページ見ることになる
どっちも超初心者じゃないとひっかからない罠
昨日のニュース
日本国内でのプログラミング言語別の年収ランキング、中央値1位は「Go」
http://www.itmedia.co.jp/news/articles/1808/07/news087.html
MSDNの日本語ページはの罠は無数にあるから少しでもWindowsプログラミングしたことあれば英語ページ見ることになる
どっちも超初心者じゃないとひっかからない罠
昨日のニュース
日本国内でのプログラミング言語別の年収ランキング、中央値1位は「Go」
http://www.itmedia.co.jp/news/articles/1808/07/news087.html
569デフォルトの名無しさん
2018/08/08(水) 16:43:15.25ID:QemCzjVB >>566
それを訳がひどいって言うんだよ
それを訳がひどいって言うんだよ
570デフォルトの名無しさん
2018/08/08(水) 16:56:08.84ID:T8cc5IXv みんな間抜けなんでマジレスするけど、SetLastError(0)でクリアしてから呼ばないと、成功したのか失敗したのかわからん仕様です。
571デフォルトの名無しさん
2018/08/08(水) 17:43:49.45ID:jbuaovom572デフォルトの名無しさん
2018/08/08(水) 19:26:41.46ID:9aI0uHWQ ぬるぽ
573デフォルトの名無しさん
2018/08/11(土) 00:27:06.52ID:MXmSxQHh >>566
これを見るたびに何でどうしたらこんなことになるのかと考え込んで作業が中断してしまうのだ
これを見るたびに何でどうしたらこんなことになるのかと考え込んで作業が中断してしまうのだ
574デフォルトの名無しさん
2018/08/11(土) 07:49:06.09ID:J6jQGTXX 開発が遅れるわけだw
575デフォルトの名無しさん
2018/08/11(土) 13:45:31.92ID:VJAxUjoq 悟ってお仕事
576デフォルトの名無しさん
2018/08/23(木) 22:27:48.51ID:hCHxCnaA スナップできるのはどういうウィンドウかあるいはどういう条件なのか、具体的な要件の一覧ってどこかで見られますか。
自作デスクトップアプリケーションのウィンドウがスナップ機能の対象になってないことに気づいて、少しプログラムをいじってみたところ
すぐにウィンドウスタイルによってスナップ機能が働かないことがあるのはわかりました。
具体的にはWS_MAXIMIZEBOXが無いとスナップできません。
で、他のスタイルやスタイル以外の条件もあるかもしれないと思い、
まずはウィンドウスタイルとスナップの関係性から調べてみましたがスナップ機能の条件についての情報は見つけられませんでした。
よろしくお願いします。
自作デスクトップアプリケーションのウィンドウがスナップ機能の対象になってないことに気づいて、少しプログラムをいじってみたところ
すぐにウィンドウスタイルによってスナップ機能が働かないことがあるのはわかりました。
具体的にはWS_MAXIMIZEBOXが無いとスナップできません。
で、他のスタイルやスタイル以外の条件もあるかもしれないと思い、
まずはウィンドウスタイルとスナップの関係性から調べてみましたがスナップ機能の条件についての情報は見つけられませんでした。
よろしくお願いします。
577デフォルトの名無しさん
2018/08/23(木) 23:19:58.10ID:yNz2G80b スナップなんてOSの設定で最初に切る項目だぞ
気にするな
気にするな
578デフォルトの名無しさん
2018/08/24(金) 12:24:54.13ID:ZVlysGry ダイアログにすればいい
579デフォルトの名無しさん
2018/08/24(金) 12:28:22.65ID:NFTQhSIK ついでに質問だけど
win10あたりからウィンドウの枠のちょっと外まで(影なしにしてても)
ウィンドウのリサイズとかマウスアイコン⇔の判定に使われてるみたいで
ウィンドウの下のウィンドウを上にもって来たくてクリックしたつもりが
違うウィンドウが上に来てしまうことが多くて困ってる
これなんとかする設定どこにある?
win10あたりからウィンドウの枠のちょっと外まで(影なしにしてても)
ウィンドウのリサイズとかマウスアイコン⇔の判定に使われてるみたいで
ウィンドウの下のウィンドウを上にもって来たくてクリックしたつもりが
違うウィンドウが上に来てしまうことが多くて困ってる
これなんとかする設定どこにある?
580デフォルトの名無しさん
2018/08/24(金) 12:54:56.78ID:9pgk/rrF このスレ的な解決だとFrameRectをフックして少し大きめの枠に変えちゃえばいいのかな
581デフォルトの名無しさん
2018/08/24(金) 13:35:47.85ID:C22mUEBr > 具体的にはWS_MAXIMIZEBOXが無いとスナップできません。
win7 WS_MAXIMIZEBOXなしのタイトルバーをマウスでつまんで
desktopの上辺に移動してマウスを放すと、
タイトルバーが完全に表示されるように再移動される
これもsnapではないのか
win7 WS_MAXIMIZEBOXなしのタイトルバーをマウスでつまんで
desktopの上辺に移動してマウスを放すと、
タイトルバーが完全に表示されるように再移動される
これもsnapではないのか
582デフォルトの名無しさん
2018/08/24(金) 16:58:34.94ID:71ZOGqZF >>581
そうですね。即席で調べただけなので見落としてました。
いずれにせよ、スナップ操作時にどういったウィンドウならばどういう作用が起こるのか、
逆に特定のスナップの効果が欲しい場合にどういうウィンドウをセットアップすればよいのか
みたいなことがわかる情報を探しています。
そうですね。即席で調べただけなので見落としてました。
いずれにせよ、スナップ操作時にどういったウィンドウならばどういう作用が起こるのか、
逆に特定のスナップの効果が欲しい場合にどういうウィンドウをセットアップすればよいのか
みたいなことがわかる情報を探しています。
583デフォルトの名無しさん
2018/08/27(月) 20:05:43.05ID:vbuO7hMr 片山の取り巻きは帰れ
584デフォルトの名無しさん
2018/08/28(火) 18:50:20.34ID:K0zx4BAG 実行中のGUIアプリケーションのコントロールを取得して表示させたいのですが良い方法はありますか?
585デフォルトの名無しさん
2018/08/28(火) 22:31:26.44ID:CqD+kceR spyのソースを読むべし
586デフォルトの名無しさん
2018/08/29(水) 06:13:37.68ID:bvggge1h hwnd検索するだけの質問だったのか
てっきりインジェクトして中身奪い取るとかそんなのかと思ったわww
てっきりインジェクトして中身奪い取るとかそんなのかと思ったわww
587デフォルトの名無しさん
2018/08/29(水) 06:56:51.37ID:/uFmfA/d そっちならAppInit_DLLsの勉強しなされ
ってのが回答かな
ってのが回答かな
588デフォルトの名無しさん
2018/08/29(水) 07:15:50.54ID:bvggge1h 難しいのはインジェクトの先だから・・・
589デフォルトの名無しさん
2018/08/29(水) 08:38:47.27ID:SgdWV5FD 悪用出来るからこの先は自分でお勉強
590デフォルトの名無しさん
2018/08/29(水) 09:10:27.86ID:eKXrV34J591デフォルトの名無しさん
2018/08/29(水) 09:13:57.66ID:/ngMaME6592デフォルトの名無しさん
2018/08/29(水) 09:29:45.16ID:eKXrV34J593デフォルトの名無しさん
2018/08/29(水) 10:17:28.09ID:X/yLq4q6 そのまま残してんなら奪ってないやん
594デフォルトの名無しさん
2018/08/29(水) 10:41:34.94ID:eKXrV34J595デフォルトの名無しさん
2018/08/29(水) 11:02:53.78ID:X/yLq4q6596デフォルトの名無しさん
2018/08/29(水) 11:13:44.40ID:7geB3Ftq パスワードはいただいた
返して欲しければ1BC用意しろ
返して欲しければ1BC用意しろ
597デフォルトの名無しさん
2018/08/29(水) 12:00:14.20ID:X/yLq4q6 いただいた(変更した)
598デフォルトの名無しさん
2018/08/29(水) 12:09:36.88ID:/ngMaME6 入力するパスワードを勝手に変えたら駄目じゃん
599デフォルトの名無しさん
2018/08/29(水) 14:19:35.46ID:X/yLq4q6 パスワード変えずに「パスワードはいただいた」って?
それ何の脅しにもならんやん
元の持ち主が別のに変更して終わり
それ何の脅しにもならんやん
元の持ち主が別のに変更して終わり
600デフォルトの名無しさん
2018/08/29(水) 14:37:13.57ID:7geB3Ftq せっかくギャグを入れてやったのにしょうもねえ奴ら
601デフォルトの名無しさん
2018/08/29(水) 22:37:19.40ID:/ngMaME6 え?おもしろいとでも思ってたの?
もしかして渾身のギャグなの?
恥ずかしくないの?
もしかして渾身のギャグなの?
恥ずかしくないの?
602デフォルトの名無しさん
2018/08/30(木) 10:17:52.45ID:Z5Fjo3b4 程度が同じじゃないとジョークは通じないらしい
ただ今回はガキとバカだからどちらも等しく低いように見えるな
ただ今回はガキとバカだからどちらも等しく低いように見えるな
603デフォルトの名無しさん
2018/08/30(木) 10:23:06.98ID:53NSE4xw 謎の上から目線
604デフォルトの名無しさん
2018/08/31(金) 04:18:44.69ID:kx4Z958G 昔のゲームのコードを弄ってて困った事があります。
ウィンドウの大きさを変えると一緒に表示中の画面も引き延ばされるのですが
引き延ばされた時に粗くなって美しくないです。内部のバッファをウィンドウを最大化された時の大きさで確保しておき
ゲームの処理の方でフィルタ処理を施せば上手く行きますが出来れば小さいバッファのままで
ウィンドウのリサイズ時にAPI側でフィルタ処理できないでしょうか?
あと気になるのが環境によっては上記の処理を勝手にやってくれている環境もあります(ディスプレイドライバによるのかもしれません)。
出来れば確実にこちらで処理できるようになれば嬉しいです。
ウィンドウの大きさを変えると一緒に表示中の画面も引き延ばされるのですが
引き延ばされた時に粗くなって美しくないです。内部のバッファをウィンドウを最大化された時の大きさで確保しておき
ゲームの処理の方でフィルタ処理を施せば上手く行きますが出来れば小さいバッファのままで
ウィンドウのリサイズ時にAPI側でフィルタ処理できないでしょうか?
あと気になるのが環境によっては上記の処理を勝手にやってくれている環境もあります(ディスプレイドライバによるのかもしれません)。
出来れば確実にこちらで処理できるようになれば嬉しいです。
605デフォルトの名無しさん
2018/08/31(金) 06:25:35.68ID:u3E//DdP >>604
普通、WM_SIZEの都度ゲームのフレームバッファを再作成するもんじゃねえの?
普通、WM_SIZEの都度ゲームのフレームバッファを再作成するもんじゃねえの?
606デフォルトの名無しさん
2018/08/31(金) 06:50:31.93ID:kx4Z958G >>605
出来ればバッファの大きさは固定で行きたいんです。
最大化された時にいかにも拡大してフィルタリングされた感じを出したいので。
環境によってはウィンドウがリサイズされると勝手にフィルタリングしてくれて
ぼやっとした画面になるので出来ればそれを確実にやりたい感じです。
何か設定でもあるんでしょうか。OSの設定としてあるならそれを知りたいです。
出来ればバッファの大きさは固定で行きたいんです。
最大化された時にいかにも拡大してフィルタリングされた感じを出したいので。
環境によってはウィンドウがリサイズされると勝手にフィルタリングしてくれて
ぼやっとした画面になるので出来ればそれを確実にやりたい感じです。
何か設定でもあるんでしょうか。OSの設定としてあるならそれを知りたいです。
607デフォルトの名無しさん
2018/08/31(金) 07:13:40.06ID:wCA0c3fj SetStretchBltMode
608デフォルトの名無しさん
2018/08/31(金) 18:32:30.98ID:kx4Z958G >>607
良さげですね!試してみます。ありがとうございます。
良さげですね!試してみます。ありがとうございます。
609608
2018/08/31(金) 20:11:53.40ID:kx4Z958G どのタイミングでStreachBltを呼び出してるのかわからない…
ウィンドウを制御するクラスの中のWM_PAINTは空だし。
初期化時にDirectXのAPIにhWndを渡してるので勝手にDirectX内部で呼び出してるのかな?
リサイズされた時にhWndを元にHDC作ってそこでStreachBltとか。その後HDC破棄みたいな。
そうなると手出しできないってこと?
ウィンドウを制御するクラスの中のWM_PAINTは空だし。
初期化時にDirectXのAPIにhWndを渡してるので勝手にDirectX内部で呼び出してるのかな?
リサイズされた時にhWndを元にHDC作ってそこでStreachBltとか。その後HDC破棄みたいな。
そうなると手出しできないってこと?
610デフォルトの名無しさん
2018/08/31(金) 20:17:23.84ID:kx4Z958G それともウィンドウ作成時のスタイル設定などで
リサイズに合わせてスケーリングをどうするのかみたいな設定があるのかな。
それだとそこの設定でどうにかなりそうな気もするけどよく分からない。
ちなみにウィンドウ制御クラスの中のWM_PAINTでは動画などのスケーリングは自前でやってた。
なので少なくともWM_PAINTの中では自分でウィンドウ内部の他の表示のスケーリングはやってない。
リサイズに合わせてスケーリングをどうするのかみたいな設定があるのかな。
それだとそこの設定でどうにかなりそうな気もするけどよく分からない。
ちなみにウィンドウ制御クラスの中のWM_PAINTでは動画などのスケーリングは自前でやってた。
なので少なくともWM_PAINTの中では自分でウィンドウ内部の他の表示のスケーリングはやってない。
611デフォルトの名無しさん
2018/08/31(金) 20:46:55.45ID:kx4Z958G ここ見たらたぶん同じような症状で困ってた人がいて
http://dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=past&no=1506
基本的に手出しができず綺麗に拡大されるかはドライバによるという事らしい…
え〜やだやだ〜 納得できない。やっすいPCでも綺麗に拡大されてるのに
家の高いPC(ドライバも新しい)で汚いなんて納得できないよ〜!
http://dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=past&no=1506
基本的に手出しができず綺麗に拡大されるかはドライバによるという事らしい…
え〜やだやだ〜 納得できない。やっすいPCでも綺麗に拡大されてるのに
家の高いPC(ドライバも新しい)で汚いなんて納得できないよ〜!
612デフォルトの名無しさん
2018/08/31(金) 21:07:44.36ID:pOoITzWx > 現状ではコーラさんがお書き込みになられた方法しかありません
あるって書いてあるじゃn
あるって書いてあるじゃn
613デフォルトの名無しさん
2018/08/31(金) 21:22:40.36ID:kx4Z958G614デフォルトの名無しさん
2018/08/31(金) 21:23:46.62ID:kx4Z958G615デフォルトの名無しさん
2018/08/31(金) 21:31:04.55ID:pOoITzWx だからバッファ固定でできるって
616デフォルトの名無しさん
2018/08/31(金) 21:32:44.33ID:LcHwdHfr なんか意味不明な質問だなと思ったら、それWin32じゃなくてDXライブラリとかいう
よくわからんライブラリの話やん。
よくわからんライブラリの話やん。
617デフォルトの名無しさん
2018/08/31(金) 21:33:51.55ID:kx4Z958G 拡大した時に粗くなる→最初から内部のバッファの解像度を上げておけばよくね?
ってのはナシで。
あくまでも内部のバッファの大きさは今のままでウィンドウが拡大された時に
勝手にドライバがやる部分をどうにかしたい。けど無理そうだね…
納得いかないのは、やっすいPCでは綺麗に表示されてるのに
たっかいPCで汚く表示されてしまうこと… 逆なら納得したのにこれはないよな〜
ってのはナシで。
あくまでも内部のバッファの大きさは今のままでウィンドウが拡大された時に
勝手にドライバがやる部分をどうにかしたい。けど無理そうだね…
納得いかないのは、やっすいPCでは綺麗に表示されてるのに
たっかいPCで汚く表示されてしまうこと… 逆なら納得したのにこれはないよな〜
618デフォルトの名無しさん
2018/08/31(金) 21:35:25.97ID:kx4Z958G619デフォルトの名無しさん
2018/08/31(金) 21:44:49.09ID:pOoITzWx win32でやるならSetStretchBltMode
おまえがやるべきなのは小さい画面サイズのでいいからそのDCを取り出すこと
それしたらあとは表示するだけ
おまえがやるべきなのは小さい画面サイズのでいいからそのDCを取り出すこと
それしたらあとは表示するだけ
620デフォルトの名無しさん
2018/08/31(金) 21:50:44.31ID:kx4Z958G >>619
要するにそれは内部バッファのHDCを取り出して
SetStretchBltModeを設定し、その後ウィンドウのクライアント領域に自前で
StretchBltで描画しろってことになるかな?まあそれしかないのかやっぱ。
要するにそれは内部バッファのHDCを取り出して
SetStretchBltModeを設定し、その後ウィンドウのクライアント領域に自前で
StretchBltで描画しろってことになるかな?まあそれしかないのかやっぱ。
621デフォルトの名無しさん
2018/08/31(金) 22:41:05.39ID:kx4Z958G さすがに自前でやったらGDI+使っても速度が全然でなかった(毎フレーム描画しないといけないので)。
諦めます〜
諦めます〜
622デフォルトの名無しさん
2018/08/31(金) 22:47:15.40ID:u3E//DdP なんか基本的な部分から盛大に勘違いしてそうだな
Direct3D使ってるならドライバ依存になるのはスワップチェインのバックバッファが
ターゲットウィンドウのサイズとかみ合わない場合に
Presentの呼び出しでウィンドウにフィットするように自動でスケーリングされる部分だ
ドライバ依存の挙動を回避したいならバックバッファをウィンドウに合わせてリサイズするのは必須なの
逆に、バックバッファの解像度をゲームの解像度と考える必要も無い
バックバッファがどんなサイズであれゲーム自体は固定サイズのレンダーターゲット用テクスチャにレンダリングし
バックバッファへはそのテクスチャをスプライトとして張り付けるだけ
拡縮フィルタリングをニアレストにするのもバイリニアにするのもアプリでしっかり管理できる
なんならシェーダでLanczosにしても良い
Direct3D使ってるならドライバ依存になるのはスワップチェインのバックバッファが
ターゲットウィンドウのサイズとかみ合わない場合に
Presentの呼び出しでウィンドウにフィットするように自動でスケーリングされる部分だ
ドライバ依存の挙動を回避したいならバックバッファをウィンドウに合わせてリサイズするのは必須なの
逆に、バックバッファの解像度をゲームの解像度と考える必要も無い
バックバッファがどんなサイズであれゲーム自体は固定サイズのレンダーターゲット用テクスチャにレンダリングし
バックバッファへはそのテクスチャをスプライトとして張り付けるだけ
拡縮フィルタリングをニアレストにするのもバイリニアにするのもアプリでしっかり管理できる
なんならシェーダでLanczosにしても良い
623デフォルトの名無しさん
2018/08/31(金) 23:02:05.30ID:GkpBxwA9 せっかく諦めたのに
624デフォルトの名無しさん
2018/08/31(金) 23:19:59.47ID:kx4Z958G625デフォルトの名無しさん
2018/08/31(金) 23:25:09.45ID:N52+Kto5 野菜の日
626デフォルトの名無しさん
2018/09/04(火) 23:00:53.53ID:g1EQF691 CreateFile()で取得したハンドルをGetMailslotInfo()に渡していいものでしょうか?
CreateFile()の第1引数には、別プロセスでCreateMailslot()したときの第1引数と同じ
です。
CreateFile()の第1引数には、別プロセスでCreateMailslot()したときの第1引数と同じ
です。
627デフォルトの名無しさん
2018/09/05(水) 08:35:25.55ID:w5sEnOXo 流石にmsdn見ろとしか
628デフォルトの名無しさん
2018/10/03(水) 18:23:25.15ID:BIMPuBeq リストビューでマウスドラッグで範囲選択をしているとき、
その選択範囲の矩形座標を取得する仕組みは無いのでしょうか。
範囲選択開始時のLVN_MARQUEEBEGINしか見つからないのですが。
その選択範囲の矩形座標を取得する仕組みは無いのでしょうか。
範囲選択開始時のLVN_MARQUEEBEGINしか見つからないのですが。
629デフォルトの名無しさん
2018/10/05(金) 23:00:23.19ID:OkuzM4NB メインウィンドウのメッセージループからマウス系イベント拾ってくるのが楽で良い
630デフォルトの名無しさん
2018/10/18(木) 16:38:48.09ID:rfYW9BA4 AVIStreamGetFrameOpenというAPIで「MPEG-4 Visual (XviD)」で
圧縮されたaviファイルを開きたいのですが可能でしょうか?
また上記が無理なら無圧縮以外の何かでエンコードされたものを
開きたいのですが何だったら可能なのかも教えてもらえないでしょうか?
AVIStreamGetFrameOpenは、2番目の引数にAVIGETFRAMEF_BESTDISPLAYFMTを指定すれば
完全な無圧縮以外でYUY2だけはいけました。
圧縮されたaviファイルを開きたいのですが可能でしょうか?
また上記が無理なら無圧縮以外の何かでエンコードされたものを
開きたいのですが何だったら可能なのかも教えてもらえないでしょうか?
AVIStreamGetFrameOpenは、2番目の引数にAVIGETFRAMEF_BESTDISPLAYFMTを指定すれば
完全な無圧縮以外でYUY2だけはいけました。
631630
2018/10/18(木) 17:40:26.75ID:rfYW9BA4 調べていたらコーデックというのはAVIStreamGetFrameOpenで使用されたような古い形式と
メディアプレイヤーで使用されてるような新しい形式があるようですね…
つまりこの古いAPIだとそれように提供されているコーデックを探してインストールしないといけないという事になるでしょうか?
新しい形式を利用するプログラムを作った方がいいような気がしてきました。
メディアプレイヤーで使用されてるような新しい形式があるようですね…
つまりこの古いAPIだとそれように提供されているコーデックを探してインストールしないといけないという事になるでしょうか?
新しい形式を利用するプログラムを作った方がいいような気がしてきました。
632630
2018/10/18(木) 18:23:13.79ID:rfYW9BA4 確かにVideo for Windows用のコーデックを探してきてインストールすれば動くようになりました。
解決はしたのですが他のPCでもその都度これをインストールしないといけないってのがどうも…
解決はしたのですが他のPCでもその都度これをインストールしないといけないってのがどうも…
633デフォルトの名無しさん
2018/10/18(木) 18:34:46.06ID:LsEafRqd そりゃコーデックのインストールは必須だよ
自前実装するとかなら別だけど
自前実装するとかなら別だけど
634デフォルトの名無しさん
2018/10/18(木) 18:57:16.36ID:rfYW9BA4 >>633
ただ新しいタイプの方(DirectShow)の方はメディアプレイヤーとかも入ってるので
デフォルトでも結構動きそうなのでそこがいいなと。
初回のプログラム起動時にコーデック用dllだけシステムフォルダに突っ込んでもいいのかな…
ただ新しいタイプの方(DirectShow)の方はメディアプレイヤーとかも入ってるので
デフォルトでも結構動きそうなのでそこがいいなと。
初回のプログラム起動時にコーデック用dllだけシステムフォルダに突っ込んでもいいのかな…
635デフォルトの名無しさん
2018/10/19(金) 12:08:49.41ID:jQ8EJjtV >>632
ffmpeg
ffmpeg
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 中国国営メディア「沖縄は日本ではない」…★7 [BFU★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 高市早苗、岸田政権(当時)に「台湾有事は日本の有事か」という質問をしていた [175344491]
- ケンタッキーの○○○バーガーという予告がアレを想起すると話題に [523957489]
- 【悲報】中国→日本行きの航空チケット、高市有事の影響で50万人分がキャンセルされる [834922174]
- んなっしょい🍬禁止🈲のお🏡
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
