| imho.ws |
![]() |
|
|
|
# 1 |
|
Guest
Сообщения: n/a
|
Тормоза с чтением списка файлов CD
Есть привод Optiarc DVD RW AD-7173S на компьютере с Windows XP SP2. Заметил такую проблему: при попытке чтения списка файлов на CD в окне проводника наблюдаются заметные тормоза, т.е. чтобы "прокрутить" в окне весь список файлов требуется значительное время. Ползунок прокрутки невозможно перетащить вниз до конца сразу, в то же время, когда это всё же удается через некоторое время, ползунок затем свободно перемещается мышью без торможений по всему списку. Такое торможение заметно, если количество файлов в просматриваемом каталоге несколько сотен (например, музыка, картинки). Пробовал те же диски на ноутбуке с приводом HL-DT-ST DVDRAM GMA-4082N, проблем со скоростью чтения списка файлов не замечал.
|
|
|
# 4 | ||
|
Member
Регистрация: 12.06.2005
Адрес: Энск
Пол: Male
Сообщения: 299
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Скачай этот скрипт, примени и перезагрузи систему.
_http://narod.ru/disk/7469942000/[censored]
Последний раз редактировалось Cartman; 08.04.2009 в 10:36. |
||
|
|
|
|
# 5 | ||
|
Member
Регистрация: 12.06.2005
Адрес: Энск
Пол: Male
Сообщения: 299
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ну тогда так: resetDMA.vbs
Код:
' Visual Basic Script program to reset the DMA status of all ATA drives
' Copyright c 2006 Hans-Georg Michna
' Version 2006-03-14
' Works in Windows XP, probably also in Windows 2000 and NT.
' Does no harm if Windows version is incompatible.
If MsgBox("This program will now reset the DMA status of all ATA drives with Windows drivers." _
& vbNewline & "Windows will redetect the status after the next reboot, therefore this procedure" _
& vbNewline & "should be harmless.", _
vbOkCancel, "Program start message") _
= vbOk Then
RegPath = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\"
ValueName1 = "MasterIdDataChecksum"
ValueName2 = "SlaveIdDataChecksum"
ValueName3 = "ResetErrorCountersOnSuccess"
MessageText = "The following ATA channels have been reset:"
MessageTextLen0 = Len(MessageText)
SubsequentMisses = 0
Set WshShell = WScript.CreateObject("WScript.Shell")
For i = 0 to 999
RegSubPath = Right("000" & i, 4) & "\"
' Master
Err.Clear
On Error Resume Next
WshShell.RegRead RegPath & RegSubPath & ValueName1
e1 = Err.Number
Err.Clear
On Error Goto 0
If e1 = 0 Then
On Error Resume Next
WshShell.RegDelete RegPath & RegSubPath & ValueName1
On Error Goto 0
MessageText = MessageText & vbNewLine & "Master"
End If
' Slave
Err.Clear
On Error Resume Next
WshShell.RegRead RegPath & RegSubPath & ValueName2
e2 = Err.Number
On Error Goto 0
If e2 = 0 Then
On Error Resume Next
WshShell.RegDelete RegPath & RegSubPath & ValueName2
On Error Goto 0
If e1 = 0 Then
MessageText = MessageText & " and "
Else
MessageText = MessageText & vbNewLine
End If
MessageText = MessageText & "Slave"
End If
If e1 = 0 Or e2 = 0 Then
On Error Resume Next
WshShell.RegWrite RegPath & RegSubPath & ValueName3, 1, "REG_DWORD"
On Error Goto 0
ChannelName = "unnamed channel " & Left(RegSubPath, 4)
On Error Resume Next
ChannelName = WshShell.RegRead(RegPath & RegSubPath & "DriverDesc")
On Error Goto 0
MessageText = MessageText & " of " & ChannelName & ";"
SubsequentMisses = 0
Else
SubsequentMisses = SubsequentMisses + 1
If SubsequentMisses >= 32 Then Exit For ' Don't search unnecessarily long.
End If
Next ' i
If Len(MessageText) <= MessageTextLen0 Then
MessageText = "No resettable ATA channels with Windows drivers found. Nothing changed."
Else
MessageText = MessageText & vbNewline _
& "Please reboot now to reset and redetect the DMA status."
End If
MsgBox MessageText, vbOkOnly, "Program finished normally"
End If ' MsgBox(...) = vbOk
' End of Visual Basic Script program
|
||
|
|