
当使用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窗口所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)