Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Установка Windows 7 с флешки

03.05.2011 | Категория: Software | Автор: ManHunter

Установка Windows 7 с флешки

Рынок электронной техники уверенно движется в сторону минимализма. Все большую популярность набирают нетбуки, не оснащенные оптическими приводами, да и сами CD/DVD-диски постепенно отходят в прошлое. Зато на смену им приходят компактные USB-накопители высокой емкости. В связи с этим иногда возникает проблема с установкой, обновлением или восстановлением операционных систем, которые распространяются на загрузочных дисках или в виде образов таких дисков. Так, например, на своем нетбуке мне пришлось выкорчевывать хоть и лицензионную, но невероятно убогую Windows 7 Starter и поставить вместо нее полноценную пиратскую Windows 7 Ultimate. В этой статье я расскажу как можно сделать установочную флешку с Windows 7, с которой можно легко поставить систему. Преимущества флешек очевидны: они более компактны, менее подвержены механическим воздействиям, на них можно записать какой-нибудь дополнительный софт и периодически его обновлять, а главное, скорость установки системы с флешки будет гораздо выше, чем с компакт-диска.

Читать статью целиком »
Просмотров: 81028 | Комментариев: 26

Обработка подключения и отключения съемного накопителя

18.04.2011 | Категория: Образ мышления: Assembler | Автор: ManHunter
С расширением рынка переносных устройств и USB-накопителей становится актуальной задача по обработке их взаимодействия с компьютером. Сегодня разберем обработку подключения и отключения съемных накопителей, таких как Flash-диски, карты памяти и USB-диски. Начинаем с теории. При подключении или отключении съемного накопителя система посылает всем окнам (через глобальный хэндл HWND_BROADCAST) сообщение WM_DEVICECHANGE. Но это сообщение всего лишь о самом факте изменения состояния съемного накопителя, а более подробные значения содержатся в параметрах lParam и wParam этого сообщения. В wParam приходит расшифровка произошедшего события: подключение, отключение, изменения состояния, отмена отключения и т.п. Нас пока интересует только два: DBT_DEVICEARRIVAL - подключение сменного накопителя и DBT_DEVICEREMOVECOMPLETE - извлечение накопителя. Основной обработчик событий приложения ничем не отличается от обычных обработчиков. Нам также понадобятся несколько констант, которые по умолчанию не определены в FASM:
  1. DBT_DEVICEARRIVAL        = 0x8000
  2. DBT_DEVICEREMOVECOMPLETE = 0x8004
  3.  
  4. DBT_DEVTYP_VOLUME        = 0x00000002
И, собственно, сам обработчик. Я оставил только нужные фрагменты кода:
  1. proc DialogProc hwnddlg,msg,wparam,lparam
  2.         push    ebx esi edi
  3.         ...
  4.         ; Пришло сообщение об изменении состояния съемного накопителя
  5.         cmp     [msg],WM_DEVICECHANGE
  6.         je      update_usb
  7.         ...
  8. update_usb:
  9.         ; Устройство подключено?
  10.         cmp     [wparam],DBT_DEVICEARRIVAL
  11.         je      usb_connected
  12.  
  13.         ; Устройство извлечено?
  14.         cmp     [wparam],DBT_DEVICEREMOVECOMPLETE
  15.         je      usb_disconnected
  16.  
  17.         jmp     processed
  18.  
  19. usb_connected:
  20.         ; Обработка подключения устройства
  21.         ...
  22.         jmp     processed
  23.  
  24. usb_disconnected:
  25.         ; Обработка отключения устройства
  26.         ...
  27.         jmp     processed
  28.         ...
  29. processed:
  30.         mov     eax,1
  31. finish:
  32.         pop     edi esi ebx
  33.         ret
  34. endp
Для полноты картины осталось узнать, какой именно диск был подключен или извлечен. В параметре lParam сообщения WM_DEVICECHANGE передается указатель на структуру, которая содержит подробную информацию о случившемся событии. FASM про нее тоже ничего не знает, поэтому придется и ее описать самостоятельно.

Читать статью целиком »
Просмотров: 7448 | Комментариев: 19

Отключение режима гибернации в Windows 7

27.03.2011 | Категория: Software | Автор: ManHunter

Файл свопа памяти hiberfil.sys

При переходе компьютера в режим гибернации создается снимок (своп) памяти, то есть всех запущенных программ, открытых окон, рабочего стола, загруженных в память файлов и т.п., который записывается на жесткий диск в файл hiberfil.sys. Его размер соответствует общему объему установленной памяти и поэтому может достигать нескольких гигабайт. При выходе из гибернации система загружает этот файл обратно в память и возвращается в то состояние, которое было до "засыпания". Такой режим работы позволяет экономно расходовать заряд аккумуляторов на ноутбуках при простое. На стационарных компьютерах режим гибернации используется очень редко, а файл hiberfil.sys только занимает место на жестком диске. Его можно удалить вручную, но если не отключить режим гибернации, то файл будет создан снова. Казалось бы все просто: надо зайти в настройки электропитания и отключить там все, что относится к гибернации (меню Пуск - Панель управления - Электропитание - Настройка плана электропитания - Изменить дополнительные параметры питания - Сон - Гибернация после).

Читать статью целиком »
Просмотров: 259471 | Комментариев: 118

Управление лотком CD-ROM на Ассемблере

06.02.2011 | Категория: Образ мышления: Assembler | Автор: ManHunter
Открывать и закрывать лоток CD-ROM можно программными способами. Это может оказаться полезным в случаях, когда системный блок стоит в труднодоступном месте или по каким-либо иным причинам нет возможности управлять им при помощи механической кнопки. Также я читал истории, когда на лоток CD-ROM возлагались полезные функции, например, при выдвижении он замыкал контакты питания и отправлял сервер в перезагрузку, а администратор таким образом удаленно управлял им. Так что программное управление лотком CD-ROM имеет место быть, и наша задача научиться его делать. Чаще всего в разных интернетах описывается способ управления при помощи MCI (Media Control Interface). Кстати, именно этот способ приводится в качестве одного из примеров программ в пакете FASM.
  1.         ...
  2.         ; Открыть лоток CD-ROM
  3.         invoke  mciSendString,cmd_open,0,0,0
  4.         invoke  mciSendString,cmd_eject,0,0,0
  5.         invoke  mciSendString,cmd_close,0,0,0
  6.         ...
  7.         ; Закрыть лоток CD-ROM
  8.         invoke  mciSendString,cmd_open,0,0,0
  9.         invoke  mciSendString,cmd_load,0,0,0
  10.         invoke  mciSendString,cmd_close,0,0,0
  11.         ...
  12. cmd_open   db 'open cdaudio',0
  13. cmd_eject  db 'set cdaudio door open',0
  14. cmd_load   db 'set cdaudio door closed',0
  15. cmd_close  db 'close cdaudio',0
У данного метода есть недостатки. Главный заключается в том, что при наличии в системе нескольких приводов CD-ROM нет возможности указать, лоток которого из них необходимо выдвигать, всегда открывается первый по счету. Второй существенный недостаток - некоторые антивирусы считают наличие таких функций в программах потенциально опасными. Видимо из-за того, что иногда несанкционированное открытие лотка CD-ROM используется в различных программах-шутках для окошмаривания доверчивых пользователей.

Читать статью целиком »
Просмотров: 10441 | Комментариев: 6

Восстановление системы в Windows 7

23.12.2010 | Категория: Software | Автор: ManHunter

Восстановление системы в Windows 7

Операционная система Windows 7 обзавелась таким сверхмощным инструментом, как функция восстановление системы. Кроме отката состояния системы до заранее сохраненных точек, можно восстановить систему после гораздо более серьезных сбоев, например, когда поврежден системный загрузчик или отсутствуют системные файлы. Почти все действия выполняются автоматически, пользователю достаточно лишь несколько раз кликнуть мышкой. С ужасом вспоминаю убогую консоль восстановления Windows XP, когда в случае крупных неполадок было проще переставить Windows заново, чем убивать кучу времени за попытками ее оживить. Итак, познакомимся с функцией восстановления системы Windows 7 поближе.

Читать статью целиком »
Просмотров: 31550 | Комментариев: 12

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2025
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.08 сек. / MySQL: 3 (0.0102 сек.) / Память: 4.5 Mb
Наверх