Windows系统Python多版本共存和便捷切换

在Windows系统上,无论是使用官方安装包还是Microsoft Store应用商店安装Python,在命令行中使用python命令都只会打开其中某一个特定版本的Python。若是同时安装了多个版本的Python并且想要启动其中的一个,则通常有些困难。若要调用某个特定版本Python的PIP包管理器来安装依赖包,则情况更为复杂。实际上,官方安装包版本和Microsoft Store应用商店版本均提供了用于区分不同Python版本的便捷方式。

继续阅读“Windows系统Python多版本共存和便捷切换”

排查Windows文件资源管理器右键崩溃问题

Windows的文件资源管理器具有强大的扩展功能,第三方软件可通过其提供的强大接口来扩展文件资源管理器的功能,例如:增加自定义的右键菜单项、自定义的文件属性页等等。但是,如果第三方软件存在某些某些程序错误,则可能导致文件资源管理器崩溃。例如,安装了某些第三方软件后,可能导致右键单击某个文件的时候文件资源管理器崩溃。对于文件资源管理器在每次进行某种操作时就必然崩溃的问题,使用本文的方法可以进行排查并排除问题。

继续阅读“排查Windows文件资源管理器右键崩溃问题”

在CMake与Conan中使用MSYS2 MinGW x64工具链编译Windows程序

GCC(GNU Compiler Collection)是一套功能强大的编译器集合,支持C、C++、Fortran等编程语言,是Linux上应用十分广泛的一款编译器。MinGW(Minimalist GNU for Windows)将GNU工具链移植到了Windows环境,可用于编译原生的Windows应用程序。MinGW包含了GCC编译器的Windows移植版本以及用于Windows平台的链接器、汇编器等工具。但是,原始版本的MinGW只能用于编译32位程序,不支持64位程序的编译。

继续阅读“在CMake与Conan中使用MSYS2 MinGW x64工具链编译Windows程序”

Windows 10如何ping计算机名之mDNS

mDNS(参见RFC 6762)是一种用于本地主机名查询的方式,通过组播地址224.0.0.251(或ff02::fb)上的UDP端口5353运行,可以用于解析.local结尾的域名。mDNS的工作方式与普通DNS类似,但其不依赖一个单独的DNS服务器,而是依靠计算机名的拥有者自行回应该mDNS的请求。Windows 10 1703版本添加了对mDNS的支持(参见:mDNS in the Enterprise),可以通过mDNS的方式获取被ping的计算机名的IP地址。

继续阅读“Windows 10如何ping计算机名之mDNS”

UWP应用推荐:Hash Checker

Hash(哈希)算法可用于检验一个文件是否完整、是否遭到篡改。当文件内容发生改变时,其哈希值(也就是哈希算法的结果)通常会发生改变。一些软件的官方下载页面上会提供该软件的哈希值,通过下载的文件哈希值是否符合官方公布的哈希值,可以判断下载的文件是否遭到修改或者发生损坏。尤其是从第三方网站下载软件时,通过校验哈希值可以有效防止下载的文件被植入木马等篡改情况。

在Windows上,要获取文件的哈希值,可以通过系统自带的certutil命令行程序进行。但使用该命令行程序操作繁琐,没有进度指示,而且要校验得到的哈希值正确性需要通过目测或者输入其他命令进行比较,不太方便。而通过一款UWP应用Hash Checker,使用图形界面即可得到文件的哈希值。通过粘贴正确的哈希值,软件会自动进行对比,显示哈希值是否正确。软件支持SHA1、SHA256、SHA384、SHA512、MD5和CRC32哈希算法。

继续阅读“UWP应用推荐:Hash Checker”

使用Visual Studio调试闪退问题

编写.NET或UWP软件时,Visual Studio是常用的的调试工具之一。其监视、调用堆栈等功能在对程序逻辑进行查错时十分有用。但如果软件在Visual Studio中启动时一切正常,在别的地方启动(比如后台任务、文件打开甚至在其他电脑上使用时)时却发生闪退,该如何进行调试呢?本文介绍如何创建内存转储文件(Dump)并使用Visual Studio进行“事后调试”,以实现对闪退故障的调试。

继续阅读“使用Visual Studio调试闪退问题”