一次把exFAT的TF卡从RAW格式成功恢复的经历

作者:V君 发布于:2015-2-9 0:45 Monday 分类:折腾手记

TL;DR版:[ chkdsk <盘符>: /f ] 等几秒就好了,这次人品非常好 Orz

 

听我

常言道:不做死就不会死,为啥你就是不明白?

偷懒,疏忽于安桌不支持exFAT,插上SD卡之后没认出来,然后还手贱按了几次安装SD卡。。

才猛然想起,安桌不支持exFAT,赶紧拔出来插到电脑上看看——尼玛!提示需要格式化。。

病急乱投医的找数据恢复软件,找帖子,一边用WINHEX看看分区表什么的。

——WINHEX跪了,啥也列不出

下载着不知道靠不靠普的恢复工具时看到一个帖子说:先chkdsk一下啦!

就先尝试只读执行chkdsk——啊啊还能识别出是exFAT!

文件系统的类型是 exFAT。

卷序列号为 ****-****

Windows 在磁盘上发现错误,但是不会修复这些错误;

因为不带 /F(修复)参数运行了磁盘检查。

检查启动区域时发现损坏。

Windows 正在校验文件和文件夹...

卷标是 ****-TF-64G。

已完成文件和文件夹验证。

Windows 发现文件系统有问题。

运行 CHKDSK (使用选项 /F)来更正这些问题。

好加上/f参数,顺利完成修复!

文件系统的类型是 exFAT。

卷序列号为 ****-****

检查启动区域时发现损坏。

Windows 正在校验文件和文件夹...

卷标是 ****-TF-64G。

已完成文件和文件夹验证。

Windows 已更正文件系统。

//EOF

 

标签: 磁盘 故障解决 RAW

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

逮到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) 浏览(3620)

在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) 浏览(1886)

在C#控制台应用程序实现多个控制台窗口

作者:V君 发布于:2015-1-11 2:52 Sunday 分类:挖坑经验

多线程玩过了, 多进程也玩过了.

本着 黑客懒得给自己开发的工具加上图形界面 的原则, 让我们来玩多控制台吧 (=゚ω゚)= 


(´∀((☆ミつ 事实上是为一个蛋疼的事儿做蛋疼的处理 -- 控制台异步输入输出

我们都知道一个进程只有一个stdio

要打开多个控制台, 还不光只有输出, 还要输入甚至能够改变颜色/标题/清屏/光标位置 (泥垢

要咋办呢? 


买个关子, 进来看吧 (=゚ω゚)=          (´∀((☆ミつ

点击查看原图

点击查看原图


阅读全文>>

标签: 软件开发 C# 控制台 远程透明调用

评论(4) 引用(0) 浏览(3906)

使用嵌入资源实现单个EXE文件发布.net应用程序

作者:V君 发布于:2014-12-14 0:16 Sunday 分类:折腾手记

不管你是非托管还是托管还是混合DLL, 全都塞进去啦!

又是一次蛋疼的折腾经历, 不过还真有意思

点击查看原图

阅读全文>>

标签: 软件开发 C# DLL嵌入资源 程序打包

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

Powered by emlog 去你妹的备案 sitemap