jnaを使用して Java コードでRegLoadKey関数を使用する必要がありますが、次のエラー メッセージが表示されます。
スレッド「メイン」での例外 java.lang.UnsatisfiedLinkError: 関数 'RegLoadKey' の検索中にエラーが発生しました: 指定されたプロシージャが見つかりませんでした。引用符
RegLoadKey 構文
LONG WINAPI RegLoadKey(
_In_ HKEY hKey,
_In_opt_ LPCTSTR lpSubKey,
_In_ LPCTSTR lpFile
);
私のコード: Advapi32.java
import com.sun.jna.platform.win32.WinReg.HKEY;
import com.sun.jna.win32.StdCallLibrary;
public interface Advapi32 extends StdCallLibrary
{
long RegLoadKey(HKEY hKey, String lpSubKey,String lpFile);
}
apiTest.java
import com.sun.jna.*;
import com.sun.jna.platform.win32.WinReg.HKEY;
public class apiTest
{
public static void main (String [] args)
{
Advapi32 lib2 = (Advapi32) Native.loadLibrary("Advapi32", Advapi32.class);
HKEY key1 = new HKEY();
String filePath = "C:\\tmp\\software";
String regName = "loadedRegKey";
long test = lib2.RegLoadKey(key1, regName, filePath);
}
私のコードにはいくつかの問題があると思います。私はWindows APIとjnaが初めてです。