windows应用中调用DLL一步步试验
2015-06-19 16:26
295 查看
试验环境:
PC:win10 build 10143
IDE: vs2015 RC
WinPhone: win10 build 10136
简单界面,点按钮,算加法
一、主程用C++
1、新建visual C++下的Blank App(windows universal),添加按钮及相应代码,可在PC跑,也可在WP跑
2、新建visual C++下的Blank App(windows universal),新建visual C++下的Dll(windows universal)
1)添加引用时,直接添加DLL工程,可在PC跑,也可以WP跑,可看到编译输出目录下的AppX目录中,DLL文件自己过来了
2)添加引用时,添加DLL文件,但是添加失败。于是,换常规添加方式,在链接中加入LIB路径,加入LIB文件,编译,过了。运行,失败,原因,DLL没拷到对应目录下,需手动拷到AppX目录,然后再运行,OK,在PC上过了。对于WP上,由于这么添加DLL,工程不会自动拷DLL,而手动拷也只能拷到PC上的编译输出目录,在WP上调的时候,好像DLL并未跟着过去,(输出目录显示A dependent dll was not found),个人不知道怎么拷到WP上,所以一直未运行成功(高手来指点下啊,怎么才可以在以前引DLL文件的方式下,使得可以在WP上跑)
3、新建visual C++下的Blank App(windows universal),新建WIN32下的DLL工程
1)添加引用时,直接添加DLL工程,失败,不允许添加
2)添加引用时,换常规方式添加,在链接中加路径,加库文件,编译,过了。运行,需手动拷DLL到AppX目录下才可运行,所以,PC过了,WP不知如何放到运行目录下,启动失败
二、主程用C#
1、新建C#的空商店工程,再添加一个winrt下的DLL工程,然后在商店工程中添加DLL工程的引用,失败,只能再添加一个visual c++的winrt组件工程,然后在商店工程中添加winrt组件的引用,在winrt组件工程中添加DLL的引用,这样可以添加成功,也可以在PC、WP下跑成功
2、将上面的DLL换成通用的WIN32DLL工程再试验,添加引用方式为,商店工程添加winrt组件,winrt组件中使用常规方式添库目录、库文件,在此方式下,PC上可以成功,在WP上还是老问题,DLL如何部署过去
三、调用注册表操作函数
1、在商店相关的工程中,有宏定义,使得注册表操作函数不允许被调用,在这些工程中不可以调。
2、新建一个WIN32动态库,这里面可以调用注册表操作函数,然后被商店程序调用。在PC上试验可以成功。但是存在的问题有:1)在WP上无法试,因为不会部署DLL;2)假如以后找到方法可以部署了,发布到应用商店时,是否有对应的检验,是否允许发布应用,这个不清楚,没有做到这一步,纯猜测;3)打算试一下X86模拟器模拟WP机器,但是依旧不知道运行的路径,DLL过不去(大神何在!!!)
PC:win10 build 10143
IDE: vs2015 RC
WinPhone: win10 build 10136
简单界面,点按钮,算加法
一、主程用C++
1、新建visual C++下的Blank App(windows universal),添加按钮及相应代码,可在PC跑,也可在WP跑
2、新建visual C++下的Blank App(windows universal),新建visual C++下的Dll(windows universal)
1)添加引用时,直接添加DLL工程,可在PC跑,也可以WP跑,可看到编译输出目录下的AppX目录中,DLL文件自己过来了
2)添加引用时,添加DLL文件,但是添加失败。于是,换常规添加方式,在链接中加入LIB路径,加入LIB文件,编译,过了。运行,失败,原因,DLL没拷到对应目录下,需手动拷到AppX目录,然后再运行,OK,在PC上过了。对于WP上,由于这么添加DLL,工程不会自动拷DLL,而手动拷也只能拷到PC上的编译输出目录,在WP上调的时候,好像DLL并未跟着过去,(输出目录显示A dependent dll was not found),个人不知道怎么拷到WP上,所以一直未运行成功(高手来指点下啊,怎么才可以在以前引DLL文件的方式下,使得可以在WP上跑)
3、新建visual C++下的Blank App(windows universal),新建WIN32下的DLL工程
1)添加引用时,直接添加DLL工程,失败,不允许添加
2)添加引用时,换常规方式添加,在链接中加路径,加库文件,编译,过了。运行,需手动拷DLL到AppX目录下才可运行,所以,PC过了,WP不知如何放到运行目录下,启动失败
二、主程用C#
1、新建C#的空商店工程,再添加一个winrt下的DLL工程,然后在商店工程中添加DLL工程的引用,失败,只能再添加一个visual c++的winrt组件工程,然后在商店工程中添加winrt组件的引用,在winrt组件工程中添加DLL的引用,这样可以添加成功,也可以在PC、WP下跑成功
2、将上面的DLL换成通用的WIN32DLL工程再试验,添加引用方式为,商店工程添加winrt组件,winrt组件中使用常规方式添库目录、库文件,在此方式下,PC上可以成功,在WP上还是老问题,DLL如何部署过去
三、调用注册表操作函数
1、在商店相关的工程中,有宏定义,使得注册表操作函数不允许被调用,在这些工程中不可以调。
2、新建一个WIN32动态库,这里面可以调用注册表操作函数,然后被商店程序调用。在PC上试验可以成功。但是存在的问题有:1)在WP上无法试,因为不会部署DLL;2)假如以后找到方法可以部署了,发布到应用商店时,是否有对应的检验,是否允许发布应用,这个不清楚,没有做到这一步,纯猜测;3)打算试一下X86模拟器模拟WP机器,但是依旧不知道运行的路径,DLL过不去(大神何在!!!)
相关文章推荐
- 13Spring通过注解配置Bean(1)
- linux上进程状态查询
- Snaker-flow介绍
- arm下的led灯测试代码
- php衣食父母之3-php利用HHVM实现高性能
- JVM字节码执行模型及字节码指令集
- HTML5本地数据库(WebSQL)
- SAP 对话屏幕长文本编辑框
- 创建简单的SQLitem 数据库
- 二维数组中的查找
- 从Http它被连接到WebSocket
- Yii2 学习日志------view form标签
- PHP实现同服务器多个二级域名共享 SESSION
- CXF(2.7.10) - WSDL2Java generated Client
- GRE阅读中--高频词汇
- C++ 线程学习
- 科目二今天终于过了
- GPUImge
- bzoj1007 [HNOI2008]水平可见直线
- ios-数据缓存随笔