Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Олег2000про
-122 / 0 / 0
Регистрация: 13.11.2015
Сообщений: 466
1

Получить handle Edit

07.08.2016, 10:18. Просмотров 836. Ответов 2
Метки нет (Все метки)

Имеется онлайн игра. При запуске игры появляется окно с формой авторизации-ПАРОЛЬ и логин. Я скачал специальные программы которые показывают класс и хендл обьекта. Но в игре показывается только хендл и класс главного окна. Кнопки и эдиты программа не видит почему?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2016, 10:18
Ответы с готовыми решениями:

Получить все цифры из Edit
Как получить все цифры из Edit ?

Получить значения label и edit
Привет всем. Подскажите пожалуйста. Есть приложение написанное на делфи. В нем...

Как получить в Edit-е день недели?
Здравствуйте!!! подскажите как сделать что бы в поле edit появлялся день...

Из текстового файла получить слова и вывести их в разные Edit-ы
В текстовом файле написано " :: 11 :: Лалаа :: Палаа :: Лала Пала :: " ...

из поля Edit получить имя для нового файла. Возникает ошибка
Здравствуйте. Хочу написать программу "блокнот с заметками". при...

2
Cyborg Drone
Модератор
5293 / 3171 / 2442
Регистрация: 17.08.2012
Сообщений: 10,186
09.08.2016, 08:24 2
По разным причинам. Например, кнопки и эдиты реализованы не как объекты, а, к примеру, как часть фоновой картинки главного окна.
0
HiredKiller
76 / 76 / 39
Регистрация: 17.02.2016
Сообщений: 453
09.08.2016, 08:35 3
Лучший ответ Сообщение было отмечено Олег2000про как решение

Решение

исходя из движка игры гуглим и получаем ответы

для движков Unreal (л2)
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
procedure PostKeyExHWND(hWindow: HWnd; key: Word; const shift: TShiftState; specialkey: Boolean);
type
 TBuffers = array [0..1] of TKeyboardState;
var
 pKeyBuffers: ^TBuffers;
 lParam: LongInt;
begin
 (* check if the target window exists *)
  if IsWindow(hWindow) then
  begin
   (* set local variables to default values *)
   //pKeyBuffers := nil;
   lParam := MakeLong(0, MapVirtualKey(key, 0));
 
   (* modify lparam if special key requested *)
   if specialkey then
     lParam := lParam or $1000000;
 
   (* allocate space for the key state buffers *)
   New(pKeyBuffers);
   try
     (* Fill buffer 1 with current state so we can later restore it.
        Null out buffer 0 to get a "no key pressed" state. *)
     GetKeyboardState(pKeyBuffers^[1]);
     FillChar(pKeyBuffers^[0], SizeOf(TKeyboardState), 0);
 
     (* set the requested modifier keys to "down" state in the buffer*)
     if ssShift in shift then
       pKeyBuffers^[0][VK_SHIFT] := $80;
     if ssAlt in shift then
     begin
       (* Alt needs special treatment since a bit in lparam needs also be set *)
       pKeyBuffers^[0][VK_MENU] := $80;
       lParam := lParam or $20000000;
     end;
     if ssCtrl in shift then
       pKeyBuffers^[0][VK_CONTROL] := $80;
     if ssLeft in shift then
       pKeyBuffers^[0][VK_LBUTTON] := $80;
     if ssRight in shift then
       pKeyBuffers^[0][VK_RBUTTON] := $80;
     if ssMiddle in shift then
       pKeyBuffers^[0][VK_MBUTTON] := $80;
 
     (* make out new key state array the active key state map *)
     SetKeyboardState(pKeyBuffers^[0]);
     (* post the key messages *)
     if ssAlt in Shift then
     begin
       PostMessage(hWindow, WM_SYSKEYDOWN, key, lParam);
       PostMessage(hWindow, WM_SYSKEYUP, key, lParam or integer($C0000000));
     end
     else
     begin
       PostMessage(hWindow, WM_KEYDOWN, key, lParam);
       PostMessage(hWindow, WM_KEYUP, key, lParam or integer($C0000000));
     end;
     (* process the messages *)
     //ad.ToLogFile('Before ProcessMessages PostKeyExHWND');
     Application.ProcessMessages;
 
     (* restore the old key state map *)
     SetKeyboardState(pKeyBuffers^[1]);
   finally
     (* free the memory for the key state buffers *)
     if pKeyBuffers <> nil then
       Dispose(pKeyBuffers);
    end; { If }
  end;
end; { PostKeyEx }
 
function InsertText(text: string; winHandle: HWND): boolean;
var
  i: word;
  ThreadID, my: cardinal;
  hFocusedWnd: HWND;
  ch: integer;
begin
  ThreadID:= GetWindowThreadProcessId(winHandle, nil);
  my:= GetCurrentThreadId;
  AttachThreadInput(ThreadID, my, true);
  hFocusedWnd:= GetFocus;
 
  for i:= 1 to Length(text) do
  begin
    ch:= ord(text[i]);
    PostMessage(hFocusedWnd, WM_CHAR, ch, 1);
  end;
  AttachThreadInput(ThreadID, my, false);
  Result:= true;
  Sleep(300);
end;
использование

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
var
  clientHWND: HWND;
begin
 
clientHWND:= FindWindow('l2UnrealWWindowsViewportWindow', nil);
 SetForegroundWindow(clientHWND); // открыть л2
Sleep(2000);
InsertText('"', clientHWND);
PostKeyExHWND(clientHWND, VK_BACK, [], false);
Sleep(200);
PostKeyExHWND(clientHWND, VK_BACK, [], false);
Sleep(200);
PostKeyExHWND(clientHWND, VK_BACK, [], false);
Sleep(200);
PostKeyExHWND(clientHWND, VK_BACK, [], false);
Sleep(200);
PostKeyExHWND(clientHWND, VK_BACK, [], false);
Sleep(200);
PostKeyExHWND(clientHWND, VK_BACK, [], false);
Sleep(200);
PostKeyExHWND(clientHWND, VK_BACK, [], false);
Sleep(200);
PostKeyExHWND(clientHWND, VK_BACK, [], false);
Sleep(200);
PostKeyExHWND(clientHWND, VK_BACK, [], false);
Sleep(200);
Sleep(200);
InsertText(Login.Text, clientHWND);
Sleep(2000);
PostKeyExHWND(clientHWND, VK_RETURN, [], false);
 
end;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2016, 08:35

Проверка заполнения Edit-ов в цикле: как исключить один Edit из проверки?
Имеется 6 Edit`ов. Хочу проверить 5 Edit`ов на заполнение/пустоту. Написал...

При вводе в один Edit, во второй Edit автоматически вводится то же самое
Ввел я допустим в Edit1- &quot;АБВГД&quot;, нажал на кнопку и &quot;АБВГД&quot; появилась во втором...

Автоматическое заполнение 4-го Edit-а в зависимости от содержимого трех других Edit-ов
Здравствуйте, подскажите какого оператора лучше использовать. Суть вопроса;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru