WindowsSDK 内の `winerror.h` や 他のエラーコードっぽいヘッダーからエラーコードっぽいのを抽出し、FormatMessage() で日本語化しただけのものです^^; 結果出力させた環境は Windows10 ver.1703 (Creators Update)、実行バイナリを生成したのは VC2017 です。 (2017-05-30 結果出力を WinXP SP2 から更新しました! 12年ぶりに更新しました! 忘れてないよ!!) 出力結果の中で "---" となっているのは、メッセージの取得に失敗したものです かなり大きなテーブルなので、表示されるまで時間かかるかもしれません (2.2MBぐらいあります) COMにカテゴライズしてる後ろの方の結果はCOMのカテゴリなのか怪しい FormatMessage() で取り出すべきエラーコードじゃないのまで取り扱ってるよう
Condition variables and monitors are important concurrency and threading abstractions which can help in implementing robust multi-threaded code. Most major programming languages and environments provide implementations of condition variables and monitors out-of-the-box (Java and .NET, for example). Delphi, unfortunately, doesn’t offer such a functionality and because we needed condition variables
最適化の為にはメモリの確保方法は工夫しなければならないと以前の記事にしましたが、Windowsプログラミングにおける工夫の1つをご紹介します。 Windowsにはメモリ確保の関数が多いですが、最低限以下の4つは特性を理解して使うべきです。 HeapAlloc VituralAlloc LocalAlloc/GlobalAlloc new (malloc) ・ HeapAlloc 異なるメモリブロックを多数作成するときに利用します。パフォーマンスを最大にしたい場合、同じブロック長のみで構成したヒープハンドルを複数作成する必要があります。 ・ VirtualAlloc また、多量のデータを格納する空間を用意する必要があるが、一部は利用しないかもしれない場合に重宝します(ハッシュテーブル等)。部分的に領域の確保を遅らせることが出来ます。多量のメモリを確保する場合は基本的にこの関数に頼るべきです。
アクティブになっているファイルのフルパスを取得するプログラムを作成してるのですが・・・・ ワードなどの任意の拡張子(.docなど)のフルパスを取得しようとするとワードの大元の実行ファイル(WINWORD.EXE)を取得して出力しまいます。たとえばデスクトップにあるtest.docを取得するとします。そうすると C:\Program Files\Microsoft Office\Office10\WINWORD.EXE と出力されます。 めざしている出力は C:\Documents and Settings\user\デスクトップ\test.doc です。 関数は色々調べた結果、GetModuleFileNameExを使ってプロセスIDなどから取得しています。 他に方法を自分なりに探したのですがいまいちよくわかりません。 開発環境はVisualStdioのVC++です。 OSはXP Prof
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く