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
355デフォルトの名無しさん
2022/08/17(水) 10:05:31.13ID:75soL8XV FFmpeg 使った方が良くね?
356デフォルトの名無しさん
2022/08/17(水) 11:59:16.72ID:75soL8XV ああ
それを言うなら ffdshow の方だったかな
しかしまだ使えるんかなこれ
それを言うなら ffdshow の方だったかな
しかしまだ使えるんかなこれ
357デフォルトの名無しさん
2022/08/18(木) 16:29:05.82ID:9oKj6z2J xvideos
358デフォルトの名無しさん
2022/08/22(月) 16:22:19.61ID:ChTfYzF8 日本語キーボード日本語Windowsで英数キー(CapsLockキー)のアップを捕捉する事って不可能?
レジストリでキーマップを変えて英数キーを違うキーに割り当てた後なら一般的なキー同様に捕捉出来ることは確認できたけどそういう迂回方法無しで出来る方法があれば教えてもらいたい
レジストリでキーマップを変えて英数キーを違うキーに割り当てた後なら一般的なキー同様に捕捉出来ることは確認できたけどそういう迂回方法無しで出来る方法があれば教えてもらいたい
359デフォルトの名無しさん
2022/08/22(月) 17:26:47.15ID:Zp58Sca6 GetKeyState( vk_code )
VK_CAPITAL CapsLockのトグル状態 のほうじゃなく
VK_OEM_ATTN 仮想キーコード 240 (0xF0) で今の押下状態は取得できそうではあるな
IMEはちゃんと shift 無し Caps lock キーを受け取って反応できてるんだし
VK_CAPITAL CapsLockのトグル状態 のほうじゃなく
VK_OEM_ATTN 仮想キーコード 240 (0xF0) で今の押下状態は取得できそうではあるな
IMEはちゃんと shift 無し Caps lock キーを受け取って反応できてるんだし
360デフォルトの名無しさん
2022/08/22(月) 18:22:10.86ID:9oiM0iks ないです
361デフォルトの名無しさん
2022/08/22(月) 18:27:49.15ID:x6NjRtAl ノートパソコンなどの省スペースキーボードについてるFnキーも拾えないんだよなあ、GetKeyState&GetAsyncKeyState
362デフォルトの名無しさん
2022/08/22(月) 21:05:07.73ID:pMMCnUP8 fnはosの預かり知らないキーなので同列にすんなハゲハゲハゲハゲハゲ!!!!!!!!!!!
363デフォルトの名無しさん
2022/08/22(月) 21:25:09.66ID:6BQsurqE キーボードのコントローラーが勝手に処理してるでしょう
CPUまで線がつながってない感じ
CPUまで線がつながってない感じ
364デフォルトの名無しさん
2022/08/23(火) 07:39:49.30ID:W/9/eWQQ >>359
SetTimerとかで定期監視するしか無さそうか
SetTimerとかで定期監視するしか無さそうか
365デフォルトの名無しさん
2022/08/25(木) 23:57:16.63ID:ePt16zWH 今はarduinoとかで自分好みのキーボード作れる時代なんだぜ
知らんけど
知らんけど
366デフォルトの名無しさん
2022/08/26(金) 10:40:49.53ID:lf60l9vY 虫歯が痛いなら総入れ歯にしましょう!レベルの解決策w
367デフォルトの名無しさん
2022/08/26(金) 12:29:39.93ID:NrrxL3kr 禿げてきたら丸坊主にしましょう!
368デフォルトの名無しさん
2022/08/26(金) 12:48:26.23ID:im0ZYKIt なんて日だ!
369デフォルトの名無しさん
2022/08/31(水) 12:36:32.64ID:twZsJrmt >>355
ライセンスはどうしてるの?
GPLやLGPLだから、リンクすれば最低でも自作プログラムのオブジェクト
ファイルの公開が必要になるだろう。
別コマンドで実行する場合は、*.exe が自作アプリと合わせて二つ必要になるし、
データの受け渡しの効率も落ちる。
ライセンスはどうしてるの?
GPLやLGPLだから、リンクすれば最低でも自作プログラムのオブジェクト
ファイルの公開が必要になるだろう。
別コマンドで実行する場合は、*.exe が自作アプリと合わせて二つ必要になるし、
データの受け渡しの効率も落ちる。
370デフォルトの名無しさん
2022/09/02(金) 22:59:42.92ID:L2uZLmEf 質問です。
GetCharABCWidths()を用いて、TextOut()で描いた文字のABC構造体を取得しています。
Arialフォントのような欧文フォントを用いてTextOut()で"あ"を描いた場合、そのフォント内には"あ"という日本語文字は入っていないため、適当な代替フォントに置き換えられて"あ"が描かれるようです(たぶん「フォントリンク」という機能だと思います)。
この時にGetCharABCWidths()で得られるABC構造体には、描かれた"あ"の寸法が入っておらず、ダミーの寸法が入ってきてしまいます。
msdnのGetCharABCWidths()APIの項には、
The ABC widths of the default character are used for characters outside the range of the currently selected font.
とあるので、APIとしては仕様どおりの動作なのですが、では、描かれた"あ"のABC寸法を得るにはどうすればよいのでしょうか?
以上、よろしくお願いします。
GetCharABCWidths()を用いて、TextOut()で描いた文字のABC構造体を取得しています。
Arialフォントのような欧文フォントを用いてTextOut()で"あ"を描いた場合、そのフォント内には"あ"という日本語文字は入っていないため、適当な代替フォントに置き換えられて"あ"が描かれるようです(たぶん「フォントリンク」という機能だと思います)。
この時にGetCharABCWidths()で得られるABC構造体には、描かれた"あ"の寸法が入っておらず、ダミーの寸法が入ってきてしまいます。
msdnのGetCharABCWidths()APIの項には、
The ABC widths of the default character are used for characters outside the range of the currently selected font.
とあるので、APIとしては仕様どおりの動作なのですが、では、描かれた"あ"のABC寸法を得るにはどうすればよいのでしょうか?
以上、よろしくお願いします。
371デフォルトの名無しさん
2022/09/04(日) 10:57:34.63ID:RQxkFcRF GetTextExtentPoint32()
SetTextJustification()
DrawText()
SetTextJustification()
DrawText()
372デフォルトの名無しさん
2022/09/04(日) 16:57:14.39ID:aZX/9mcR >>371
ありがとうございます。
GetTextExtentPoint32()だと、文字の左余白(A), 文字自体の幅(B), 文字の右余白(C)の
和の値(A+B+C)しか得ることができません。
そうではなくて、各文字について、A,B,Cそれぞれの値が知りたいのです。
それを返してくれるのがGetCharABCWidths()なのですが、>>370に書いたように
正しい値が返ってこない場合があります。
一応、自分で考えた対処方法として、
1. GetTextExtentPoint32()で、文字のA+B+Cの値を取得
2. その幅を持つ白色の描画領域を確保し、その原点位置から黒色でその文字を描画
3. 領域に描画された結果(白・黒)を左端から走査して、左余白(A)を得る
4. 同様に右端から走査して、右余白(C)を得る
5. 手順1で取得したA+B+Cの値からAとCを減じてBを得る
という風にすれば、(どんくさいですが)知りたい値を得ることはできると思います。
ちなみに、実際には、上のやり方そのままではうまくいかないことがありそうです。
というのも、イタリック体にしたりすると、AやCの値がマイナスになることがあるからです。
その場合、上のやり方だと、文字の左右が領域からはみ出て描画されてしまいます。
なので、左右にある程度の余裕を持った領域、例えば幅「100+A+B+C+100」の領域を確保し、
(x,y)=(100,0)の位置に文字を描画する。
そうするとはみ出さずに描画できるので、100の余分な余白があることを考慮に入れて計算すれば、
A,B,Cを得られるだろうと考えています。
でも、こんなやり方は面倒くさい。もっとマシなやり方はないのだろうか・・・。
例えば、フォントリンク?で描画されたときに、どのフォントが使われたのかがわかれば、
そのフォントを明示的にデバイスコンテキストに指定してGetCharABCWidths()呼べば
A,B,Cの幅を得られるはずですが、フォントを知る方法はわかりませんでした。
ありがとうございます。
GetTextExtentPoint32()だと、文字の左余白(A), 文字自体の幅(B), 文字の右余白(C)の
和の値(A+B+C)しか得ることができません。
そうではなくて、各文字について、A,B,Cそれぞれの値が知りたいのです。
それを返してくれるのがGetCharABCWidths()なのですが、>>370に書いたように
正しい値が返ってこない場合があります。
一応、自分で考えた対処方法として、
1. GetTextExtentPoint32()で、文字のA+B+Cの値を取得
2. その幅を持つ白色の描画領域を確保し、その原点位置から黒色でその文字を描画
3. 領域に描画された結果(白・黒)を左端から走査して、左余白(A)を得る
4. 同様に右端から走査して、右余白(C)を得る
5. 手順1で取得したA+B+Cの値からAとCを減じてBを得る
という風にすれば、(どんくさいですが)知りたい値を得ることはできると思います。
ちなみに、実際には、上のやり方そのままではうまくいかないことがありそうです。
というのも、イタリック体にしたりすると、AやCの値がマイナスになることがあるからです。
その場合、上のやり方だと、文字の左右が領域からはみ出て描画されてしまいます。
なので、左右にある程度の余裕を持った領域、例えば幅「100+A+B+C+100」の領域を確保し、
(x,y)=(100,0)の位置に文字を描画する。
そうするとはみ出さずに描画できるので、100の余分な余白があることを考慮に入れて計算すれば、
A,B,Cを得られるだろうと考えています。
でも、こんなやり方は面倒くさい。もっとマシなやり方はないのだろうか・・・。
例えば、フォントリンク?で描画されたときに、どのフォントが使われたのかがわかれば、
そのフォントを明示的にデバイスコンテキストに指定してGetCharABCWidths()呼べば
A,B,Cの幅を得られるはずですが、フォントを知る方法はわかりませんでした。
373デフォルトの名無しさん
2022/09/04(日) 17:09:08.67ID:A8KVTWK8 https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-gettextmetrics
https://docs.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-textmetrica
>日本語文字は入っていない
結局この問題は残るんじゃないかな
確実に日本語グリフが入ってるフォントを指定
https://docs.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-textmetrica
>日本語文字は入っていない
結局この問題は残るんじゃないかな
確実に日本語グリフが入ってるフォントを指定
374デフォルトの名無しさん
2022/09/04(日) 19:32:04.85ID:aZX/9mcR ありがとうございます。
作っているアプリの仕様は、
・アプリのユーザは、フォントと文字列を自由に指定できる
・画面上には、指定したフォントで、指定した文字列が描画される
やりたいことは、
・ユーザが上記の操作で描画させた文字列中の各文字について、A,B,Cの幅を知りたい
ということなのです。
本来NGな組み合わせ(例:欧文フォントと、全角まじり文字列との組み合わせ)をユーザーが指定した時、
存在しない文字がいわゆる豆腐(□)にでも化けてくれれば、そこでユーザは別のフォントを
選びなおすはずです。
しかし、文字化けせずに一見正しく表示されてしまうため、困っています。
作っているアプリの仕様は、
・アプリのユーザは、フォントと文字列を自由に指定できる
・画面上には、指定したフォントで、指定した文字列が描画される
やりたいことは、
・ユーザが上記の操作で描画させた文字列中の各文字について、A,B,Cの幅を知りたい
ということなのです。
本来NGな組み合わせ(例:欧文フォントと、全角まじり文字列との組み合わせ)をユーザーが指定した時、
存在しない文字がいわゆる豆腐(□)にでも化けてくれれば、そこでユーザは別のフォントを
選びなおすはずです。
しかし、文字化けせずに一見正しく表示されてしまうため、困っています。
375デフォルトの名無しさん
2022/09/04(日) 23:44:22.53ID:047Xbk5t >>374
ABCなんて何に使うんだろうと思ったら、フォント情報を表示するツールなのか。
GetCharacterPlacement + ExtTextOut / ETO_GLYPH_INDEX あたりで、グリフを直接描画すれば
フォントリンクは効かないはずなので無い文字は豆腐になるはず...
ABCなんて何に使うんだろうと思ったら、フォント情報を表示するツールなのか。
GetCharacterPlacement + ExtTextOut / ETO_GLYPH_INDEX あたりで、グリフを直接描画すれば
フォントリンクは効かないはずなので無い文字は豆腐になるはず...
376デフォルトの名無しさん
2022/09/05(月) 20:04:11.68ID:lEq1EKXB ありがとうございます。
参考にさせていただきます。
可能ならば、無理やり豆腐にするんじゃなくて、フォントリンクで表示されたとおりの文字の情報を取得できるのが理想ですが、難しそうですね・・・
参考にさせていただきます。
可能ならば、無理やり豆腐にするんじゃなくて、フォントリンクで表示されたとおりの文字の情報を取得できるのが理想ですが、難しそうですね・・・
377375
2022/09/05(月) 23:27:10.40ID:ViUtFxr1 >>376
GetCharABCWidthsで取得しても1文字単位でしか取得できないので、筆記体やアラビア文字のように前後の文字や位置によって大きさが変わるような場合には対応できないので、ABCの値は参考程度にしか使えないと思います。
フォントリンク先のフォント情報(LOGFONT)は、メタファイルに出力後そのメタファイルを解析するというちょっとトリッキーな方法で可能です。
https://stackoverflow.com/questions/54050095/how-to-tell-if-a-surrogate-pair-unicode-character-is-supported-by-the-font
GetCharABCWidthsで取得しても1文字単位でしか取得できないので、筆記体やアラビア文字のように前後の文字や位置によって大きさが変わるような場合には対応できないので、ABCの値は参考程度にしか使えないと思います。
フォントリンク先のフォント情報(LOGFONT)は、メタファイルに出力後そのメタファイルを解析するというちょっとトリッキーな方法で可能です。
https://stackoverflow.com/questions/54050095/how-to-tell-if-a-surrogate-pair-unicode-character-is-supported-by-the-font
378デフォルトの名無しさん
2022/09/06(火) 20:18:06.15ID:H7QyPUx+ 大変有用な情報、ありがとうございます。
確かに、筆記体のような手を繋ぐフォントの場合、うまくいきませんね。
これは気づきませんでした。
実際にはそういったフォントが使われることはまれなので、大きな問題にはならないかな、と思います。
確かに、筆記体のような手を繋ぐフォントの場合、うまくいきませんね。
これは気づきませんでした。
実際にはそういったフォントが使われることはまれなので、大きな問題にはならないかな、と思います。
379デフォルトの名無しさん
2022/09/10(土) 21:08:59.03ID:eGqDTe4p HBITMAP hBitmap; に既に bitmap image が load されているとき
BITMAP bm = {0};
GetObject(hBitmap, sizeof(BITMAP), &bm);
で bm.bmBits の指す場所に pixles data があることは確認出来るのですが
bm.bmBits は何時 GlobalFree(bm.bmBits); すれば良いのでしょうか?
放置しても memory leak の心配はありませんか?
BITMAP bm = {0};
GetObject(hBitmap, sizeof(BITMAP), &bm);
で bm.bmBits の指す場所に pixles data があることは確認出来るのですが
bm.bmBits は何時 GlobalFree(bm.bmBits); すれば良いのでしょうか?
放置しても memory leak の心配はありませんか?
380デフォルトの名無しさん
2022/09/11(日) 13:04:53.74ID:4ex9Us8K DeleteObject(hBitmap);
381デフォルトの名無しさん
2022/09/13(火) 22:06:19.57ID:V8hEwwJT ウインドウのキャプションを SetWindowText で変更したいのですが
そのウインドウはブラウザ(クローム系)でして
SPY++が使えなくなっているので自作のウインドウ一覧で調べると
ブラウザのトップレベル・ウインドウは、アクティブなタブのキャプションが
ウインドウのキャプションになっており、クラス名は"Chrome_WidgetWin_1"でした
これで取得したウインドウ・ハンドルを使って、ブラウザの位置を操作したり
最小化したりできるので、このハンドルで間違いないはずですが
SetWindowText でキャプションを変更することはできません
ブラウザには使えないということでしょうか
御存じの方、教えて下さると幸いです
そのウインドウはブラウザ(クローム系)でして
SPY++が使えなくなっているので自作のウインドウ一覧で調べると
ブラウザのトップレベル・ウインドウは、アクティブなタブのキャプションが
ウインドウのキャプションになっており、クラス名は"Chrome_WidgetWin_1"でした
これで取得したウインドウ・ハンドルを使って、ブラウザの位置を操作したり
最小化したりできるので、このハンドルで間違いないはずですが
SetWindowText でキャプションを変更することはできません
ブラウザには使えないということでしょうか
御存じの方、教えて下さると幸いです
382デフォルトの名無しさん
2022/09/14(水) 01:18:29.10ID:LQT6KG16 ウインドウというよりタブなんじゃね?
383デフォルトの名無しさん
2022/09/14(水) 09:06:44.89ID:bpmiLen5 そうです
ウインドウのキャプションを変更したいけど
それはブラウザでは、タブのキャプションを変更したいということですね
ブラウザのトップレベルのウインドウハンドルで、GetWindowTextを使って
そのタブのキャプションが取得できるのに
逆に、そのハンドルでタブのキャプションはSetWindowTextでは変更できない
ということのようです
タブが子ウインドウになっていてアクセスできればいいのですが
そこらへんブラウザは色々と特殊な作りなので無理っぽい気はしてます
ウインドウのキャプションを変更したいけど
それはブラウザでは、タブのキャプションを変更したいということですね
ブラウザのトップレベルのウインドウハンドルで、GetWindowTextを使って
そのタブのキャプションが取得できるのに
逆に、そのハンドルでタブのキャプションはSetWindowTextでは変更できない
ということのようです
タブが子ウインドウになっていてアクセスできればいいのですが
そこらへんブラウザは色々と特殊な作りなので無理っぽい気はしてます
384デフォルトの名無しさん
2022/09/14(水) 09:46:31.10ID:mWSu9Hj1 ふーんGetはできるんだタスクバー用かな?
どう見てもオーナードローだし
htmlのtitle変える方が早そうだね
どう見てもオーナードローだし
htmlのtitle変える方が早そうだね
385デフォルトの名無しさん
2022/09/14(水) 12:31:23.77ID:NjIHRu5t SetWindowText実行後にGetWindowTextしたら変更後のキャプション取得できてるんじゃない?
表示処理が別なだけで
表示処理が別なだけで
386デフォルトの名無しさん
2022/09/14(水) 15:26:33.97ID:bpmiLen5 >>385
その通り、内部的には変更されてました!!
ありがとうございました
聞いて良かった、自分だけで考えていたら堂々巡りで違う発想は出てこないものですね
見た目のキャプションはどうでも良くて
ブラウザを複数起動して、全て同じサイトを開かせるので
それをUWSCで操作しようとすると、どれが処理済なのか区別つかないので
処理済のやつのキャプションを変えてやろうということだったのです
その通り、内部的には変更されてました!!
ありがとうございました
聞いて良かった、自分だけで考えていたら堂々巡りで違う発想は出てこないものですね
見た目のキャプションはどうでも良くて
ブラウザを複数起動して、全て同じサイトを開かせるので
それをUWSCで操作しようとすると、どれが処理済なのか区別つかないので
処理済のやつのキャプションを変えてやろうということだったのです
387デフォルトの名無しさん
2022/09/14(水) 18:41:01.15ID:Ktn65RkO 処理未済のテーブルのキーは
windowハンドルつこたらあかんの?
windowハンドルつこたらあかんの?
388デフォルトの名無しさん
2022/09/14(水) 21:36:59.23ID:bpmiLen5 386の話?
そんなことないですよ
ウインドウキャプションと、クラス名が同じウインドウがいくつもあるので
UWSCはそれのどのウインドウが処理対象か分からないってことです
YouTubeから動画をDLするサイトを自動で開いて
新着の動画アドレスを自動入力してDLさせるんですが
一つがDL処理中に、別の新着動画が来ることがあるので
そんなことないですよ
ウインドウキャプションと、クラス名が同じウインドウがいくつもあるので
UWSCはそれのどのウインドウが処理対象か分からないってことです
YouTubeから動画をDLするサイトを自動で開いて
新着の動画アドレスを自動入力してDLさせるんですが
一つがDL処理中に、別の新着動画が来ることがあるので
389デフォルトの名無しさん
2022/09/14(水) 21:56:53.98ID:RXLSqQDl 入力されたキーコードをキーボードの文字に変換してくれるAPIとかありますか?
それかC/C++の関数とかで。
SHIFTのコードを渡すと、"SHIFT"みたいに文字が返ってくるみたいな。
それかC/C++の関数とかで。
SHIFTのコードを渡すと、"SHIFT"みたいに文字が返ってくるみたいな。
390デフォルトの名無しさん
2022/09/15(木) 10:19:13.76ID:HISUe1p2 どとねとにはあるけどお
スレ違いかな
大した手間でもないしご自分で用意すれば
そもそもC/C++ならマクロを糞すればリテラルを文字列に変換できるんだし
ちょっとは頭使え?
スレ違いかな
大した手間でもないしご自分で用意すれば
そもそもC/C++ならマクロを糞すればリテラルを文字列に変換できるんだし
ちょっとは頭使え?
392デフォルトの名無しさん
2022/09/15(木) 18:28:39.47ID:gUiebKpt >>389
GetKeyNameText
GetKeyNameText
393デフォルトの名無しさん
2022/09/16(金) 10:16:25.50ID:4htE7L2M 385さんと相談に乗ってくれた方にお礼の動画を持ってまいりました
https://www.youtube.com/watch?v=uJxOP1s4Xo4
https://www.youtube.com/watch?v=uJxOP1s4Xo4
394デフォルトの名無しさん
2022/09/18(日) 13:46:05.81ID:KpBP36NG395デフォルトの名無しさん
2022/09/18(日) 18:20:24.44ID:JcdidFMx こんな釣りじゃあ誰も見んわなw
396デフォルトの名無しさん
2022/09/22(木) 19:31:36.45ID:5qbo/wEx 可愛いよね
名前知らない?
名前知らない?
397デフォルトの名無しさん
2022/09/23(金) 02:06:12.74ID:gD4It3Ab STUのがかわいい
398デフォルトの名無しさん
2022/10/31(月) 14:20:10.23ID:un31Hzpa VisualStudio2022で
C++でGdiplusを利用して、メタファイルとして描画した図形を保存するプログラムを作成しました。
(描画時メタファイルのパラメータはGdiplus::EmfTypeEmfPlusDualを使用して作成しました。)
保存した図形ファイルをエクセルで開いて、Ctrl+Cでクリップボードにコピーしました。
この状態で、EnumClipboardFormatsを使用して、クリップボードのフォーマットを取得しました。
予想だと、WinUser.hで定義されている
#define CF_ENHMETAFILE 14
になるのかと思っていたら、実際は49161が取得されました。
質問ですが、この時取得された49161は何のフォーマットを意味しているのでしょうか?
C++でGdiplusを利用して、メタファイルとして描画した図形を保存するプログラムを作成しました。
(描画時メタファイルのパラメータはGdiplus::EmfTypeEmfPlusDualを使用して作成しました。)
保存した図形ファイルをエクセルで開いて、Ctrl+Cでクリップボードにコピーしました。
この状態で、EnumClipboardFormatsを使用して、クリップボードのフォーマットを取得しました。
予想だと、WinUser.hで定義されている
#define CF_ENHMETAFILE 14
になるのかと思っていたら、実際は49161が取得されました。
質問ですが、この時取得された49161は何のフォーマットを意味しているのでしょうか?
399デフォルトの名無しさん
2022/10/31(月) 14:25:56.86ID:cPgJ75vw 汎用データオブジェクト
400デフォルトの名無しさん
2022/10/31(月) 15:48:17.35ID:un31Hzpa >>399
ありがとうございます。
すいません、質問なのですが
Gdiplusを利用して作成したメタファイルをAPIを使用して汎用データオブジェクトとしてクリップボードに設定したいのですが、
参考になる書籍、ホームページ等ありましたらお教えいただけないでしょうか?
ありがとうございます。
すいません、質問なのですが
Gdiplusを利用して作成したメタファイルをAPIを使用して汎用データオブジェクトとしてクリップボードに設定したいのですが、
参考になる書籍、ホームページ等ありましたらお教えいただけないでしょうか?
401デフォルトの名無しさん
2022/10/31(月) 21:10:12.34ID:Y7EKu9E5 EnumClipboardFormats()使ってるんだからOpenClipboard(),SetClipboardData()はわかるよね
何を聞きたいんだろう?
何を聞きたいんだろう?
402デフォルトの名無しさん
2022/11/01(火) 00:53:41.11ID:8bbAESJs >>401
昔からあるGdiで拡張メタファイルを作成して
OpenClipboard()
SetClipboardData(CF_ENHMETAFILE, handle_enhanced_metafile)
CloseClipboard()
で問題なく、拡張メタファイルがクリップボードに設定されていました。
それをGdiplusを使用してメタファイルを作成して
OpenClipboard()
SetClipboardData(CF_ENHMETAFILE, handle_enhanced_metafile)
CloseClipboard()
に改造したら問題が発生しました。
問題というのはエクセルにクリップボードからペーストすると、「図の書式設定」で「高さの倍率」「幅の倍率」が100%以下の数字になり
意図していたサイズより小さく表示されるようになってしまいました。
クリップボードに設定したメタファイルを、ファイル出力して、エクセルからファイルを開いて描画した図形を表示すると問題なく意図したサイズで表示されていました。
以上の事により、問題が発生する原因はクリップボードへの設定に問題があるのではと考えました。
エクセルにペーストしたGdiplusメタファイル図形を、さらに、エクセルでコピーすると、クリップボードには、なんのフォーマットとして扱われているのか調べてみました。
EnumClipboardFormatsを使用して、クリップボードのフォーマットを取得するとCF_ENHMETAFILEではなく、49161でした。
以上のことによりSetClipboardDataの第一引数はCF_ENHMETAFILE:14ではなく汎用データオブジェクト:49161を設定すべきかと考えました。
しかし、単純にCF_ENHMETAFILEを49161に変えただけでは、クリップボードにGdiplusメタファイル図形は設定されず、エクセルに何もペーストされませんでした。
希望は、Gdiplusメタファイル図形を汎用データオブジェクトとしてクリップボードに設定する方法を知りたいということです。
何かご存じの事がありましたら、お教えお願いします。
昔からあるGdiで拡張メタファイルを作成して
OpenClipboard()
SetClipboardData(CF_ENHMETAFILE, handle_enhanced_metafile)
CloseClipboard()
で問題なく、拡張メタファイルがクリップボードに設定されていました。
それをGdiplusを使用してメタファイルを作成して
OpenClipboard()
SetClipboardData(CF_ENHMETAFILE, handle_enhanced_metafile)
CloseClipboard()
に改造したら問題が発生しました。
問題というのはエクセルにクリップボードからペーストすると、「図の書式設定」で「高さの倍率」「幅の倍率」が100%以下の数字になり
意図していたサイズより小さく表示されるようになってしまいました。
クリップボードに設定したメタファイルを、ファイル出力して、エクセルからファイルを開いて描画した図形を表示すると問題なく意図したサイズで表示されていました。
以上の事により、問題が発生する原因はクリップボードへの設定に問題があるのではと考えました。
エクセルにペーストしたGdiplusメタファイル図形を、さらに、エクセルでコピーすると、クリップボードには、なんのフォーマットとして扱われているのか調べてみました。
EnumClipboardFormatsを使用して、クリップボードのフォーマットを取得するとCF_ENHMETAFILEではなく、49161でした。
以上のことによりSetClipboardDataの第一引数はCF_ENHMETAFILE:14ではなく汎用データオブジェクト:49161を設定すべきかと考えました。
しかし、単純にCF_ENHMETAFILEを49161に変えただけでは、クリップボードにGdiplusメタファイル図形は設定されず、エクセルに何もペーストされませんでした。
希望は、Gdiplusメタファイル図形を汎用データオブジェクトとしてクリップボードに設定する方法を知りたいということです。
何かご存じの事がありましたら、お教えお願いします。
403デフォルトの名無しさん
2022/11/01(火) 02:33:36.53ID:F5k3ZiCa CF_ENHMETAFILEがあるのに49161をセットするなんておかしいよ
倍率以外はうまくいってるんだし
同じ図形でGDIのとGDI+のでENHMETAHEADERのメンバの値で違うのはない?
「DataObject 49161」でググったら以下のページが出た
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/5a85a9a6-88a3-4cba-8b19-31c979eea7fa/clipboard-unable-to-enum-registered-clipboard-formats-as-local-system?forum=vcgeneral
49161はこれなのか?
倍率以外はうまくいってるんだし
同じ図形でGDIのとGDI+のでENHMETAHEADERのメンバの値で違うのはない?
「DataObject 49161」でググったら以下のページが出た
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/5a85a9a6-88a3-4cba-8b19-31c979eea7fa/clipboard-unable-to-enum-registered-clipboard-formats-as-local-system?forum=vcgeneral
49161はこれなのか?
404デフォルトの名無しさん
2022/11/01(火) 09:43:25.52ID:23hVAbRk スレ立てるまでもない質問スレで詳しいこと言ってたら教えてやったんだがな
流したやつに教えてやる気にはならんわ
流したやつに教えてやる気にはならんわ
405デフォルトの名無しさん
2022/11/01(火) 10:48:01.32ID:8bbAESJs406デフォルトの名無しさん
2022/11/01(火) 11:42:30.98ID:8bbAESJs >>403
レスありがとうございます。
ENHMETAHEADERについてですが精査してみます。
(出力先をクリップボードでなくファイルにした場合、エクセルで開いても問題が発生していないのでメタファイルには問題ないかと、あたりをつけていました)
CF_ENHMETAFILEについてですが、メタファイルは以下の3種類があるようです
・Windows メタファイル形式 (WMF)
・拡張メタファイル (EMF)
・EMF+
描画時メタファイルのパラメータはGdiplus::EmfTypeEmfPlusDualを使用して作成しましたので
EMF+として作成されているのかとも思っています。
そうするとENHMETAHEADER←拡張メタファイル (EMF) を使用しても良いものか疑問に思っています
リンクありがとうございます。検討してみます。
レスありがとうございます。
ENHMETAHEADERについてですが精査してみます。
(出力先をクリップボードでなくファイルにした場合、エクセルで開いても問題が発生していないのでメタファイルには問題ないかと、あたりをつけていました)
CF_ENHMETAFILEについてですが、メタファイルは以下の3種類があるようです
・Windows メタファイル形式 (WMF)
・拡張メタファイル (EMF)
・EMF+
描画時メタファイルのパラメータはGdiplus::EmfTypeEmfPlusDualを使用して作成しましたので
EMF+として作成されているのかとも思っています。
そうするとENHMETAHEADER←拡張メタファイル (EMF) を使用しても良いものか疑問に思っています
リンクありがとうございます。検討してみます。
407デフォルトの名無しさん
2022/11/01(火) 11:53:24.91ID:8bbAESJs >>406
すいません、一部訂正です。
【誤】そうするとENHMETAHEADER←拡張メタファイル (EMF) を使用しても良いものか疑問に思っています
【正】そうするとCF_ENHMETAFILE←拡張メタファイル (EMF) を使用しても良いものか疑問に思っています
すいません、一部訂正です。
【誤】そうするとENHMETAHEADER←拡張メタファイル (EMF) を使用しても良いものか疑問に思っています
【正】そうするとCF_ENHMETAFILE←拡張メタファイル (EMF) を使用しても良いものか疑問に思っています
408デフォルトの名無しさん
2022/11/03(木) 03:29:06.05ID:lhbjAvOX マルチするアホは原則スルー
ネットマナーおじさんとの約束だぞ
ネットマナーおじさんとの約束だぞ
409デフォルトの名無しさん
2022/11/03(木) 10:41:37.80ID:tn2ZhR3p ?
他スレを勧められて続きはそっちでやることを宣言したのに、マルチ警察はこの上何を望むんだろう。
他スレを勧められて続きはそっちでやることを宣言したのに、マルチ警察はこの上何を望むんだろう。
410デフォルトの名無しさん
2022/11/03(木) 10:49:58.97ID:dhtr0mvL 前スレで詳しいやつが回答してるのにアスペから自分にはわからんから移動しろと言われてここに来てるだけのアホだから
411デフォルトの名無しさん
2022/11/03(木) 11:18:16.59ID:tn2ZhR3p マルチがどうこうより、せっかく回答したのに無視されたのが気に入らないってことね。
412デフォルトの名無しさん
2022/11/03(木) 11:28:13.59ID:irjlHMAb 回答があるのに他で聞くのはマルチだろ
マルチがなぜ嫌われるのか理由までは知らないのか
マルチがなぜ嫌われるのか理由までは知らないのか
413デフォルトの名無しさん
2022/11/03(木) 11:47:59.65ID:tn2ZhR3p マルチをしないからといって回答が無視されなくなるわけではないからそこは的外れだと思うぞ。
414デフォルトの名無しさん
2022/11/03(木) 11:57:08.08ID:irjlHMAb アスペかな?
415デフォルトの名無しさん
2022/11/03(木) 14:53:14.39ID:XfULePpa >>408
スレ立てるまでもない質問はここで 162匹目 に質問を出しました。
253 で49161は何のフォーマットか質問しました。
254 で汎用DataObjectだとレスを頂きました。
256 で254に対するお礼のレスをしました。
257 でWin32API質問箱 Build127の方が良いのでは?とレスを頂きました。
258 で そちらで聞いてみます と257にレスしました。
その後Win32API質問箱 Build127 に移って 398 で質問を始めました。
以上が今までの経緯なのですが、何か問題があるのでしょうか?
スレ立てるまでもない質問はここで 162匹目 に質問を出しました。
253 で49161は何のフォーマットか質問しました。
254 で汎用DataObjectだとレスを頂きました。
256 で254に対するお礼のレスをしました。
257 でWin32API質問箱 Build127の方が良いのでは?とレスを頂きました。
258 で そちらで聞いてみます と257にレスしました。
その後Win32API質問箱 Build127 に移って 398 で質問を始めました。
以上が今までの経緯なのですが、何か問題があるのでしょうか?
416デフォルトの名無しさん
2022/11/03(木) 15:08:57.81ID:SIQRCQUk 面倒くさいから追いかけないけど、別に問題あるようには見えない
>>410が正解書いてるような空気醸しだしてるから、その回答レス番書いてくれたら話が変わるかもしれんけど
実は正解ではない別のレスを書いててスルーされた恨みで警察に転職した可能性も感じる
>>410が正解書いてるような空気醸しだしてるから、その回答レス番書いてくれたら話が変わるかもしれんけど
実は正解ではない別のレスを書いててスルーされた恨みで警察に転職した可能性も感じる
417デフォルトの名無しさん
2022/11/03(木) 15:26:38.66ID:76hysst1 恨みとか知らんし警察は俺じゃないけど雑な質問だからそれなりの回答しかしてない
詳しく聞けば教えてやったけど
こっちの方が詳しい人がいると聞いてすぐ移ったから回答しなかっただけだが回答しなきゃいけない理由もないだろ
こっちの詳しい人()に聞けばいいだけ
それで何か問題あるか?
詳しく聞けば教えてやったけど
こっちの方が詳しい人がいると聞いてすぐ移ったから回答しなかっただけだが回答しなきゃいけない理由もないだろ
こっちの詳しい人()に聞けばいいだけ
それで何か問題あるか?
418デフォルトの名無しさん
2022/11/03(木) 15:43:26.06ID:/zL/TWh/ 向こうのスレみて来たけど、マルチ嫌いの俺ですら全く問題ないなw
なにを拗ねてるんだこやつは
なにを拗ねてるんだこやつは
419デフォルトの名無しさん
2022/11/03(木) 15:46:54.91ID:76hysst1 知ってることを回答しないだけで非難される言われはないぞw
お前が教えてやればいいだけ
本人でないならな
お前が教えてやればいいだけ
本人でないならな
420デフォルトの名無しさん
2022/11/03(木) 15:47:33.06ID:76hysst1 俺より詳しいやつがいるスレだからそれで問題ないはずだが何を怒ってるのか
421デフォルトの名無しさん
2022/11/03(木) 15:48:42.41ID:SIQRCQUk422デフォルトの名無しさん
2022/11/03(木) 16:06:19.20ID:GeJ34bDq 49161は何のフォーマットか?なんてのは枝葉で
本質は同じフォーマットになるような方法はないのか?なんだよな
わからん
本質は同じフォーマットになるような方法はないのか?なんだよな
わからん
423デフォルトの名無しさん
2022/11/03(木) 16:13:11.60ID:GeJ34bDq 枝葉への回答は前もココにも付いてる通り 汎用データオブジェクト
これで最初の質問は完了してるん
これで最初の質問は完了してるん
424デフォルトの名無しさん
2022/11/04(金) 00:59:05.47ID:TddW6oN3 この手のマニアックなのはstackoverflow漁るか英語で聞いた方が早いよ
425デフォルトの名無しさん
2022/11/05(土) 00:48:25.93ID:mvfmSa9B EMFは糞
GDI+も糞
GDI+も糞
426デフォルトの名無しさん
2022/11/06(日) 21:20:50.65ID:ZfA7UEIS 特定のウィンドウがFlashWindowしてるかどうか知りたいのですが、何か方法はありませんか?
画像取得して色確認するとかしかないですか?
画像取得して色確認するとかしかないですか?
427デフォルトの名無しさん
2022/11/07(月) 05:59:08.49ID:SWCRxCfW SetWindowsHookEx() を使用して、シェル フック HSHELL_FLASH (0x8006) をコールバックに登録します。
https://stackoverflow.com/questions/69806213/is-there-a-way-to-detect-when-a-specific-process-is-flashing-its-window-taskbar
https://stackoverflow.com/questions/69806213/is-there-a-way-to-detect-when-a-specific-process-is-flashing-its-window-taskbar
428デフォルトの名無しさん
2022/11/07(月) 17:30:23.05ID:4qt4VSUI ありがとうございます
429デフォルトの名無しさん
2022/11/16(水) 18:14:29.04ID:wmtCAqUs OEM製品だな
430デフォルトの名無しさん
2022/11/18(金) 21:22:52.50ID:zsUVThtH セッションID=0のタスクスケジューラーのプロセスから他のセッションID=1以上のGUI持ってるプロセスの操作したいんだけど
同じセッションIDのプロセスを作ってやらないと無理だったかな
同じセッションIDのプロセスを作ってやらないと無理だったかな
431デフォルトの名無しさん
2022/12/06(火) 11:39:49.01ID:63yxghiR スレッドが自身のスタック領域の開始アドレスを知る方法はありますか?
サイズならTEB構造体から取得できるようなんですが
参考
https://ja.stackoverflow.com/questions/47840/windows-visual-studio-2015-c-%E3%81%A7%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%81%AE%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%82%B5%E3%82%A4%E3%82%BA%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95
サイズならTEB構造体から取得できるようなんですが
参考
https://ja.stackoverflow.com/questions/47840/windows-visual-studio-2015-c-%E3%81%A7%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%81%AE%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%82%B5%E3%82%A4%E3%82%BA%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95
432デフォルトの名無しさん
2022/12/06(火) 18:52:16.04ID:uLZynctc >>431
サンプルソースは見たの?
>サイズならTEB構造体から取得できるようなんですが
正確にはStackBase, StackLimit を取得できるので、その差分からサイズを求めている。
teb->Reserved1[1] を使えばよいはず。
サンプルソースは見たの?
>サイズならTEB構造体から取得できるようなんですが
正確にはStackBase, StackLimit を取得できるので、その差分からサイズを求めている。
teb->Reserved1[1] を使えばよいはず。
433デフォルトの名無しさん
2022/12/08(木) 05:02:17.43ID:7N/fyoNc434デフォルトの名無しさん
2022/12/19(月) 11:12:22.75ID:aTW+qgB5 ディスクへの書き込みを別の場所へ書き込むようにインターセプトすることってドライバじゃないと不可能?
ReadDirectoryChangesやFindFirstChangeNotificationって通知だけでディスク変更操作に手を加える事は出来ないよね
パスが常に一定の物であればジャンクションやシンボリックで対応可能なんだけど
ReadDirectoryChangesやFindFirstChangeNotificationって通知だけでディスク変更操作に手を加える事は出来ないよね
パスが常に一定の物であればジャンクションやシンボリックで対応可能なんだけど
435デフォルトの名無しさん
2022/12/25(日) 08:27:23.13ID:z6jdEPeL その程度の知識の素人が手を出せるレベルの処理じゃないだろ
仮想デバイスとかどうすんの
仮想デバイスとかどうすんの
436デフォルトの名無しさん
2023/01/19(木) 12:53:53.04ID:RyyxmaOy 古い32bitプログラムをVS(ツールセット2010)でx64でビルドしてるんですが
「外部シンボル "sprintf" は未解決です」などのリンクエラーが大量に出て困ってます。
「legacy_stdio_definitions.lib」を使えという情報もあったんですが
2010ベースだと恐らくない?為か見つからないと怒られます。
色々事情があって最新版には移行出来ません。64bit化は諦めるしかないでしょうか?
「外部シンボル "sprintf" は未解決です」などのリンクエラーが大量に出て困ってます。
「legacy_stdio_definitions.lib」を使えという情報もあったんですが
2010ベースだと恐らくない?為か見つからないと怒られます。
色々事情があって最新版には移行出来ません。64bit化は諦めるしかないでしょうか?
437436
2023/01/19(木) 14:01:27.21ID:RyyxmaOy >436
チマチマと自分で設定弄ったりしてたら解決出来そうでした。
チマチマと自分で設定弄ったりしてたら解決出来そうでした。
438デフォルトの名無しさん
2023/01/20(金) 00:30:28.27ID:a17vtIUU ちゃんと無いなら自分で作るのもあり
439デフォルトの名無しさん
2023/01/22(日) 10:35:53.94ID:JlW1CBNq Windows Explorerではファイルに由来する属性、例えば画像のサイズとか、
MP3のタイトル、プログラムの説明とか表示できるけど、
それを取得するAPIは用意されててつかえたりしますか?
それともあれはExplorerで頑張って色んなフォーマットに対応してるの?
MP3のタイトル、プログラムの説明とか表示できるけど、
それを取得するAPIは用意されててつかえたりしますか?
それともあれはExplorerで頑張って色んなフォーマットに対応してるの?
440デフォルトの名無しさん
2023/01/22(日) 12:15:09.84ID:6SRGa8RT >>439
このあたり↓ではないか?
MP3ファイルからタイトルやアーティスト名などを取得するには?[C#、VB] - @IT
https://atmarkit.itmedia.co.jp/fdotnet/dotnettips/591mp3tags/mp3tags.html
Shell Interface (Shell32) | Microsoft Learn
https://learn.microsoft.com/en-us/dotnet/api/shell32.shell
間違ってたらごめんね
このあたり↓ではないか?
MP3ファイルからタイトルやアーティスト名などを取得するには?[C#、VB] - @IT
https://atmarkit.itmedia.co.jp/fdotnet/dotnettips/591mp3tags/mp3tags.html
Shell Interface (Shell32) | Microsoft Learn
https://learn.microsoft.com/en-us/dotnet/api/shell32.shell
間違ってたらごめんね
441439
2023/01/22(日) 13:35:39.24ID:JlW1CBNq >>440 Shell32.dllのGetDetailsOfを使うのずばりでした。
ありがとう!自前で全部揃えるのは嫌だとおもってたから。
ありがとう!自前で全部揃えるのは嫌だとおもってたから。
442デフォルトの名無しさん
2023/01/22(日) 18:45:34.11ID:6SRGa8RT >>440
2つ目のURLは違ったね。多分こっち↓だ
Shell object (Shldisp.h) - Win32 apps | Microsoft Learn
https://learn.microsoft.com/en-us/windows/win32/shell/shell
訂正します
2つ目のURLは違ったね。多分こっち↓だ
Shell object (Shldisp.h) - Win32 apps | Microsoft Learn
https://learn.microsoft.com/en-us/windows/win32/shell/shell
訂正します
443デフォルトの名無しさん
2023/01/27(金) 14:29:22.14ID:BWAW0Di3 >436-437
もう解決したみたいだけど
文字通り legacy_stdio_definitions.lib をリンクすれば良い
あるいは sprintf をやめて安全な snprintf (それ以外の legacy があればそれらも) 等を使うコードに変更する
もう解決したみたいだけど
文字通り legacy_stdio_definitions.lib をリンクすれば良い
あるいは sprintf をやめて安全な snprintf (それ以外の legacy があればそれらも) 等を使うコードに変更する
444デフォルトの名無しさん
2023/01/28(土) 15:17:14.74ID:SSo2rJoB 俺もそろそろANSI32bitアプリをunicode64bitアプリに更改したいなあ
まあ64bitにする意味は全く無いんだけど
せめてunicode化して、流行りの顔文字ぐらい表示できるようにしたい
あれのレンダリングはどうやるんだろうね
TextOutみたいなレベルのAPIじゃ無理だよね?
まあ64bitにする意味は全く無いんだけど
せめてunicode化して、流行りの顔文字ぐらい表示できるようにしたい
あれのレンダリングはどうやるんだろうね
TextOutみたいなレベルのAPIじゃ無理だよね?
445デフォルトの名無しさん
2023/01/28(土) 16:02:05.59ID:u99kbCnW >>444
Direct2Dなので描画ハンドラ関数の丸ごと書き換えが必要
Direct2Dなので描画ハンドラ関数の丸ごと書き換えが必要
446デフォルトの名無しさん
2023/01/28(土) 22:31:52.79ID:xHLhsNzv 正確にはDirect2D+DirectWriteだね
447デフォルトの名無しさん
2023/02/01(水) 03:54:55.92ID:axeNk+I4 QueryPerformanceFrequencyで取得した値が10MHzになってるんですが
何時からこの値になったのか、時期と実装が変わった経緯分かる方いますか??
何時からこの値になったのか、時期と実装が変わった経緯分かる方いますか??
448デフォルトの名無しさん
2023/02/01(水) 07:50:03.36ID:9aEQ8dCa もともとハードウェア次第だし、実装を変えたというわけじゃないんじゃね?
https://ja.wikipedia.org/wiki/High_Precision_Event_Timer
https://ja.wikipedia.org/wiki/High_Precision_Event_Timer
449デフォルトの名無しさん
2023/02/06(月) 00:05:16.01ID:diZedZj+450デフォルトの名無しさん
2023/02/06(月) 00:41:55.57ID:bCXM4GAa451デフォルトの名無しさん
2023/02/12(日) 10:07:22.45ID:/9PGWL3V ResEditが無くなってしまったみたいだけど、何があったんや?
単に需要がなくなっただけ?
単に需要がなくなっただけ?
452デフォルトの名無しさん
2023/02/12(日) 11:39:51.87ID:beRYzW3b 統合環境と一体化した
453デフォルトの名無しさん
2023/02/13(月) 02:53:34.52ID:S9jIVDl5 ウィンドウメッセージキューと socket を WaitForMultipleObjects みたいに同時に待ち受ける方法はある?
現状は通信処理は別スレッドでやってるけど、これを敢えて GetMessage のループでやりたい。
というのも、好奇心上の取り組みでメモリ使用量を極限まで減らしたくて、まずスレッドを減らしてみようと思って。
あとちょっと API の話からは逸れるんだけど、VisualStudio で C++ のデスクトップアプリの雛形をビルドしただけのものでもメモリをコミットサイズで 2MB とか食ってて、スレッドも 4つくらい動いてるんだけど、これって何?
起動してから少し放っておくとスレッドは 3つくらい終了するから、いらないものなら排除したい。
いろいろ削ぎ落とすリンカオプションの設定とかあったら教えてほしい。
スタックサイズやヒープサイズは数十KBに設定してみたけど、あんまり違いは見えない。
現状は通信処理は別スレッドでやってるけど、これを敢えて GetMessage のループでやりたい。
というのも、好奇心上の取り組みでメモリ使用量を極限まで減らしたくて、まずスレッドを減らしてみようと思って。
あとちょっと API の話からは逸れるんだけど、VisualStudio で C++ のデスクトップアプリの雛形をビルドしただけのものでもメモリをコミットサイズで 2MB とか食ってて、スレッドも 4つくらい動いてるんだけど、これって何?
起動してから少し放っておくとスレッドは 3つくらい終了するから、いらないものなら排除したい。
いろいろ削ぎ落とすリンカオプションの設定とかあったら教えてほしい。
スタックサイズやヒープサイズは数十KBに設定してみたけど、あんまり違いは見えない。
454デフォルトの名無しさん
2023/02/13(月) 03:36:15.30ID:X7RxD/JY >>453
MsgWaitForMultipleObjects を使う
MsgWaitForMultipleObjects を使う
■ このスレッドは過去ログ倉庫に格納されています
