Как узнать имена стандартных классов окон в Win32

Тема в разделе "WASM.BEGINNERS", создана пользователем Rockphorr, 9 ноя 2006.

  1. kero

    kero Модератор SOURCES & 2LZ

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    А вот тут наверняка не ваша лажа.
    Я, например, только рары и кладу на васм, поскольку зипы у меня при последующей самопроверке ВСЕГДА оказываются битыми !
     
  2. kero

    kero Модератор SOURCES & 2LZ

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    Помилуйте, какая же она хакерская ?! В нем просто использована недокументированная возможность.

    А насчет подробных описаний - как сказать, как сказать...
     
  3. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    люди глянте плиз траблу в #11
     
  4. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Rar так рар ;)
    Если что заходи с IE (уж он то на машине точно есть :)
    или качай FlashGet \ DownloadMaster

    ЗЫ: не люблю оперу
     
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    kero
    Человек в начале задал совершенно банальный вопрос, а вы все предлагаете ему использовать что-то недокументированное. Это всё равно, что использовать debug для создания PE экзешников.

    Во-первых, то, что явно не описано в msdn - лучше не использовать, тем более новичкам. Во-вторых, в msdn есть не только API, но и статьи, типа этой:
    Control Spy Exposes the Clandestine Life of Windows Common Controls, Part I
    Неужели новичку может понадобиться копнуть ещё глубже? Он же потом будет думать, что в Win32 всё приходится делать через то самое место!
     
  6. kero

    kero Модератор SOURCES & 2LZ

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    А что, regrange.asm разве не подсказывает ?

    Т.е. просто-напросто GlobalGetAtomName знать не знает классов, которые были зарегистрированы через RegisterClass(Ex).

    А вот GetClipboardFormatName отчего-то знает... :)

    Короче, GetClipboardFormatName покрывает весь диапазон 0xC000...0xFFFF зарегистрированных виндовских идентификаторов, будь то
    сообщения (через RegisterWindowMessage),
    оконные классы (через RegisterClass(Ex))
    или клипбордовские форматы (через RegisterClipboardFormat).
     
  7. rain

    rain New Member

    Публикаций:
    0
    Регистрация:
    22 апр 2006
    Сообщения:
    976
    чё-то я не вкурил, нуб ещё, мдя а я то голову ломаю зачем было делать ещё и GetClassName если можно (но вообще-то нельзя) получить спомощью GetWindowInfo&GlabalGetAtomName
     
  8. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.628
    Адрес:
    Russia
    у меня твоя ссылка работает файл скачивается - все тип топ
     
  9. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.628
    Адрес:
    Russia
    короче чуть что смотри в с++ ???
     
  10. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Rockphorr
    В msdn есть имена ВСЕХ стандартных контролов!
     
  11. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.628
    Адрес:
    Russia
    я чувствую что без с++ никак низя на асме под вин32 писать, а под дос можна
    плюс у меня от с++ чувствтво такое возникает что это некий макроязык особенно от того что сначала пишешь тип а потом имена переменных
    начинаю писать под винду на стареньком 2ом пне под вин95
    комфорт такойже как на 4 пне под хр если не брать в расчет "навороты которые в зоопарке верблюду не нужны"
     
  12. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Весь с++ есно не нужен, но очень хорошо иметь от него комплект заголовочных файлов, они обычно отлично коментированы и часто могут заменять справку, кроме того в них есть значения всех нужных констант (в справке это далеко не всегда) и настоящие имена классов (в справке часто бывают только имена переменных ссылающихся на имя класса)
    + MSHelp - несколько устаревшее описание API в Win32 (он идёт в комплекте, с разными версиями С++, Дельфи, и можно нагуглить в сети отдельно)

    ЗЫ: Давно и комфортно асмю под винду на PII под Win98 :))
     
  13. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Собственно Винда написана на с++, потому если хочешь юзать её штатные функции (API интерфейс), то их родное описание привязано к с++, любая привязка к другим языкам (асм, дельфя, и т.д.) есть урезанная и недопереработанная версия описания из с++. Разве только к документации для VB у M$ особенно трепетное отношение, но если уж выбирать что читать ...
    А вот разбираться в многоуровневых наворотах с++ кодеру на асме вовсе не обязательно - достаточно понять принципы описания констант, структур, функций и будешь свободно понимать, как использовать win функции на asm, читая справку и аши для с++.

    ЗЫ: Впрочем в линейке NT - XP тоже есть свои прелести и по хорошему стоит кодить мультивиндово :)
     
  14. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Quantum
    msdn конечно Греция - всмысле там ВСЁ есть, но уж больно дико оно трафик жрёт :))
    Посему лезу туда, только когда не нахожу инфу где-нибудь поближе.
    Помницца как-то качал оттуда описание контрола ReBar - сплошная текстовка, и той не так уж много - накачалось 10 метров :))) - слегка порарил получился 1% =)), т.е. 99 процентов закачки вхолостую. Малость почистил от жабьих менюшек - остался 1 метр, который тут и приаттачил :)))
    Rockphorr
    И эта Греция тоже СИшная :)))
     
  15. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Y_Mur
    msnd и оффлайн бывает :]
     
  16. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    n0name
    В моих краях продавцы дисков от слов msnd и оффлайн впадают в ступор, долго задают наводящие вопросы типа: "а это не бейсик?", "а это не дельфя?", и наконец резюмирут - "не ниразу не слыхал" :)))
     
  17. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Y_Mur
    Запрись в инет-кафе на ночь, либо попроси тамошнего админа скачать PlatformSDK. Немного, в районе 300 мб, зато обзоведёшься справкой, заголовочными файлами и компилятором (пригодится).
     
  18. мь!тарь

    мь!тарь Виталий Залетин

    Публикаций:
    0
    Регистрация:
    7 окт 2006
    Сообщения:
    2
    Адрес:
    Кировоград, Украина
    АПИ пользоваться надо! А почемубы не отлавливать движения мышки, при этом выполняя такую вещицу (код на VB, т. к. другого пока незнаю):

    Dim pa As POINTAPI
    Dim Wnd as Long, ClassLen As Long
    Dim sClass as String

    GetCursorPos pa 'Получаем координаты мышки
    Wnd = WindowFromPoint(pa.x, pa.y) 'Получаем окно, над которым висит курсор

    sClass = String$(255,0) 'Строку заполняем нолями
    ClassLen = GetClassName(Wnd, sClass, 255) 'Мы получили имя класса
    sClass = Left$(sClass,ClassLen) 'Обрезаем строку по длине имени класса

    В итоге в sClass у нас будет имя класса окна, над которым висит курсор мышки. Вывести его можно куда угодно.
     
  19. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    IceStudent
    Спасибо, 300 метров и сам ночными закачками осилю, просто наугад качать не хотелось от M$ любого подвоха ждать можно :)))

    мь!тарь
    Такая прога есть и на MASM32, но документацию и заголовки h она не заменит :)) всё равно константы и сообщения определённые для этого класса узнавать придётся - на каждый чих не нахукаешься :)))
     
  20. мь!тарь

    мь!тарь Виталий Залетин

    Публикаций:
    0
    Регистрация:
    7 окт 2006
    Сообщения:
    2
    Адрес:
    Кировоград, Украина
    Стандартные классы окон перчислены, если не ошибаюсь в commctrl.h, который есть в поставке любого сяшного компилятора. С сообщениями та же история и тот же файл!