Активация Label от Delphi

Тема в разделе "WASM.BEGINNERS", создана пользователем sm123, 8 фев 2010.

  1. sm123

    sm123 New Member

    Публикаций:
    0
    Регистрация:
    20 мар 2008
    Сообщения:
    8
    Помоги с проблемой
    Есть программа написанная на Delphi. При запуске появляется модельное окно для регистрации.
    В этом окне 2 поля ввода, первый содержит некий номер (привязка к ПК), второй для ввода серийника.
    И два Lebel/Надпись (static text наверное) причем первый неактивен.
    Нужно активировать надпись, но программы типа WinSpy не находят эти надписи.
    При наведение указателя вторая надпись меняет цвет (полагаю все же эта объект со своим handle-ом).

    Каким образом можно получить его handle для активации?
    Если утилита для манипуляции со всеми объектами формы т.е. не только окнами но и элементами этого окна?
     
  2. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    sm123
    а почему сразу же Label. может они просто текст выводят с помощью TextOut и контролируют позицию мышки относительно этой надписи (когда мышка над надписью, то меняют ее цвет)

    Код (Text):
    1. ;ecx = pPOINT - позиция мышки над формой
    2. ;esi = pRECT - область над которой должен находиться курсор
    3. ;ebx = pTEXT - текстовая строка для вывода
    4. ;edi = pPOINT - позиция для вывода текста
    5. ;ebp = DC - контекст устройства для рисования текста
    6.  
    7.  mov eax, [ecx]
    8.  cmp eax, [esi]
    9.  jc no
    10.  cmp eax, [esi+8]
    11.  jnc no
    12.  mov eax, [ecx+4]
    13.  cmp eax, [esi+4]
    14.  jc no
    15.  cmp eax, [esi+12]
    16.  jnc no
    17.  call SetTextColor, ebp, TextUnderCursor
    18.  jmp ok
    19. no:
    20.  call SetTextColor, ebp, TextColor
    21. ok:
    22.  call TextOutA, ebp, [edi+0], [edi+4], ebx
    аналог на делфи
    procedure TForm1.OnPaint(...)
    begin
    if (Mouse.CursorPos.X<TextOutRect.left)and(Mouse.CursorPos.X>TextOutRect.Right)and(Mouse.CursorPos.Y<TextOutRect.Top)and(Mouse.CursorPos.Y>TextOutRect.Bottom) then
    SetTextColor(Canvas.Handle, TEXTUNDERCURSOR) else SetTextColor(Canvas.Handle, TEXTCOLOR);
    TextOutA(Canvas.Handle, TextOutPos.X, TextOutPos.Y, 'текст');
    end;
     
  3. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Разумеется не находят.

    Label и StaticText - не синонимы. Label - контрол, не имеющий собственного окна (и хэндла окна, соответственно, тоже), и активировать его без патчинга процесса либо файла самой программы не получится.
     
  4. sm123

    sm123 New Member

    Публикаций:
    0
    Регистрация:
    20 мар 2008
    Сообщения:
    8
    CyberManiac
    Все же под указателем Label меняет цвет, как можно менять цвет объекта не имея хэндл?
     
  5. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    sm123
    Загляни в сообщения
     
  6. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    sm123
    Меняется Font.Color по событию OnMouseEnter и OnMouseLeave. Чтобы нарисовать что-то на форме, достаточно иметь её HDC. А аналогичный компонент, который создаёт окно - это TStaticText, вот у него есть хэндл и вся фигня.
     
  7. sm123

    sm123 New Member

    Публикаций:
    0
    Регистрация:
    20 мар 2008
    Сообщения:
    8
    CyberManiac
    Как мне проверить Label эта или StaticText?
     
  8. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    TStaticText всегда формирует окно, TLabel - нет. Если WinSpy не находит - значит, TLabel.
     
  9. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    933
    sm123

    Найдите в проге то место в котором она согласная с введенными значениями и посмотрите что она делает с формой и сделайте так же/ TLabel, TStatic ... я словей-то таких не знаю.
     
  10. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    sm123
    http://www.cracklab.ru/f/index.php?action=vthread&forum=3&topic=15434