Nvidia の API NvApi.lib をロードする必要がある VB.Net プロジェクトに取り組んでいます。ただし、Nvidia の Web サイトには次のように書かれています。
「NvAPI をアプリケーションに動的にリンクすることはできません。ライブラリへの静的リンクを作成してから、nvapi.dll を動的にロードする NvAPI_Initialize() を呼び出す必要があります。」
私の理解では、.Net は静的リンクをサポートしていません。Visual Basic から呼び出せるように NvApi.lib ファイルをラップする方法はありますか? PSここでNvApi.net と呼ばれるプロジェクトを見たことがありますが、それは可能であると信じていますが、そのプロジェクトは不完全なようで、2009 年に放棄され、必要な機能は 2010 年に API に追加されました。
編集:
私はそれを機能させることができました。新しいビジュアル C++ CLR クラス プロジェクトをソリューションに追加しました。nvapi.lib ファイルを依存関係としてリンクし、nvapi.h ファイルをプロジェクトに追加した後、必要なメソッドの小さなラッパーを作成することができました。以下は私が使用したコードです。3Dステレオのオンとオフを切り替えるだけです。
#include "nvapi.h"
public ref class NvApiWrapper
{
public:
static bool NvApiWrapper_Initialize(){
if (NvAPI_Initialize() == 0){
return true;
} else {
return false;
}
}
static bool NvApiWrapper_Stereo_Enable(){
if (NvAPI_Stereo_Enable() == 0){
return true;
} else {
return false;
}
}
static bool NvApiWrapper_Stereo_Disable(){
if (NvAPI_Stereo_Disable() == 0){
return true;
} else {
return false;
}
}
};