API RegDeleteKeyまたはRegDeleteKeyExを使用して、いくつかのレジストリ キーを再帰的に削除するアプリを作成しています。気になるのは、RegDeleteKeyExがXP x64 Professional未満に対して定義されていないため、この制限によりアプリが制限されていることです。XP x86 から Win7 x64 まで互換性のある両方の API を使用できる方法はありますか?
user1696837
質問する
2382 次
1 に答える
0
RegDeleteKeyEx
存在しない古いシステムでアプリを実行するには、この API への静的リンクを避ける必要があります。つまり、この関数を直接使用するのではなく、実行時に を介してポインタを取得しますGetProcAddress
。成功すると、API が利用可能になり、使用できるようになります (または、OS のバージョンを確認できます)。
ここを見てください: RegDeleteKeyEx を使用するにはどうすればよいですか:
hAdvAPI32 = LoadLibrary(_T("AdvAPI32.dll"));
ASSERT(hAdvAPI32 != NULL);
_RegDeleteKeyEx = (PFN_RegDeleteKeyEx)GetProcAddress(hAdvAPI32 , "RegDeleteKeyEx");
ASSERT(_RegDeleteKeyEx != NULL);
RegDeleteKey
すべてのターゲット プラットフォームに存在するため、直接使用できます。
于 2012-10-09T10:25:44.617 に答える