これは奇妙なものです... Windowsフォームアプリ(VB.NET/VS 2005)では、アプリケーションDVDが挿入されているかどうかを時々確認する必要があります。
私の運用マシン (および大部分のクライアント) では、このコードの実行に 1 秒もかかりません。ただし、一部のマシンでは、約 8 ~ 10 秒かかります。速度が遅いいくつかの PC で共通点を見つけることができませんでした (OS が異なる、RAM が異なる、プロセッサが異なる、ドライブが多い、ドライブが少ないなど)。
テストマシンの約4%で発生します(そして、今では友人のマシンのいくつか:))
この関数は 1 回しか呼び出されないため、問題なく使用できます。しかし、奇妙なことに、まったくの幸運でこれに遭遇しました.VMWare仮想マシンが実行されている場合、コード(ホストOSで実行されている)は予想される1秒未満で完了します!!!
誰もこれに似たものに遭遇したことがありますか? 誰かが少なくともこれについて何らかの説明を提供できますか?
i_DrivesArray = GetLogicalDrives()
i_DrivesCount = i_DrivesArray.Length
For i_DriveNumber = 0 To i_DrivesCount - 1
i_DriveInformation = New DriveInfo(i_DrivesArray(i_DriveNumber))
If (i_DriveInformation.DriveType = i_DriveTargetType And i_DriveInformation.IsReady = True) Then
If File.Exists(i_DriveInformation.Name.ToString & ci_CDIdentifiers(i_Counter).ToString) = True Then
ci_IsCDInserted = True
ci_PathCD = i_DriveInformation.Name.ToString
Exit For
End If
End If
Next