巧用磁盘管理器之用存储卡变相扩充硬盘容量并骗过只能在硬盘运行的程序

作者:V君 发布于:2015-4-20 9:55 Monday 分类:折腾手记

TL;DR: 

对于固定内部存储容量却空间不足的Windows 8.1平板电脑. 

可以弄一张大容量的存储卡, 在磁盘管理器对其分区做增加驱动器路径.

比如在C盘新建一空文件夹然后把存储卡挂载到那里, 这样程序就会把存储卡当成C盘来用了(=゚ω゚)=

从而达成变相扩充存储容量的目的.

 

听我慢慢扯:

阅读全文>>

标签: WIndows8.1 磁盘扩容 新手指引

评论(0) 引用(0) 浏览(1702)

逮到M$的BUG——串口关闭引发Safe handle异常

作者:V君 发布于:2015-1-18 12:39 Sunday 分类:挖坑经验

System.ObjectDisposedException: Safe handle has been closed 
   at System.Runtime.InteropServices.SafeHandle.DangerousAddRef(Boolean& success) 
   at System.StubHelpers.StubHelpers.SafeHandleAddRef(SafeHandle pHandle, Boolean& success) 
   at Microsoft.Win32.Win32Native.SetEvent(SafeWaitHandle handle) 
   at System.Threading.EventWaitHandle.Set() 
   at System.IO.Ports.SerialStream.AsyncFSCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOverlapped) 

   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP) 

串口相关的应用程序上, 关闭前做清理步骤时从应用域 

AppDomain.CurrentDomain.UnhandledException 

捕捉到并被记录下来, 然后程序自己挂掉了, 结果没能关闭系统...

用了许多关键字查原因, 总算在 爆栈 找到一个靠谱一点的解: M$的未修复bug.

先不关闭串口吧, 反正咱们的程序会连系统也一并关掉.

这样暂时解决问题.


update: 放着打开的串口不管的话,偶尔情况会更糟糕, 比如进程杀不死之类的. 尽管注销可以搞定. 尚无好主意.

标签: 软件开发 C# bug WIndows8.1 嵌入式 串口

评论(0) 引用(0) 浏览(3619)

在Windows8.1 用 C# 读取加速度传感器且不带应用商店

作者:V君 发布于:2015-1-17 15:08 Saturday 分类:折腾手记

蛋疼的事儿需要用到加速度传感器 咱们的开发机器全都是Win7 目标机器是Win8.1

查到API和示例. 蛋疼的发现只支持Win8商店应用 -- 需要许可证,还需要部署才能运行调试.

嗯, 试着写个应用商店类库, 然后普通控制台引用不了 _(:з」∠)_

初看项目结构, 马丹, 没有具体引用程序集, 类似 PCL 一样给你引用一个名称极其含糊的 Runtime .

好吧, F12, 看元数据的文件头, 应该能找到 DLL 在哪, 尼玛

C:\Program Files\Windows Kits\8.1\References\CommonConfiguration\Neutral\Windows.winmd

好吧 我猜的没错 这货就是个DLL, 改名直接上 -> Windows8Sdk.dll

顺便找一下XML文档  -> Windows8Sdk.xml

C:\Program Files\Windows Kits\8.1\References\CommonConfiguration\Neutral\zh-hans\Windows.xml

好了, 可以愉快的写代码读传感器数据, 不过在Win7会爆不支持.


追加:

用这种方式引用会造成调试时无法编辑并继续,提示缺少System.Runtime的引用,然而引用后却无法编译通过

调试完之后用 #if !DEBUG 来包住你调用它的代码,包括using语句,暂时先移除它的引用

等调试完别的代码, 做Release编译时再加回来吧

好蛋疼但是又没办法, 看来还是得另找法子来读传感器, 直接拿dll的方式似乎还是略hack


标签: 软件开发 C# WIndows8.1 传感器

评论(0) 引用(0) 浏览(1884)

Powered by emlog 去你妹的备案 sitemap