针对个人的上一篇文章中提到的遇到的几个问题,做一下个人解答

DLL部署的问题,可以将DLL添加到工程中,属性中设置content为true,这样,部署目录下就会有这个文件。

需要说明的是,这个文件确实过去了,在PC上可以直接看到,在模拟器上我用遍历当前目录的函数查了一遍,文件确实存在

但是,如果DLL是普通的WIN32DLL,在模拟器上依然报文件找不到的异常,个人推断是,这个DLL不知道还引了什么东西,所以不能正常用。如果是UWP的DLL就可以

最终的解决方案是:DLL需要有源码,重新创建UWP的DLL工程,将源码移植过来,调整使可编译过,这样,可以在所有平台和设备上可以正常用

另外,还做了一步发布到商店前的验证,会提示一些API不该被调用,策略是在编DLL时加入宏WINAPI_FAMILY=WINAPI_FAMILY_APP试一下

此处的一些内容,参考了 http://www.cnblogs.com/nio-nio/p/3410180.html ,可以去看一下

个人有点自己的观点提一下,主要是第二部分中复用DLL的图,首先,还有一种途径是直接将DLL源码写到运行时组件中,其次,在倒数第二条路子中,C#应该是可以直接调DLL的,比如通过DLLIMPORT的方式,只不过接口写起来比较麻烦

最近在用C++/CX封运行时组件提供的接口,有几点需要记一下备忘:

运行时接口中需public的才能被外面看到并调用,而且必须要在命名空间中,不能全局,而且命名空间必须和工程名一致

运行时接口中,字符串参数用Platform::String^,和std::string的转换可参考 http://www.cnblogs.com/zouzf/p/3984628.html

运行时接口中,如果参数用到map或vector,在声明中需要用Windows::Foundation::Collections::IMap^这种类似格式,而在实现中去创建对象时,用ref new Platform::Collections::Map;

运行时接口中,遇到了想传对象指针,但是不是运行时对象,网上有人提到接口中参数用Platform::UIntPtr这种类型,和指针互转时用return reinterpret_castPlatform::UIntPtr*(&m_pObj) 或 Pointer m_pObj = *reinterpret_cast(&value);

代码中,枚举用public enum class Color
{Red = 1,
Green,};

代码中,异步编程时也比较简单,在异步接口中,返回值为Windows::Foundation::IAsyncAction^,或同命名空间下的其它类,区别在于是否有返回值,是否有进度等,接口的实现中,调用Concurrency::create_async(this{}来写一个lambda表达式,表达式里面做同步的操作就可以了,在外面调的时候,使用await调就可以了。
该处参考了示例: https://msdn.microsoft.com/zh-cn/library/windows/apps/hh755833.aspx
对应的大部分API可以在这查到: https://msdn.microsoft.com/en-us/library/windows/apps/jj207212(v=vs.105).aspx
https://msdn.microsoft.com/en-us/library/windows/apps/br211377.aspx

以上,此记

UWP开发小记的更多相关文章

  1. 领域驱动和MVVM应用于UWP开发的一些思考

    领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问 ...

  2. UWP开发必备:常用数据列表控件汇总比较

    今天是想通过实例将UWP开发常用的数据列表做汇总比较,作为以后项目开发参考.UWP开发必备知识点总结请参照[UWP开发必备以及常用知识点总结]. 本次主要讨论以下控件: GridView:用于显示数据 ...

  3. Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App

    安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...

  4. UWP开发之控件:用WebView做聊天框

    目录 说明 WebView存在的价值 使用WebView的几个重要技巧 使用WebView做的聊天框 说明 大家都知道,无论是之前的Winform.WPF还是现在的IOS.Android开发中,都存在 ...

  5. Win10 UWP 开发系列:使用SQLite

    在App开发过程中,肯定需要有一些数据要存储在本地,简单的配置可以序列化后存成文件,比如LocalSettings的方式,或保存在独立存储中.但如果数据多的话,还是需要本地数据库的支持.在UWP开发中 ...

  6. Win 10 UWP开发系列:设置AppBarButton的图标

    在WP8以前,页面最下面的四个小圆按钮是不支持绑定的,WP8.1 RT之后,系统按钮升级成了AppBarButton,并且支持绑定了.在Win10 UWP开发中,按钮的样式发生了变化,外面的圆圈没有了 ...

  7. Win10/UWP开发—凭据保险箱PasswordVault

    PasswordVault用户凭据保险箱其实并不算是Win10的新功能,早在Windows 8.0时代就已经存在了,本文仅仅是介绍在UWP应用中如何使用凭据保险箱进行安全存储和检索用户凭据. 那么什么 ...

  8. Win10/UWP开发—使用Cortana语音与App后台Service交互

    上篇文章中我们介绍了使用Cortana调用前台App,不熟悉的移步到:Win10/UWP开发—使用Cortana语音指令与App的前台交互,这篇我们讲讲如何使用Cortana调用App的后台任务,相比 ...

  9. Win10/UWP开发—使用Cortana语音指令与App的前台交互

    Win10开发中最具有系统特色的功能点绝对少不了集成Cortana语音指令,其实Cortana语音指令在以前的wp8/8.1时就已经存在了,发展到了Win10,Cortana最明显的进步就是开始支持调 ...

随机推荐

  1. Spark学习笔记-三种属性配置详细说明【转】

    相关资料:Spark属性配置  http://www.cnblogs.com/chengxin1982/p/4023111.html 本文出处:转载自过往记忆(http://www.iteblog.c ...

  2. Lintcode--004(最小子串覆盖)

    给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串. 注意事项 如果在source中没有这样的子串,返回"",如果有多个 ...

  3. SQL Fetch size

    JDBC performance tuning with optimal fetch size February 1, 2009 31 Comments Tuning performance usin ...

  4. Codeforces 13C Sequence

    http://codeforces.com/contest/13/problem/C 题目大意 给定一个含有N个数的序列,要求你对一些数减掉或者加上某个值,使得序列变为非递减的,问你加减的值的总和最少 ...

  5. JavaScript中String对象处理HTML标记中文本的方法

    big():创建一个<big></big>标记,将这个字符串的字体变大blink():创建一个<blink></blink>标记,使字符串具有闪烁效果b ...

  6. ISO7816通讯协议在工控主板EM9160中的实现方案

    在新的国家电网智能终端相关标准中,规定了通过专门的加密芯片来保证设备数据安全性的方法,而设备主控单元与加密芯片采用了广泛应用的ISO7816通讯协议.工控主板EM9160为了适应这一新的技术需求,对其 ...

  7. TaintDroid:智能手机监控实时隐私信息流跟踪系统(四)

    6      应用程序研究 款流行的应用程序是怎么使用用户敏感数据的.选取的应用程序可以根据相应的权限通过Internet获得各种各样的用户数据.我们研究发现三分之二的这些数据暴露了用户详细的地理位置 ...

  8. 【转】如何删除一个repository(仓库)

    原文网址:http://my.oschina.net/anna153/blog/377758?p=1 如何删除自己创建的一个项目,我浏览了一下github网站,确实不太容易找到删除功能.这里介绍一下啊 ...

  9. Oracle查询死锁&杀死会话

    select object_name,machine,s.sid,s.serial#  from v$locked_object l,dba_objects o ,v$session s where ...

  10. ServerSocketChannel实现多Selector高并发server

    参考hbase RpcServer,编写了一个简洁版多Selector server,对nio怎么用,Selector如何选择事件会有更深入的认识. client端发送消息:内容长度 + 内容,200 ...