注册


关于在VS环境开发ActiveX控件不能在部分win10或者win8电脑上注册的解决方案

℡╲_俬逩灬. 提交于 2019-12-09 18:14:01
问题描述: VS2008上利用ATL(动态模板库)编写的项目ActiveX控件在部分电脑上可成功注册并运行,但部分电脑上无法注册特别是Win10环境上。 目标: 在Win7、Win8、Win10等环境下成功注册ActiveX控件。 解决方案: 通过对问题的分析,可以发现部分电脑是可以注册的,为什么部分不可以?通过了解后发现能注册的电脑是安装过VS或者安装某些软件时候自动安装了VS运行环境,那么问题可能就是这个。然后针对这个问题进行了三种方案的研究,两种方案验证可行,那么总结出问题就是运行环境问题导致不能注册,下边分别说明和比较: 方案一(存在问题) 既然项目依赖运行库,那么其它插件为什么不需要运行库,因此首先针对项目进行了研究。发现项目编译生成dll文件时,采用的是动态链接运行库文件,因此修改编译属性为静态链接后重新编译运行项目,注册成功。 属性修改方法:项目属性-》配置属性修改“C/C++/Code Generation” -》运行时库,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。 /MD和/MDd:动态链接库文件,/MD为release版本,/MDd为debug版本。 /MT和/MTd:静态链接库文件,/MT为release版本,/MTd为debug版本。 结论: 经过和项目负责人确认之后

JNI native方法以及回调方法的实现

て烟熏妆下的殇ゞ 提交于 2019-12-01 04:26:47
JNI注册Native方法的步骤: 1、 Java层有五个Native方法: DsmccDownloader类下面有五个native方法 public native voidloadcancel(int handle); private native boolean init(); private native void setCurrentFrequency(int freq); private native int loadDir(XXXXXX); private native int loadfile(XXXXX); 2、 JNI层添加native数组: 数组形式={native方法名称,(参数类型列表)返回值类型,JNI层方法名称} static JNINativeMethod gDSMCCNativeMethod[] = { { "loadDir", "(JJIII[B[BLdsmccdownloadservice/DsmccDownloaderListener;)I", (void*)JNI_LoadDir, }, { "loadfile", "(JJIII[BLjava/io/FileDescriptor;Ldsmccdownloadservice/DsmccDownloaderListener;)I", (void*)JNI_LoadFile, }, {

工具导航Map