在Windows系统上,无论是使用官方安装包还是Microsoft Store应用商店安装Python,在命令行中使用python
命令都只会打开其中某一个特定版本的Python。若是同时安装了多个版本的Python并且想要启动其中的一个,则通常有些困难。若要调用某个特定版本Python的PIP包管理器来安装依赖包,则情况更为复杂。实际上,官方安装包版本和Microsoft Store应用商店版本均提供了用于区分不同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程序”nslookup与Resolve-DnsName的行为差异
在Windows操作系统上,nslookup命令和PowerShell上的Resolve-DnsName cmdlet都可以用于解析域名,但它们的功能并非完全相同。有时候,nslookup命令能够解析域名,Resolve-DnsName cmdlet却不能。甚至于明明用nslookup能够解析域名,浏览器却不能上网,系统也报告无法连接到域控制器。
继续阅读“nslookup与Resolve-DnsName的行为差异”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 C++文本文件读写编码问题
在C++程序中读写文件时,有两个因素涉及到文本编码。一是文本内容的编码,二是文件路径的编码。这两个问题如果不处理好,就可能会出现乱码或者找不到文件的问题。本文以Visual C++为例讨论相关的编码问题,并推广到Linux系统中的相关问题。
继续阅读“Visual C++文本文件读写编码问题”UWP项目的Program类和Main函数
一个.NET程序的入口点通常是Program类中的Main函数。包括WPF应用、控制台应用、ASP.NET应用在内都是从Main函数开始执行的。而使用.NET编写的UWP平台应用同样是从Main函数开始执行的,只不过开发者通常并不参与到Main函数的编写中。
继续阅读“UWP项目的Program类和Main函数”在Edge Dev中使用Windows 10共享功能分享网页链接
Edge Dev是微软公司开发的浏览器Microsoft Edge的预览版本。在Edge Dev Windows 10版的78.0.244.0版本中,用户已经可以使用Windows 10自带的“共享”功能分享网页链接了。
继续阅读“在Edge Dev中使用Windows 10共享功能分享网页链接”使用Visual Studio调试闪退问题
编写.NET或UWP软件时,Visual Studio是常用的的调试工具之一。其监视、调用堆栈等功能在对程序逻辑进行查错时十分有用。但如果软件在Visual Studio中启动时一切正常,在别的地方启动(比如后台任务、文件打开甚至在其他电脑上使用时)时却发生闪退,该如何进行调试呢?本文介绍如何创建内存转储文件(Dump)并使用Visual Studio进行“事后调试”,以实现对闪退故障的调试。
继续阅读“使用Visual Studio调试闪退问题”