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

Discussion in 'WASM.BEGINNERS' started by sm123, Feb 8, 2010.

  1. sm123

    sm123 New Member

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

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

    max7C4 New Member

    Blog Posts:
    0
    Joined:
    Mar 17, 2008
    Messages:
    1,203
    sm123
    а почему сразу же Label. может они просто текст выводят с помощью TextOut и контролируют позицию мышки относительно этой надписи (когда мышка над надписью, то меняют ее цвет)

    Code (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

    Blog Posts:
    0
    Joined:
    Sep 2, 2003
    Messages:
    2,473
    Location:
    Russia
    Разумеется не находят.

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

    sm123 New Member

    Blog Posts:
    0
    Joined:
    Mar 20, 2008
    Messages:
    8
    CyberManiac
    Все же под указателем Label меняет цвет, как можно менять цвет объекта не имея хэндл?
     
  5. crypto

    crypto Active Member

    Blog Posts:
    0
    Joined:
    Dec 13, 2005
    Messages:
    2,533
    sm123
    Загляни в сообщения
     
  6. CyberManiac

    CyberManiac New Member

    Blog Posts:
    0
    Joined:
    Sep 2, 2003
    Messages:
    2,473
    Location:
    Russia
    sm123
    Меняется Font.Color по событию OnMouseEnter и OnMouseLeave. Чтобы нарисовать что-то на форме, достаточно иметь её HDC. А аналогичный компонент, который создаёт окно - это TStaticText, вот у него есть хэндл и вся фигня.
     
  7. sm123

    sm123 New Member

    Blog Posts:
    0
    Joined:
    Mar 20, 2008
    Messages:
    8
    CyberManiac
    Как мне проверить Label эта или StaticText?
     
  8. CyberManiac

    CyberManiac New Member

    Blog Posts:
    0
    Joined:
    Sep 2, 2003
    Messages:
    2,473
    Location:
    Russia
    TStaticText всегда формирует окно, TLabel - нет. Если WinSpy не находит - значит, TLabel.
     
  9. PSR1257

    PSR1257 New Member

    Blog Posts:
    0
    Joined:
    Nov 30, 2008
    Messages:
    933
    sm123

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

    crypto Active Member

    Blog Posts:
    0
    Joined:
    Dec 13, 2005
    Messages:
    2,533
    sm123
    http://www.cracklab.ru/f/index.php?action=vthread&forum=3&topic=15434