Показать сообщение отдельно
  #1  
Старый 07.05.2007, 23:32
Alexzz Alexzz вне форума
Прохожий
 
Регистрация: 07.05.2007
Сообщения: 4
Репутация: 10
По умолчанию Как похрустеть хардом не меняя его содержимого?

Возникло желание подшутить над коллегой. Вот сижу, пишу прикольчик на дельфи. Идея простая: На форму нанесён Statictext с некоторым сообщением для коллеги, внизу Progressbar, который с помощью события от Timer приводится в движение с определённой скоростью, и в самом низу ещё один Label с текстом в Caption - "Formating drive C:... XX% done", где ХХ меняется вместе с параметром Position от Progressbar. По достижении 100% программа автоматически закрывается выводя сообщение в стиле "Вас разиграли, ваш диск C: в полном порядке".

Всё, что я так подробно описал выше уже сделано. Осталась самая малость - создать иллюзию некой активности жёсткого диска. Я пробовал поставить на форму ещё один таймер, и по его событию писать на диск пустой файл, а затем его сразу стирать. Путём подбора размера файла, выяснил, что если писать до 200мб то диск вообще не проявляет никакой активности. Очевидно файловый кэш съедает все 200мб, а после удаления просто забывает о них. Если писать файл 500мб, то активность появляется, но и система на время записи файла слегка подвисает, что то-же не есть хорошо. Вобщем подобрал оптимум, писать 3 файла по 100мб и затем их стирать, а через 2.5 секунды снова писать и снова стирать. На моём компе получился качественный "хруст" харда. Но когда я попробовал прогу на других компах, то понял, что эффект на разных компах разный. Там, где стоит много памяти, кэш естественно больше, и никакого хруста вообще нет. А на слабеньком компе с маленькой памятью и слабым процем опять-таки всё стало подвисать на время хруста.

Вопрос к знатокам Дельфи. Как организовать активное обращение к жёсткому диску, хруст харда с почти постоянным свечение светодиода, так, что-бы на разных компах оно работало одинаково?
Ответить с цитированием