dadv: (chuck)
На моей клавиатуре клавиши PrintScreen/ScrollLock/PauseBreak расположены вплотную к Insert/Home/PageUp, без промежутка. Поэтому при использовании комбинации Shift+Insert для вставки текста из буфера обмена под Windows частенько промахиваюсь и получается Shift+PrintScreen, что эквивалентно простому нажатию PrintScreen. В итоге вместо вставки нужный текст в буфере обмена удаляется, заменяясь скриншотом экрана. Заколебало это достаточно, чтобы попытаться отключить реакцию системы на Shift+PrintScreen, оставив "просто" PrintScreen работающим.

Открыл для себя AutoHotKey - opensource, распространяется в откомпилированном виде тоже (с инсталлятором). По инструкциям в QuickStart в справке создаём в Notepad текстовый файл со специальным расширением, ps.ahk:

+PrintScreen::
    Keywait, PrintScreen
    Return

Плюс означает Shift. Между Keywait и Return нет никаких действий, то есть реакция на Shift+PrintScreen пустая. Получилось ровно так, как нужно: теперь Shift+PrintScreen ничего не делает, а PrintScreen работает, как прежде.

Закинул скрипт в папку "Автозагрузка". Эту папку в Windows 8.1 проще всего найти, выполнив (Win+R) "команду" shell:startup. В моём случае это получилось "C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup".

dadv: (chuck)

Досталась в управление старая "технологическая" инсталляция Windows XP, подключенная к офисной АТС для управления, ведения журнала и записи звонков операторов. Работает на машине с материнской платой Asus P5GV-MX, SATA-контроллер ICH6, один диск SATA, четыре порта SATA на плате. Первым делом захотелось поставить второй диск и организовать хотя бы программное зеркалирование.

Решил проверить на практике справедливость этой статьи. Только сделать не RAID5, а зеркало.

Потренировался на такой же WinXP, установленной внутри VirtualBox на "диске" в 10GB. Создал ей второй такой же диск, после загрузки XP его увидела и сразу предложила сконвертировать в динамический - сделал. После этого конвертировал в динамический первый диск, который system & boot - несмотря на предупреждения, он чисто конвертировался и остался загрузочным (на MS TechNet предупреждение о незагружабельности результата такой конверсии уточнено - загружаться не будет, если на одном разделе установлено несколько разных вариантов Windows в разные каталоги).

После этого в контекстном меню раздела C: в управлении дисками появился неактивный пункт для зеркалирования. Сделал битхак dll, как указано в статье, и пункт стал активным. Выбрал его, указал второй диск для создания зеркала и пошла "регенерация" (синхронизация).

После завершения процесса потестировал разные виды сбов. Удалил первый диск из виртуалки и NTLoader загрузил систему с оставшегося secondary plex.

Создал новый чистый диск, подсунул виртуалке, сказал ей синхронизировать на него - синхронизировала без проблем.

Теперь минусы. Если смоделировать удаление первого из двух дисков, загрузиться со второго, погасить систему и подсунуть обратно удаленный диск - загрузка уже не идёт, падает в синий экран и уходит в ребут, тут нужно в NTLoader выбрать вручную загрузку со второй половинки, тогда загружается.

Не умеет возобновлять прерванную перезагрузкой синхронизацию зеркала - начинает синхронизировать с нуля.

dadv: (chuck)

Периодически при разных комбинациях версий VirtualBox и Java в Windows guest проявляется проблема: Java-приложения, использующие GUI (AWT), при старте начинают жрать около 100% CPU и ничего не рисуют. Проблема как-то связана с поддержкой Direct3D в VirtualBox. Кроме полного отказа от Direct3D в Windows guest (установка guest additions без поддержки Direct3D) есть ещё workaround: отключить использование функций Direct3D в Java AWT. Для этого достаточно создать переменную окружения (environment) J2D_D3D=false. Можно глобально в свойствах системного или пользовательского профиля, можно выставлять непосредственно перед запуском Java или браузера, если Java-апплет стартует из браузера.

У меня сейчас есть две инсталляции VirtualBox 4.2.12 (OSE), в каждой Windows XP с DirectX 9.0c и Guest Additions и Java 7 Update 25, на одной Java работает нормально, на второй "виснет" при старте, но при использовании J2D_D3D=false виснуть перестаёт.

Источник: https://www.virtualbox.org/ticket/6873

dadv: (Default)

Итак, мы едем в отпуск и, конечно же, прихватываем с собой свой верный ноутбук с офигительным количеством гигабайт внутри. Есть вероятность, что найдется время поиграть в заброшенное когда-то давно "Дыхание смерти" из честно купленного HMM3 Platinum ("Девочка, ты что, правда не пьешь и не куришь? - Правда. Не могу больше.")

Но оно хочет игровой CD-диск (второй из сборника 3CD) и без него играть не хочет, а брать с собой в поездку лишние компакты, особенно при наличии сотен гигабайт внутри ноута, как-то глупо. Ставить "левые" коммерческие или даже фриварные тулзы для эмуляции виртуального CD несколько стрёмно - был отрицательный опыт, большинство из них написаны кривыми руками и поганят в системе, да и деинсталлироваться нормально не умеют.

Делаем раз: при помощи Small CD Writer (420Kb) читаем игровой диск в ISO-образ (405M).
Делаем два: открываем http://support.microsoft.com/kb/916902, качаем оттуда по ссылке Microsoft VirtualCD (32K в двух файлах), читаем внутри инструкцию и выполняем её. После чего получаем виртуальный Z: (CD-ROM).
Делаем три: в реестре в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Buka\3DO\Heroes of Might and Magic III Complete Platinum\1.0 меняем параметр CDDrive на Z: и ставим коробочку с HMM3 Platinum на полку.

MS VirtualCD был написан для XP, но работает и с Vista, и с Win7 (последнее проверено мной лично). Ставил при отключенном UAC.

dadv: (Default)

Дано: домашний ноутбук с Windows в руках далеких от IT людей, поэтому подключение к интернету через DIR-320 (штатная прошивка).

Надо: после загрузки машины и установления соединения поднимать PPtP-коннект к конкретному серверу с конкретным именем и паролем, штатными виндовыми средствами.

Решение:

  1. настраиваем подключение к DIR-320 через DHCP (проводное или беспроводное, не важно), так как нам нужно привязаться к событию "сеть работает" (при этом можно настроить роутер выдавать статический или динамический адрес, не важно);
  2. создаем и настраиваем VPN-подключение, проверяем, что вручную оно нормально подключается (при создании разрешаем сохранение пароля и использование подключения другими пользователями - это нужно, чтобы при "быстром переключении пользователей" и завершении пользовательской windows-сессии система не разрывала PPtP-коннект);
  3. идем в панель управления - администрирование - планировщик заданий - библиотека планировщика - ПКМ* по пустому месту в списке заданий - создать новую задачу:

    1. как-нибудь называем задание (описание можно пропустить), изменяем учетную запись на "система", выбираем "выполнять вне зависимости от регистрации пользователя", ставим галку "не сохранять пароль" (потому что не нужно) и "Выполнить с наивысшими правами" (обязательно надо);
    2. в следующей вкладке "Триггеры" создаем "При событии" - простое - Журнал Microsoft-Windows-DHCP Client Events/Администратор, источник "Dhcp-Client", код события 50067 (получение адреса);
    3. в следующей вкладке "Действия" создаем действие "Запуск программы", в поле "Программа или сценарий" просто вписываем rasdial, в аргументах указываем последовательно через пробел имя соединения PPtP, логин и пароль;
    4. в следующей вкладке "Условия" ставим галку "Запускать только при подключении к следующей сети" и выбираем подключение к роутеру - это особенно важно для беспроводного подключения, так как между получением адреса по DHCP и реальным поднятием сети есть временнОе окно и запуск rasdial в этом окне может приводить к "подвисанию" PPtP-соединения;
    5. в следующей вкладке "Параметры" ставим галку "Разрешать выполнение задачи по требованию", чтобы можно было её потестировать вручную, при сбое выполнения перезапускать через 1 минуту (жаль, нельзя быстрее) - rasdial возвращает ненулевой код ошибки при сбое (например, PPtP-сервер задаётся именем, а не по IP и ресолвинг не прошел), количество попыток перезапуска я ставлю 999 раз;

  4. тестируем задание, запустив его вручную при поднятом подключении к роутеру и не подключенном PPtP-коннекте - он должен подключиться; затем вручную его отключаем, отключаем соединение к роутеру и снова его подключаем - PPtP должен подняться силами планировщика; после чего можно перезагрузить систему, чтобы проверить автоматическую отработку всей цепочки.

Проверено для Windows 7 Ultimate. При попадании в упомянутое "временное окно" планировщик задерживает выполнение задачи на минуту, поэтому PPtP иногда будет запускаться с задержкой.


ПКМ - правая кнопка мышки

Profile

dadv: (Default)
Choose your future

June 2017

M T W T F S S
   1234
56 7891011
12131415161718
19202122232425
2627282930  

Syndicate

RSS Atom

Tags

Style Credit

Powered by Dreamwidth Studios