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
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 を使う
456デフォルトの名無しさん
2023/02/14(火) 08:25:48.17ID:WQfmJH2L ソケットなら WSAAsyncSelect でソケットのイベントを WindowMessage に連動させる案もある
458デフォルトの名無しさん
2023/02/15(水) 11:23:09.93ID:bSshLO82 シンプルにやるならGetMessageじゃなくPeekMessageでノンブロックループして定点観測するという事も出来る
459デフォルトの名無しさん
2023/02/15(水) 12:21:16.78ID:bwlsc68o460デフォルトの名無しさん
2023/02/15(水) 13:10:37.60ID:J40TkLkU ところで、メッセージループで GetMessage したメッセージを DispatchMessage せずに、そのループ内で処理しちゃってもいい?
ウィンドウプロシージャに書いてる switch やら DefWindowProc をループ内に直接書いちゃうの。
ウィンドウプロシージャに書いてる switch やら DefWindowProc をループ内に直接書いちゃうの。
461デフォルトの名無しさん
2023/02/15(水) 13:33:51.32ID:bSshLO82 >>459
いや何も処理する事がなければSleep(1)でも挟むのが常套手段
GetMessageの内部だってそうなってるはず
GetMessageの場合はカーネル空間でループ回してるだろうからPeekMessageループよりIO回数が減ってパフォーマンス上は有利だろうが
いや何も処理する事がなければSleep(1)でも挟むのが常套手段
GetMessageの内部だってそうなってるはず
GetMessageの場合はカーネル空間でループ回してるだろうからPeekMessageループよりIO回数が減ってパフォーマンス上は有利だろうが
462デフォルトの名無しさん
2023/02/15(水) 13:43:45.82ID:N1k6+oAn >> 460
ダメです
DispatchMessageは自プロセスに飛んできたOSとか他プロセスのメッセージも振り分ける
>> 461
待つならSleep(1)よりもWaitForSingleObjectのほうが軽い
ダメです
DispatchMessageは自プロセスに飛んできたOSとか他プロセスのメッセージも振り分ける
>> 461
待つならSleep(1)よりもWaitForSingleObjectのほうが軽い
463デフォルトの名無しさん
2023/02/15(水) 13:48:07.11ID:S4bShmel >>461
常套手段ってw
そしたら到着したメッセージを即座に処理できないでしょうよ。
イベントを待つというのは待ちながらもシグナル時は即座に反応できるというのが最大の利点なのに、わざわざそれを殺してどうするの。
そしてカーネル空間でも GetMessage は sleep しながらのループでなんか回してないと思うよ。
アプリケーションが何かを待ってる時には、スケジューラがそのアプリの実行を止めてしまう(タイムスライスをあげない)。
GetMessage で言えば OS がメッセージをキューに入れた段階で GetMessage してるプロセスにタスクスイッチする。
ディスクI/O しかり、socket しかり、タイマーしかり。
本当に CPU が何もしないときなら HALT してハードウェア割り込みを待ってる。
常套手段ってw
そしたら到着したメッセージを即座に処理できないでしょうよ。
イベントを待つというのは待ちながらもシグナル時は即座に反応できるというのが最大の利点なのに、わざわざそれを殺してどうするの。
そしてカーネル空間でも GetMessage は sleep しながらのループでなんか回してないと思うよ。
アプリケーションが何かを待ってる時には、スケジューラがそのアプリの実行を止めてしまう(タイムスライスをあげない)。
GetMessage で言えば OS がメッセージをキューに入れた段階で GetMessage してるプロセスにタスクスイッチする。
ディスクI/O しかり、socket しかり、タイマーしかり。
本当に CPU が何もしないときなら HALT してハードウェア割り込みを待ってる。
464デフォルトの名無しさん
2023/02/15(水) 16:44:48.20ID:STPisL/8 WM_KEYDOWN
Ctrl+0(ゼロ)とかShift+0は来るのに、Ctrl+Shift+0は来ないのはなんでなん?
Ctrl+0(ゼロ)とかShift+0は来るのに、Ctrl+Shift+0は来ないのはなんでなん?
465デフォルトの名無しさん
2023/02/17(金) 22:01:39.95ID:rxib1RET 定番のSleep(1)にこれだけ噛みつけるのも面白いな
466デフォルトの名無しさん
2023/02/18(土) 05:24:38.57ID:c4QxGie2 今時sleep(1)が定番とかw
467デフォルトの名無しさん
2023/02/18(土) 11:10:10.06ID:7GI8GwXH マルチコア、メニーコアでスレッド単体だけ見てもな
468デフォルトの名無しさん
2023/02/18(土) 16:35:58.18ID:nz9Z1NDi イベント待ちはSleep(1)のポーリングでもどうでもいいと思うぞ
シングルスレッドで全部処理する場合問題はそこではないし
扱う内容によっては毛局スレッドを分けた方がいいって結論になる
シングルスレッドで全部処理する場合問題はそこではないし
扱う内容によっては毛局スレッドを分けた方がいいって結論になる
469デフォルトの名無しさん
2023/02/18(土) 21:28:29.45ID:CT5am8vz 今時とかじゃない
>>463を読むほど笑えるという話
>>463を読むほど笑えるという話
470デフォルトの名無しさん
2023/02/18(土) 23:58:40.40ID:hE3AXWNH イベントキャッチは1msほどの間隔の粒度でいいの?
471デフォルトの名無しさん
2023/02/19(日) 01:06:15.57ID:svaemBcP タイマーの精度が高くないからSleep(1)でも30msくらいウエイトかかるけどな
472デフォルトの名無しさん
2023/02/19(日) 01:28:55.07ID:15y14fHP 1つの応答基準の60fpsが16.7ms間隔だからその間に処理が終わってれば常人の目には判らないし
待ち行列にメッセージが溜まってたりイベント処理が発生した場合、処理してる間にコンテキストスイッチが何度も起きて場合によっては1msなんて超えてくる
Sleep(1)はOSに時間を明け渡す気がありますよ程度の意味しかない
待ち行列にメッセージが溜まってたりイベント処理が発生した場合、処理してる間にコンテキストスイッチが何度も起きて場合によっては1msなんて超えてくる
Sleep(1)はOSに時間を明け渡す気がありますよ程度の意味しかない
473デフォルトの名無しさん
2023/02/19(日) 01:46:44.83ID:QabSn9vm マウス、キーボードの処理、ダイアログの更新のメッセージ処理くらいなら事足りる
昔のゲームもOllyDbgやIDAつかって覗いてみるとPeekMessageやGetTickCount等を使って一定時間間隔のメッセージ処理ループをやってた
昔のゲームもOllyDbgやIDAつかって覗いてみるとPeekMessageやGetTickCount等を使って一定時間間隔のメッセージ処理ループをやってた
474デフォルトの名無しさん
2023/02/19(日) 08:53:33.42ID:zBhvMYFK >>473
それはウィンドウメッセージ以外の処理を並行してやるためでしょ。
均等時間で処理を進めたいとかそういう事情が無ければ大人しくイベント待ちすればいいのに、そうせずわざわざ Sleep するとどんないいことがあるの?
それはウィンドウメッセージ以外の処理を並行してやるためでしょ。
均等時間で処理を進めたいとかそういう事情が無ければ大人しくイベント待ちすればいいのに、そうせずわざわざ Sleep するとどんないいことがあるの?
475デフォルトの名無しさん
2023/02/19(日) 10:13:58.24ID:xSIr/CQB 昔の知識否定されてファビョってるだけだろ
わざわざ昔のゲームとかw
わざわざ昔のゲームとかw
476デフォルトの名無しさん
2023/02/19(日) 10:23:12.36ID:QabSn9vm 前レスよく読まなかったけど、GetMessage()で済むところをPeekMessage();Sleep(1);でループしてメッセージのポーリングするってことか。
なんでわざわざそんなことを?w
なんでわざわざそんなことを?w
477デフォルトの名無しさん
2023/02/19(日) 10:54:48.53ID:jNkDtxGh WinFormsのソースもPeekMessageでWindowメッセージがあればそれの処理、無ければタスクキュー処理って流れだったはず
478デフォルトの名無しさん
2023/02/19(日) 11:25:42.35ID:xSIr/CQB479デフォルトの名無しさん
2023/02/19(日) 11:36:42.06ID:jNkDtxGh >>478
Sleepは知らんがPeekMessageでブロックせずに他の定期処理挟むのは別に普通って言いたかっただけ
Sleepは知らんがPeekMessageでブロックせずに他の定期処理挟むのは別に普通って言いたかっただけ
480デフォルトの名無しさん
2023/02/19(日) 14:38:47.15ID:xSIr/CQB481デフォルトの名無しさん
2023/02/19(日) 14:39:32.86ID:svaemBcP そもそも454-457で解決してるのになんで盛り上がってきたんだw
482デフォルトの名無しさん
2023/02/24(金) 14:07:57.59ID:uAuRZ8t6 質問ですがOpen(Save)Dialog等でOFN_DONTADDTORECENTが無効の場合、この履歴情報はどこに保存されますか?
483デフォルトの名無しさん
2023/02/24(金) 14:25:10.37ID:uAuRZ8t6 すみません
エクスプローラの履歴を消したら消えました
質問を取り下げます
エクスプローラの履歴を消したら消えました
質問を取り下げます
484デフォルトの名無しさん
2023/02/25(土) 14:25:14.46ID:/pFhv1h6 Win32APIはC言語が前提
C++で同様なものはMFCであってます?
C++で同様なものはMFCであってます?
485デフォルトの名無しさん
2023/02/25(土) 14:47:53.07ID:i9tFdOEb >>484
C++でもWin32APIはWin32APIです。
MFCは別物。
元々はC/C++からWin32APIを呼び出す前提だったけど、
今はC#、Python、Rust等いろいろな言語から呼べるらしい。
C++でもWin32APIはWin32APIです。
MFCは別物。
元々はC/C++からWin32APIを呼び出す前提だったけど、
今はC#、Python、Rust等いろいろな言語から呼べるらしい。
486デフォルトの名無しさん
2023/02/25(土) 15:03:12.75ID:/pFhv1h6 そうなんだ
サンクス
サンクス
487デフォルトの名無しさん
2023/02/25(土) 17:08:15.41ID:VP7n/u9I GDI+ はリファレンスは C++のインターフェースだけど
細かくほぐしたら Cや他言語に対応できるのかな
細かくほぐしたら Cや他言語に対応できるのかな
488デフォルトの名無しさん
2023/02/25(土) 22:30:47.93ID:YUkwGr7D >>484
C++/WinRTもあるよ
C++/WinRTもあるよ
489デフォルトの名無しさん
2023/03/04(土) 00:35:03.13ID:cng4hKxr >>484
MFCを使わせたかったのはVisual C++だった。
WindowsアプリケーションはC言語かC++を使うのが前提の歴史があって、MFCはWindows APIをラッピングしたものだった。
マイクロソフトはライブラリの作り方がよくわからず、MFCはコードが複雑になるだけのもの。
Java SEのライブラリが登場してから、マイクロソフトは失敗に気づいて.NET Frameworkを作ることになる。
MFCを使わせたかったのはVisual C++だった。
WindowsアプリケーションはC言語かC++を使うのが前提の歴史があって、MFCはWindows APIをラッピングしたものだった。
マイクロソフトはライブラリの作り方がよくわからず、MFCはコードが複雑になるだけのもの。
Java SEのライブラリが登場してから、マイクロソフトは失敗に気づいて.NET Frameworkを作ることになる。
490デフォルトの名無しさん
2023/03/04(土) 01:13:44.99ID:poIq8zq5 >>489
MicrosoftのVisual C++のMFC
BorlandのC++ BuilderのVCL
当時のWindowsでのC++用クラスライブラリでのシェア競争の結果Borlandが敗れてMFCが主流になった
.NET FrameworkはもともとWindows DNA構想から産まれてきたものでMFCとは起源が別
MicrosoftのVisual C++のMFC
BorlandのC++ BuilderのVCL
当時のWindowsでのC++用クラスライブラリでのシェア競争の結果Borlandが敗れてMFCが主流になった
.NET FrameworkはもともとWindows DNA構想から産まれてきたものでMFCとは起源が別
491デフォルトの名無しさん
2023/03/04(土) 01:56:42.82ID:fku36Zva MFCの設計が変なのは出てきた時期も悪かったと思うね
まだVC++含めて各C++コンパイラでtemplateもまともに動かない&互換性に問題があるような状態だったし
まだVC++含めて各C++コンパイラでtemplateもまともに動かない&互換性に問題があるような状態だったし
492デフォルトの名無しさん
2023/03/04(土) 04:09:52.49ID:HiKr/1U9 MFCは最初から死産だったがMS製だからVisualStudioに標準で入ってるからと使わざるを得なかっただけ
設計思想はDelphi(C++Builder)よりも数段劣ってる
当時のC++がうんこすぎたのもあるがこれは処理系の設計者のセンスの問題だろう
設計思想はDelphi(C++Builder)よりも数段劣ってる
当時のC++がうんこすぎたのもあるがこれは処理系の設計者のセンスの問題だろう
493デフォルトの名無しさん
2023/03/04(土) 06:03:41.66ID:2lfmGWRw >>490
その頃のBorlandはOWLだぞ
その頃のBorlandはOWLだぞ
494デフォルトの名無しさん
2023/03/04(土) 10:32:23.94ID:IGk7eTto MFCはDocument-Viewアーキテクチャがわかりにくいとかそのパターンに合わないアプリが
作りにくいとかはあったけど、それ以外は当時のC++でよくやったと思うよ。
作りにくいとかはあったけど、それ以外は当時のC++でよくやったと思うよ。
495デフォルトの名無しさん
2023/03/04(土) 10:38:13.23ID:RFNVa0Qi C++じゃなくてCからでもGDI+は使える
面倒だから避けるけど
面倒だから避けるけど
496デフォルトの名無しさん
2023/03/04(土) 10:40:00.46ID:RFNVa0Qi497デフォルトの名無しさん
2023/03/04(土) 10:41:24.02ID:RFNVa0Qi >>491
いやいやMFCの設計者が馬鹿過ぎただけ
いやいやMFCの設計者が馬鹿過ぎただけ
498デフォルトの名無しさん
2023/03/04(土) 10:43:16.79ID:RFNVa0Qi >>492-493
ほんそれ
ほんそれ
499デフォルトの名無しさん
2023/03/04(土) 10:45:47.20ID:RFNVa0Qi >>494
どうみても糞は糞
どうみても糞は糞
500デフォルトの名無しさん
2023/03/04(土) 10:51:57.61ID:2lfmGWRw Document Viewが分かりにくいとか
そんなんで音を上げるやつがセンスとはよく言うよ
そんなんで音を上げるやつがセンスとはよく言うよ
501デフォルトの名無しさん
2023/03/04(土) 11:11:54.38ID:N7rqxwy8 MFCなんてクソ過ぎて当時でも使ってなかったよw
502デフォルトの名無しさん
2023/03/04(土) 11:18:57.88ID:AKTwgEup MFCよりSDKというのは当時の合言葉だったろ
503デフォルトの名無しさん
2023/03/04(土) 11:21:50.94ID:2lfmGWRw Smalltalkの下手な真似は目が点になったけどね
504デフォルトの名無しさん
2023/03/06(月) 08:40:31.04ID:jJIeXpQ3 使わざるを得なかっただけてw
使うも使わないも使用者の自由だろw
使うも使わないも使用者の自由だろw
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
