Кнопка в заголовке окна

Тема в разделе "WASM.WIN32", создана пользователем Sidorma, 31 мар 2011.

  1. Sidorma

    Sidorma New Member

    Публикаций:
    0
    Регистрация:
    9 дек 2010
    Сообщения:
    35
    Здравствуйте!

    Подскажите, люди добрые, куда копать... Вот в чем проблема-то.
    Нужно мне добавить немного функционала в Windows XP/7. Чтоб появилась кнопочка во всех окнах (рядом со стандартными минимизации/закрытия), при нажатии на которую будет что-нибудь происходить (ну например, появляться какое-нить сообщение).

    Спасибо за любую полезную информацию!
     
  2. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    НТ_CAPTION и типа итого
    точне наврал по памяти WM_NCACTIVATE/PAINT
     
  3. Sidorma

    Sidorma New Member

    Публикаций:
    0
    Регистрация:
    9 дек 2010
    Сообщения:
    35
    punxer
    Расскажите более подробно, если не затруднит.
    Спасибо.
     
  4. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Щас не скажу
    завтра к вечеру пожвлуйста
    нет проекта под рукой а вспоминается ниособо
    нужна длл
    там хук на сообщения окна
    на окно нужно установить определенные стили
    и там обрабатываем
    прорисовываем итд
    щас поищу
     
  5. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
  6. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    *блин как несовершенна классификация
     
  7. Sidorma

    Sidorma New Member

    Публикаций:
    0
    Регистрация:
    9 дек 2010
    Сообщения:
    35
    punxer Надеюсь Вы правильно поняли...
    Как создать кнопку для данного конкретного окна - это понятно.
    Мне бы хотелось добавить ее на все окна винды.
     
  8. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    SetWindowsHook в длл
    http://msdn.microsoft.com/en-us/library/ms644990(v=vs.85).aspx
    длл подгрузится ко всем гуи процессам
     
  9. Sidorma

    Sidorma New Member

    Публикаций:
    0
    Регистрация:
    9 дек 2010
    Сообщения:
    35
    Раньше помню, писал кейлоггер. Ставил хуки на клавиатуру.
    Не думал, что здесь таким же путем пойти можно. Попробуем...
     
  10. Sidorma

    Sidorma New Member

    Публикаций:
    0
    Регистрация:
    9 дек 2010
    Сообщения:
    35
    Кстати, а можно это сделать в виде службы?
     
  11. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Sidorma
    нет
     
  12. Sidorma

    Sidorma New Member

    Публикаций:
    0
    Регистрация:
    9 дек 2010
    Сообщения:
    35
    Почему нет?
     
  13. paralvic

    paralvic Пархоменко Александр Викторович

    Публикаций:
    0
    Регистрация:
    20 ноя 2010
    Сообщения:
    294
    Адрес:
    Нижний Новгород
    Чтобы для всех нужен патч USER32.DLL.
    Это она рисует окна.
     
  14. paralvic

    paralvic Пархоменко Александр Викторович

    Публикаций:
    0
    Регистрация:
    20 ноя 2010
    Сообщения:
    294
    Адрес:
    Нижний Новгород
    На XP её вдоль и поперек патчил.
    Помню кнопка "OK" мне не понравилась.
    Заменил на "АГА".
     
  15. ASMatic

    ASMatic New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2010
    Сообщения:
    233
    Sidorma
    почему бы и нет, ток тогда вам вручную придеться длл инжектить во все процессы..

    Лучше прописаться в AppInitDlls, винда сама вас заинжектит во все процессы юзающие user32.dll
     
  16. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    http://www.catch22.net/tuts/ (Win32 Tips, Tricks and Tutorials), там есть.
     
  17. Sidorma

    Sidorma New Member

    Публикаций:
    0
    Регистрация:
    9 дек 2010
    Сообщения:
    35
    ASMatic
    Подскажите, пожалуйста, как это сделать.


    Microedition
    Спасибо за классную ссылку, но что-то я не нашел там ничего похожего.
     
  18. pr0mix

    pr0mix New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    107
    "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows" -> параметр AppInit_DLLs
    Об этом можно почитать у Рихтера
     
  19. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    Sidorma
    Статья Custom Titlebar - не то разве?
    http://www.catch22.net/tuts/custom-titlebar
     
  20. Sidorma

    Sidorma New Member

    Публикаций:
    0
    Регистрация:
    9 дек 2010
    Сообщения:
    35
    Microedition
    Да, это похоже на правду.
    Был, наверное, очень уставшим. Не заметил слона )
    Спасибо.

    pr0mix
    И что, если там прописать мою dll-ку, рисующую кнопки на окне, они (кнопки) будут отображаться на всех окнах винды? А будут ли какие-то ограничения/особенности для других версий Windows (Vista, Seven).
    Спасибо.