//获取版本号2.0
public int Crypt_Get_Version_Java(byte[] version)
{
if (Crypt_Get_Version_Proxy(version) ==0)
{
System.out.println("The currently version is "+new String(version));
return 0;
}
else
System.out.println("Get version failed");
//获取版本号2.0
JNIEXPORT jint JNICALL Java_softCertProxy_Crypt_1Get_1Version_1Proxy
(JNIEnv * jEnv, jobject this, jbyteArray version)
{
HINSTANCE hDLL;
CRYPT_GET_VERSION_DLL Crypt_Get_Version_Dll;
int flag =1;
hDLL =LoadLibrary("soft_cert");
Crypt_Get_Version_Dll =(CRYPT_GET_VERSION_DLL)GetProcAddress(hDLL,"Crypt_Get_Version");
if (!Crypt_Get_Version_Dll)
{
// handle the error
FreeLibrary(hDLL);
printf("dll link failed\n");
return flag;
}
else
{
jboolean* Version;
Version =(*jEnv)->GetByteArrayElements(jEnv,version,0);
// call the function
if(Crypt_Get_Version_Dll(Version) ==0)
{
flag =0;
(*jEnv)->ReleaseByteArrayElements(jEnv,version,Version,0);
}
return flag;
}
}
code of jbuilder
我就写我调用的那一部分
softCertProxy scp =new softCertProxy();
byte[] version =new byte[10];
if(scp.Crypt_Get_Version_Java(version) ==0)
{
String aa =new String(version);
messagePane.showMessageDialog(null,"取得版本号为:"+aa,"报告",JOptionPane.INFORMATION_MESSAGE);
}
//获取版本号2.0
public int Crypt_Get_Version_Java(byte[] version)
{
if (Crypt_Get_Version_Proxy(version) ==0)
{
System.out.println("The currently version is "+new String(version));
return 0;
}
else
System.out.println("Get version failed");
return 1;
}
}
code of softCertProxy .c
//获取版本号2.0
JNIEXPORT jint JNICALL Java_softCertProxy_Crypt_1Get_1Version_1Proxy
(JNIEnv * jEnv, jobject this, jbyteArray version)
{
HINSTANCE hDLL;
CRYPT_GET_VERSION_DLL Crypt_Get_Version_Dll;
int flag =1;
hDLL =LoadLibrary("soft_cert");
Crypt_Get_Version_Dll =(CRYPT_GET_VERSION_DLL)GetProcAddress(hDLL,"Crypt_Get_Version");
if (!Crypt_Get_Version_Dll)
{
// handle the error
FreeLibrary(hDLL);
printf("dll link failed\n");
return flag;
}
else
{
jboolean* Version;
Version =(*jEnv)->GetByteArrayElements(jEnv,version,0);
// call the function
if(Crypt_Get_Version_Dll(Version) ==0)
{
flag =0;
(*jEnv)->ReleaseByteArrayElements(jEnv,version,Version,0);
}
return flag;
}
}
code of jbuilder
我就写我调用的那一部分
softCertProxy scp =new softCertProxy();
byte[] version =new byte[10];
if(scp.Crypt_Get_Version_Java(version) ==0)
{
String aa =new String(version);
messagePane.showMessageDialog(null,"取得版本号为:"+aa,"报告",JOptionPane.INFORMATION_MESSAGE);
}
JNIEXPORT jint JNICALL Java_softCertProxy_Crypt_1Get_1Version_1Proxy
(JNIEnv * jEnv, jobject this, jbyteArray version)
{
HINSTANCE hDLL;
CRYPT_GET_VERSION_DLL Crypt_Get_Version_Dll;
int flag =1;
hDLL =LoadLibrary("soft_cert");
Crypt_Get_Version_Dll =(CRYPT_GET_VERSION_DLL)GetProcAddress(hDLL,"Crypt_Get_Version");
if (!Crypt_Get_Version_Dll)
{
// handle the error
FreeLibrary(hDLL);
printf("dll link failed\n");
return flag;
}
else
{
jboolean* Version;
Version =(*jEnv)->GetByteArrayElements(jEnv,version,0);
// call the function
if(Crypt_Get_Version_Dll(Version) ==0)
{
flag =0;
(*jEnv)->ReleaseByteArrayElements(jEnv,version,Version,0);
}