No Image

Текст в чужое окно

1 просмотров
11 марта 2020

У меня как-то так показывает, да и странно класс окна назван цифрами #32770, ну это может быть и не странно, но просто два окна имеют один и тот же класс от этого и трудность обратится к одному из них.

Открываем PE Explorer’ом, переходим в dialogs и смотрим GETPASSWORD2 и видем что поля имеют следующие классы (WinRar 5.0) 1. COMBOBOX – основной, который используется для ввода пароля, а также при "запоковке с ключом" 2. EDITTEXT – дублирующий или дополнительный

Этих №32770 – как собак, по нему что-либо искать – себе дороже, вполне себе что-то другое можно найти.

Вы не так поняли вопрос, точнее Вы совсем ничего не поняли. Речь идёт не о классах полей, а о классе формы Ввода пароля. В данном случае PE Explorer и прочее вовсе не нужны. Класс: #32770 – системный диалог

Хочеться взять из чужой программы данные обработать их и вставить . Забрать получается простой отсылкой через _KeyDown и _KeyUp
Комбинаций SHIFT+INSERT и потом CTRL+C, а вот вставить обратно . Очевидно реализация копирования, тоже кривая . Помогите плз.

procedure _KeyDown(Key : byte);
begin
keybd_event(Key, 0, 0, 0);
end;

procedure _KeyUp(Key : byte);
begin
keybd_event(Key, 0, KEYEVENTF_KEYUP, 0);
end;

var
HK,Up,Down,Value : string;
iPos : Integer;
// Wnd : Integer;
begin
// Wnd := GetForegroundWindow;
// Делал и так
// PostMessage(Wnd,WM_KEYDOWN,VK_CONTROL,0);
// PostMessage(Wnd,WM_KEYDOWN,VK_INSERT,0);
// PostMessage(Wnd,WM_KEYUP,VK_INSERT,0);
// PostMessage(Wnd,WM_KEYUP,VK_CONTROL,0);
_KeyDown(VK_CONTROL);
_KeyDown(VK_INSERT);
_KeyUp(VK_INSERT);
_KeyUp(VK_CONTROL);
Delay(500);
HK := ShortCutToText(HotKey);
Value := AHotKey.Values[HK];
iPos := Pos("^!",Value);
if Clipboard.HasFormat(CF_TEXT) then
begin
Text := Clipboard.AsText;
//===========
//Мой код отрабатывает нормально
//===========
Clipboard.AsText := Text;
Delay(100);
_KeyDown(VK_SHIFT);
_KeyDown(VK_INSERT);
_KeyUp(VK_INSERT);
_KeyUp(VK_SHIFT);
// Делал и так
// PostMessage(Wnd,WM_KEYDOWN,VK_SHIFT,0);
// PostMessage(Wnd,WM_KEYDOWN,VK_INSERT,0);
// PostMessage(Wnd,WM_KEYUP,VK_INSERT,0);
// PostMessage(Wnd,WM_KEYUP,VK_SHIFT,0);
ToLog(Up+Text+Down);
Clipboard.Clear;
end;
end;

Читайте также:  Sublime text как пользоваться


Aleksey_sv ( 2003-03-19 16:33 ) [1]

Используй лучше Sendmessage(WND,Wm_settext,0,text);
меньше секса :))


Aleksey_sv ( 2003-03-19 16:36 ) [2]

А вытягивать
sendmessage(WND,Wm_gettext,text,0);
помоему так.
Этот вариант катит с заголовком, а для всего остального надо знать хендл компонента из которого и в который ты текст отправляеш


QUE ( 2003-03-19 16:41 ) [3]

Да до этого я тоже дошел, но незнаю как достать этот хендл .

А за sendmessage(WND,Wm_gettext,text,0); Большое спасибо .


QUE ( 2003-03-19 16:42 ) [4]


Aleksey_sv ( 2003-03-19 17:01 ) [5]

небольшое исправление
sendmessage(hw,WM_GETTEXT,Длина строчки,integer(@Wtext));
Найти хендл елемента– Findwindow(WND родителя,0,"Класс окна (например"edit")",Заголовок)


Aleksey_sv ( 2003-03-19 17:04 ) [6]

Блин помарочка

> Найти хендл елемента– Findwindow(WND родителя,0,"Класс
> окна (например"edit")",Заголовок)

правильно FindwindowEX


QUE ( 2003-03-19 17:30 ) [7]

Угу, спасибо большое завтра уже проделывать все это буду .
Сейчас убегать нужно . ОГРОМНОЕ СПАСИБО.


QUE ( 2003-03-19 18:50 ) [8]

Wnd := GetFocus Вот что написано в MAN"e:
Считывает окно, котоpое в данный момент имеет фокус ввода.
Блин у блокнота не может считать .
Почему ?

Вновь жмурятся нА небе звёзды,
На улице снова темно.
И пусть на часах уже « поздно»,
Мне светит чужое окно.

Мне светит… ласкает и греет
Замёрзшую душу мою.
Поняв, что войти не сумею,
Напротив окна я стою.

Напротив окна… я снаружи…
Прозрачная плоскость стекла
Разделит меня с тем, кто нужен,
Жалея чужого тепла.

Жалея чужого доверья,
На темном вставая пути,
Не скрипнут закрытые двери,
Меня приглашая войти…

Меня приглашая с собою,
В ладонь мою тычется пёс,
От инея с шерстью седою…
Ты тоже, лохматый, замерз.

Ты тоже один в этом мире,
Но, в общем, тебе всё равно…
Лишь солнцем, зажжённым в квартире,
Нам светит чужое окно…

Комментировать
1 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector