• 締切済み

未サポートAPIを使用した時のエラー処理

最低サポートバージョンがWindows VistaのWindowsAPIを使用したアプリケーションを、Windows XPなどの最低サポートバージョン以下のWindowsで実行した場合、対象のAPIがDLL内にないことを示すエラーメッセージダイアログボックスを出力して、異常終了します。 本来は、最低サポートバージョンのWindowsでアプリケーションを実行した場合、対象のAPIが実行される処理を通った時だけ、独自のエラー処理を実行したいのですが、このようなことは不可能なのでしょうか? <開発環境> ・Visual Studio 2008 ・VC6.0 ・コンソールアプリケーションとして作成

みんなの回答

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

>最低サポートバージョンのWindowsでアプリケーションを実行した場合、対象のAPIが実行される処理を通った時だけ、独自のエラー処理を実行したいのですが、このようなことは不可能なのでしょうか? LoadLibrary()でdllを読み込ませて、GetProcAddress()でAPIのアドレスを取得できます。 それぞれでエラー処理できるはずです。 XPで実行したときにVista以降にしかないdllならLoadLibrary()でエラーになりますし、APIが無ければGetProcAddress()でエラーになります。 検索してみるとそういう処理の仕方を解説しているページは見つかるかと。 APIの中身が無い(何もせずに戻ってくるだけ)という場合もありますが。

関連するQ&A