C#DriveInfo类导致Windows错误popup窗口

C#DriveInfo类导致Windows错误popup窗口,第1张

概述C#DriveInfo类导致Windows错误popup窗口

当使用DriveInfo类偶尔会显示一个窗口消息popup窗口:

我正在使用的代码是相当标准的:

var driveInfos = DriveInfo.GetDrives(); foreach (DriveInfo driveInfo in driveInfos) { if (driveInfo.IsReady && (driveInfo.DriveType == DriveType.Network || driveInfo.DriveType == DriveType.Removable)) try { var driveText = string.Format("{0} ({1})",driveInfo.VolumeLabel,driveInfo.name);

看过网页后发现这是一个不常见的错误,但似乎是由于机器上的环境问题(人们在运行诸如Chrome之类的事情时报告它发生)。 很多人通过清理旧的USB引用来解决这个问题。

windows使用哪种开源的面向文档的数据库系统最为成熟?

在启动/使用.NET Win-Forms EXE的同时,.NET .NET WinDWos Service以本地系统身份运行WCF服务

TimeZoneInfo和CultureInfo的System.DateTime和Caching

C#:结合Dllimport与inheritance?

哪个DVCS适合一个人的.NET商店?

除了显示消息之外,错误实际上并没有阻止程序正常工作。 (并不会被困在catch块中)

由于它是一个WPF应用程序,将被分发和运行在最终用户的PC上,我宁愿消息框不显示。 我怎么能做到这一点,有什么影响?

编辑:

进一步的调查显示,这种行为可能是由于代码正在通过后台工作人员执行,并且它的两个实例同时运行而引起的。

采取相同的代码和执行,而不使用后台工作,似乎运行没有问题。

希腊增值税valIDation号码

winscard.dll在.NET应用程序中的ERROR_INVALID_HANDLE

linux上的C#:如何枚举本地networking上的计算机?

windows API触发壁纸洗牌

如何从.cpp文件访问文本框?

我测试了你的代码,它运行没有问题。 这似乎是使用driveInfo.IsReady导致您的问题,因为它要求每个驱动器(CD / DVD / …)。 首先检查DriveType ,然后检查IsReady ; 喜欢这个:

if (driveInfo.DriveType == DriveType.Network || driveInfo.DriveType == DriveType.Removable) if (driveInfo.IsReady) { var driveText = string.Format("{0} ({1})",driveInfo.name); }

总结

以上是内存溢出为你收集整理的C#DriveInfo类导致Windows错误popup窗口全部内容,希望文章能够帮你解决C#DriveInfo类导致Windows错误popup窗口所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1279431.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存