Быстрый поиск
Введите фрагмент названия статьи для поиска
Альтернативный выбор файлов в Проводнике Windows 7
25.05.2011 | Категория: Software | Автор: ManHunter
Классический выбор нескольких файлов
Обычно для выделения нескольких файлов в Проводнике Windows нужно зажать клавишу Shift или Ctrl, а затем мышкой выделить нужные файлы. В Windows 7 появилась альтернативная возможность выделения файлов - при помощи чекбоксов. То есть можно выделять файлы при помощи мышки, не трогая клавиатуру.
Читать статью целиком »
Просмотров: 10215 | Комментариев: 23
Изменение фонового рисунка экрана входа в Windows 7
26.02.2011 | Категория: Software | Автор: ManHunter
Изменение фонового рисунка экрана входа в Windows 7
Сегодня будем учиться менять фоновый рисунок, который появляется при входе в систему Windows 7. Можно просто заменить фоновый рисунок background.bmp, который хранится в папке c:\Windows\System32\oobe или можно воспользоваться какими-нибудь посторонними твикерами. Но лучше всего применить средства, которые компания Microsoft предоставляет OEM-поставщикам компьютеров для персонализации системы под свой брэнд. Это займет немного больше времени, но зато результат будет лучше.
Читать статью целиком »
Просмотров: 34559 | Комментариев: 31
Индикатор сетевой активности в Windows 7
19.07.2010 | Категория: Software | Автор: ManHunter
Скриншот программы Network Activity Indicator
Разработчики Windows 7 зачем-то выпилили из системы такую замечательную функцию, как индикатор сетевой активности. Это такая иконка в трее в виде двух маленьких мониторчиков, показывающих, соответственно, отправку или получение данных по сети. К счастью, наш соотечественник Игорь Толмачев написал программу Network Activity Indicator, с успехом возвращающую в Windows 7 эту функцию обратно. Кроме визуальной индикации сетевой активности, программа ведет статистику трафика, позволяет через меню настраивать различные параметры ваших сетевых подключений. Последняя версия на момент публикации 1.5 от июня 2010 года. Network Activity Indicator имеет крохотный размер (около 80 килобайт в архиве), не мусорит в системе и не требует установки. Программа абсолютно бесплатна, более того, на офсайте доступны для скачивания исходники. Рекомендую.
Читать статью целиком »
Просмотров: 22462 | Комментариев: 13
Windows 7 Taskbar API на Ассемблере
30.06.2010 | Категория: Образ мышления: Assembler | Автор: ManHunter
Progress Bars и Overlay Icons
Продолжаю потихоньку осваивать внутренности Windows 7. В новой системе появилась такая приятная фича интерфейса, как отображение прогресса выполнения какого-нибудь действия прямо на кнопке приложения в панели задач. Впервые я увидел это в программе Total Commander при копировании и переносе файлов, сразу очень захотелось узнать как это делается и научиться делать самому. К сожалению, во всех доступных мне интернетах были найдены только примеры для Delphi, .NET и прочих языков высокого уровня. Пришлось лезть в отладчик и запасаться железным терпением, зато в результате получилось вполне рабочее решение. Для управления элементами панели задач в Windows 7 используется COM-интерфейс ITaskBarList3. Как обычно, никаких описаний в FASM нет, и все необходимое нужно искать самому или портировать с других языков.
Code (Assembler) : Убрать нумерацию
- ; GUID {56FDF344-FD6D-11D0-958A-006097C9A090}
- CLSID_TaskbarList dd 056FDF344h
- dw 0FD6Dh
- dw 011D0h
- db 095h, 08Ah, 000h, 060h, 097h, 0C9h, 0A0h, 090h
- ; GUID {EA1AFB91-9E28-4B86-90E9-9E9F8A5EEFAF}
- IID_ITaskbarList3 dd 0EA1AFB91h
- dw 09E28h
- dw 04B86h
- db 090h, 0E9h, 09Eh, 09Fh, 08Ah, 05Eh, 0EFh, 0AFh
- ; ITaskbarList3 Interface
- SetProgressValue = 4*09
- SetProgressState = 4*10
- RegisterTab = 4*11
- UnregisterTab = 4*12
- SetTabOrder = 4*13
- SetTabActive = 4*14
- ThumbBarAddButtons = 4*15
- ThumbBarUpdateButtons = 4*16
- ThumbBarSetImageList = 4*17
- SetOverlayIcon = 4*18
- SetThumbnailTooltip = 4*19
- SetThumbnailClip = 4*20
- ; Типы прогрессбаров на панели задач
- TBPF_NOPROGRESS = 0
- TBPF_INDETERMINATE = 1
- TBPF_NORMAL = 2
- TBPF_ERROR = 4
- TBPF_PAUSED = 8
- ; Константы для работы с объектом
- CLSCTX_INPROC_SERVER = 1
- S_OK = 0
Читать статью целиком »
Просмотров: 8086 | Комментариев: 6
Отключение кнопки "Свернуть все окна" в Windows 7
03.06.2010 | Категория: Образ мышления: Assembler | Автор: ManHunter
Захотелось поэкспериментировать с новым интерфейсом Windows 7, а конкретно решил убрать кнопку "Свернуть все окна" из трея. Зачем мне это надо - вопрос другой, здесь важна сама реализация. Кнопка "Свернуть все окна", как в сказке про Кащея, находится внутри нескольких других окон. Вложенность и иерархию классов можно определить, например, при помощи программы WinDowzer или любой другой, показывающей дерево всех окон системы. Для поиска родительского окна системного трея с названием класса Shell_TrayWnd я использовал функцию FindWindow, а для определения хэндлов вложенных дочерних окон с классами TrayNotifyWnd (область уведомлений) и TrayShowDesktopButtonWClass (сама кнопка "Свернуть все окна") - функцию FindWindowEx.Code (Assembler) : Убрать нумерацию
- ...
- ; Найти окно трея
- invoke FindWindow,stw,NULL
- or eax,eax
- jz no_button
- ; Найти окно уведомлений в трее
- invoke FindWindowEx,eax,NULL,tnw,NULL
- or eax,eax
- jz no_button
- ; Найти кнопку "Свернуть все окна"
- invoke FindWindowEx,eax,NULL,tsc,NULL
- or eax,eax
- jz no_button
- ; Спрятать кнопку "Свернуть все окна"
- ; Если надо показать кнопку, то замените флаг на SW_SHOW
- invoke ShowWindow,eax,SW_HIDE
- ; Кнопка не найдена
- no_button:
- ...
- ; Названия классов окон для поиска
- stw db 'Shell_TrayWnd',0 ; Название класса окна трея
- tnw db 'TrayNotifyWnd',0 ; Название класса окна области уведомлений
- tsc db 'TrayShowDesktopButtonWClass',0 ; Название окна кнопки
Читать статью целиком »
Просмотров: 24457 | Комментариев: 32