处理文件路径信息是经常要用到的字符串处理的手段,应用场景非常的多,不论是 Linux 还是 Windows,在我没接触这一系列函数之前,都是使用一系列字符串处理函数来自己写。而在 Windows 环境下,系统给我们提供了一系列处理路径相关的 API,我们在需要使用的时候直接调用即可,不但可以避免自己使用字符串处理函数处理时可能造成的各种问题,还可以加快我们编程的速度。当然如果你还没有使用字符串处理函数自己处理过路径等信息,我强烈建议你先自己尝试学习一下。轮子可不重复制造,但你必须要清楚轮子的制作工艺,否则在出现故障时就不知道如何处理了。

Continue reading

在 XP 时代,微软提供了 GINA 的接口来让我们对系统登录界面进行定制,在 Win7 以上系统中,微软提供了另外一种接口,就是 Credential Providers, Credential Providers 译为凭据提供者/商。所谓凭据就是提供了一种身份认证的方式,原有的 Windows 身份认证方式就是开机的时候需要你输入密码。而通过微软提供这套接口你可以实现丰富的身份认证方式,比如指纹、USB-Key等任意修改 Windows 系统登录时的界面。比较有名的有些一些应该了解过的产品就是 ThinkPad 的指纹解锁功能,通过验证指纹来解锁计算机,当你了解了实现机制以后,硬件条件允许的情况下,你也可以做一套自己的身份认证系统。

Continue reading

最近在重构一个项目的时候需要用到遍历系统账户信息和每个账户的 SID 信息用来对比数据,所以就涉及到如何获取 Windows 的账户信息,以及每个账户所关联的 SID。学习了一些前辈的代码后自己总结了一下记录在博客里,方便以后使用。

Continue reading

在开发调试问题的过程中,我们经常使用 WinDBG 来调试崩溃、卡死或蓝屏的 Dump 文件,调试时我们需要将微软的符号表路径导入到 WinDBG 中,也需要将自己程序的符号表文件导入到 WinDBG 中,这样看 Dump 才一清二楚。导入多个符号表的方法就是在每个符号表路径后增加一个分号 ; 然后紧接着下一个符号表路径。

Continue reading