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

Ошибка 8007273D при обновлении Windows 7
01.10.2010 | Категория: Software | Автор: ManHunter

Ошибка 8007273D при обновлении Windows 7
Однажды при попытке очередного обновления системы получил странную ошибку с кодом 8007273D и описанием "Неизвестная ошибка". Windows и без того неохотно раскрывает информацию о своих ошибках, ограничиваясь непонятными индексами. А в этот раз центр помощи вообще показал только дефолтную страницу справки с общими рекомендациями, не дав даже намека на подсказку. Перезагрузка компа, проверка фаервола и сетевых настроек тоже не произвели никакого эффекта. После углубленного изучения разных интернетов выяснилось, что проблема решается сбросом Winsock. Для этого надо запустить консоль cmd, обязательно с правами Администратора, а там ввести руками команду:
netsh winsock reset
После этого потребуется перезагрузка компьютера. В принципе, обновления стали доступны и без перезагрузки, сразу после сброса, но при этом почему-то отвалился домашний FTP и торренты. Так что в этом случае перезагрузка как раз не лишняя.
Читать статью целиком »
Просмотров: 9425 | Комментариев: 15

Клиент telnet в Windows 7
28.08.2010 | Категория: Software | Автор: ManHunter

Установка telnet в Windows 7
По умолчанию в Windows 7 зачем-то отключен компонент telnet. Чтобы вернуть его обратно зайдите в "Панель управления" - "Программы и компоненты" - "Включение или отключение компонентов Windows". В открывшемся окне поставьте галочку в строке "Клиент Telnet", нажмите кнопку OK. Возможно, что потребуется установочный диск Windows 7 (у меня telnet нормально включился без него). Все, теперь telnet стал доступен из командной строки, хотя лично я предпочитаю пользоваться более удобными альтернативами.
Просмотров: 6866 | Комментариев: 5

Индикатор сетевой активности в Windows 7
19.07.2010 | Категория: Software | Автор: ManHunter

Скриншот программы Network Activity Indicator
Разработчики Windows 7 зачем-то выпилили из системы такую замечательную функцию, как индикатор сетевой активности. Это такая иконка в трее в виде двух маленьких мониторчиков, показывающих, соответственно, отправку или получение данных по сети. К счастью, наш соотечественник Игорь Толмачев написал программу Network Activity Indicator, с успехом возвращающую в Windows 7 эту функцию обратно. Кроме визуальной индикации сетевой активности, программа ведет статистику трафика, позволяет через меню настраивать различные параметры ваших сетевых подключений. Последняя версия на момент публикации 1.5 от июня 2010 года. Network Activity Indicator имеет крохотный размер (около 80 килобайт в архиве), не мусорит в системе и не требует установки. Программа абсолютно бесплатна, более того, на офсайте доступны для скачивания исходники. Рекомендую.
Читать статью целиком »
Просмотров: 22578 | Комментариев: 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
Читать статью целиком »
Просмотров: 8217 | Комментариев: 11

Отключение кнопки "Свернуть все окна" в 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 ; Название окна кнопки
Читать статью целиком »
Просмотров: 24607 | Комментариев: 32
