вторник, 2 сентября 2008 г.

Моддинг Win+R

Сегодня сделал небольшой моддинг своей винды. Модернизировал диалоговое окошко "Пуск->Выполнить...", также известное как Win+R.


Сделал это следующим образом:
1) Открыл файл c:\windows\system32\shell32.dll в программе Resource Hacker. Выбрал ресурс Shell32.dll:\Dialog\1003\1049 и поменял в нём код:
1003 DIALOGEX 0, 0, 227, 95
STYLE DS_FIXEDSYS | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Запуск программы"
LANGUAGE LANG_RUSSIAN, 0x1
FONT 8, "MS Shell Dlg"
{
CONTROL 160, 12297, STATIC, SS_ICON | WS_CHILD | WS_VISIBLE, 7, 11, 18, 20
CONTROL "Введите имя программы, папки, документа или ресурса Интернета, и Windows откроет их.", 12289, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 42, 11, 182, 18
CONTROL "&Открыть:", 12305, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 7, 39, 32, 8
CONTROL "", 12298, COMBOBOX, CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_DISABLENOSCROLL | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 42, 37, 177, 100
CONTROL "Запустить в отдельной области &памяти", 12306, BUTTON, BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 42, 54, 183, 10
CONTROL "ОК", 1, BUTTON, BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 62, 70, 50, 14
CONTROL "Отмена", 2, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 116, 70, 50, 14
CONTROL "Об&зор...", 12288, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 170, 70, 50, 14
}

на код:
1003 DIALOGEX 0, 0, 237, 110
STYLE DS_FIXEDSYS | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Запуск программы"
LANGUAGE LANG_RUSSIAN, 0x1
FONT 8, "MS Shell Dlg"
{
CONTROL "\"taskmgr\" - Диспетчер задач\n\"regedit\" - Редактор реестра\n\"msconfig\" - Настройка системы\n\"services.msc\" - Список сервисов\n\"dcomcnfg\" - Служба компонентов\n\"compmgmt.msc\" - Управление ПК\n\"devmgmt.msc\" - Диспетчер утр-в\n\"wupdmgr\" - Обновление системы", 12289, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 5, 3, 118, 65
CONTROL "\"dxdiag\" - Ср-во диагностики\n\"eventvwr.msc\" - События\n\"dfrg.msc\" - Дефрагментация\n\"fsquirt\" - Bluetooth manager\n\"shutdown -a\" - Не выключать\n\"charmap\" - Таблица символов\n\"osk\" - Экранная клавиатура\n\"iexpress\" - IExpress 2.0", 12289, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 129, 3, 104, 65
CONTROL "&Открыть:", 12305, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 17, 74, 32, 8
CONTROL "", 12298, COMBOBOX, CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_DISABLENOSCROLL | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 52, 72, 177, 100
CONTROL "З", 12306, BUTTON, BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 24, 90, 20, 10
CONTROL "ОК", 1, BUTTON, BS_DEFPUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 72, 90, 50, 14
CONTROL "Отмена", 2, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 126, 90, 50, 14
CONTROL "Об&зор...", 12288, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 180, 90, 50, 14
}

2) Действуя аналогично, изменил значения в файле c:\windows\system32\taskmgr.exe. Поменял значение строки taskmgr:\String Table\626\1049:
10002,  "Введите имя программы, папки, документа или ресурса Интернета, и Windows откроет их."

заменил на:
10002,  "\"taskmgr\" - Диспетчер задач\n\"regedit\" - Редактор реестра\n\"msconfig\" - Настройка системы\n\"services.msc\" - Список сервисов\n\"dcomcnfg\" - Служба компонентов\n\"compmgmt.msc\" - Управление ПК\n\"devmgmt.msc\" - Диспетчер утр-в\n\"wupdmgr\" - Обновление системы"

3) Загрузился с Live-CD (любая другая ОС) и подменил файлы c:\windows\system32\shell32.dll и c:\windows\system32\taskmgr.exe на новые, не забыв сделать резервные копии оригинальных файлов))

З.Ы.
И кстати, всё может вернуться назад когда вы обновите винду, а может и не вернуться . . .

Комментариев нет: