OpenProcessで取得したプロセスIDをWaitForSingleObjectで監視する

Win32APIのWaitForSingleObject関数を使って、アプリケーションの終了を監視する際に、OpenProcessで取得したIDを使う場合に、ハマったので備忘録的な記事として投稿します。

続きを読む OpenProcessで取得したプロセスIDをWaitForSingleObjectで監視する

アプリケーションを正しく初期化できませんでした。[0xc000007b]

64ビット環境で自己実行可能形式(EXE)ファイルを実行した時に、「アプリケーションを正しく初期化できませんでした(0xc000007b)。[OK]をクリックしてアプリケーションを閉じてください。」というメッセージの話。 続きを読む アプリケーションを正しく初期化できませんでした。[0xc000007b]

プロジェクトのビルド構成で「操作を完了できませんでした。ポインターが無効です」が表示される

古いVisual Studioのコードをアップグレードした際に、テストで作成したような要らないビルド構成を削除する時に「操作を完了できませんでした」メッセージが表示される困った現象を解消した話。 続きを読む プロジェクトのビルド構成で「操作を完了できませんでした。ポインターが無効です」が表示される

C++で64ビットアプリケーションをビルド時のエラーメッセージを回避する

古いVisual Studioで作成したMFCプロジェクトを変換して64ビットアプリケーションをビルドした場合のエラーを回避する話。 続きを読む C++で64ビットアプリケーションをビルド時のエラーメッセージを回避する

MFCでアンマネージコードをマネージコードで使う場合

C++/MFCで作成したコード(アンマネージコード)を.NET Framework(マネージコード)で利用する場合には、プロジェクトの設定変更が必要になるという話。 続きを読む MFCでアンマネージコードをマネージコードで使う場合

CryptAcquireContextでエラー(NTE_EXISTS)が発生する場合

MicrosoftのCryptoAPIを利用する場合には、最初の手続きとしてCryptAcquireContext関数を呼び出して必要となる鍵ペアを取得するところから始まります。 続きを読む CryptAcquireContextでエラー(NTE_EXISTS)が発生する場合

C++からWebサービスに接続する

正味の話が、Visual StudioのC++プロジェクトのメニューで[Web参照の追加]ができるかという話。
VC++はVisual Studioのバージョンアップの度に「取り残された感」が強くて、C#やASP.NETのように出来ることが増えていくのではなく、制限されていく方向にあるのは間違いない。(VS2003.NETの時にはWebサービスのテンプレートがあったのにVS2005では、あっさり無くなってしまったり)

続きを読む C++からWebサービスに接続する