Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.01.06;
Скачать: [xml.tar.bz2];

Вниз

семитировать ввод в поле с клавиатуры   Найти похожие ветки 

 
Петр   (2007-12-08 14:16) [0]

здравствуйте, подскажите пожалуйста как семитировать ввод в поле с клавиатуры.....


 
Dib@zol ©   (2007-12-08 14:19) [1]

Что сделать? Может, сЫмитировать? Увожайте рускей изыг, таваищи!
А по теме - SendMessage + WM_CHAR + (WM_KEYDOWN+WM_KEYUP)


 
Петр   (2007-12-08 14:20) [2]

спасибо а можно пожалуйста поподробнее


 
{RASkov} ©   (2007-12-08 14:24) [3]

> [2] Петр   (08.12.07 14:20)
> можно пожалуйста поподробнее

Послать сообщение(WM_CHAR)второй параметр) окну(!)(первый параметр)
WM_CHAR  
chCharCode = (TCHAR) wParam;    // character code
lKeyData = lParam;              // key data
Еще подробнее в Ф1.


 
Петр   (2007-12-08 14:30) [4]

у меня к сожалению не работает справка... подскажите какие параметры в SendMessage();


 
{RASkov} ©   (2007-12-08 14:31) [5]

> [4] Петр   (08.12.07 14:30)
> параметры в SendMessage();

LRESULT SendMessage(

   HWND hWnd, // handle of destination window
   UINT Msg, // message to send
   WPARAM wParam, // first message parameter
   LPARAM lParam  // second message parameter
  );


Parameters

hWnd

Identifies the window whose window procedure will receive the message. If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system, including disabled or invisible unowned windows, overlapped windows, and pop-up windows; but the message is not sent to child windows.

Msg

Specifies the message to be sent.

wParam

Specifies additional message-specific information.

lParam

Specifies additional message-specific information.


 
{RASkov} ©   (2007-12-08 14:35) [6]

> [4] Петр   (08.12.07 14:30)
> у меня к сожалению не работает справка...

В делфи в меню есть пункт Help в нем есть пункт Windows SDK "вылезет" окошко хелпа, там есть закладка "Предметный Указатель" вводишь туда SendMessage

нажатие F1 - он не всегда почему-то работает по АПИ функциям, по крайней мере у меня так....(


 
Петр   (2007-12-08 14:38) [7]

1 спасибо а как получить handle of destination window для окна?
2 что писать в message to send
3 первый параметр напиать WM_CHAR?
4 второй тоже WM_CHAR?
зарание большое спасибо!


 
Петр   (2007-12-08 14:39) [8]

и он говорит что справка не поддерживается в windows vista


 
{RASkov} ©   (2007-12-08 14:44) [9]

> [7] Петр   (08.12.07 14:38)

поле ввода чье? твое? если да то в одном приложении или из одного приложения хочешь послать в другое(но оба твои)?
Или поле "чужое"? Давай подробнее вопрос.... И, самое главное, для чего тебе это нужно???

> [8] Петр   (08.12.07 14:39)

:)
Кто? дядя Вася?
Вообще по этой функции(она АПИ) есть онлайн хелп и независит от ОС :)


 
Dib@zol ©   (2007-12-08 14:44) [10]

> [7] Петр   (08.12.07 14:38)

Первым параметром нужно проставить не WM_CHAR (в отличие от второго) а хендл того окна, кому ты собсна посылаешь этот WM_CHAR. Определить хендл можно многими способами, однако я рекомендую FindWindowEx.

FindWindowEx [Quick info] [Overwiew] [Group]

The FindWindowEx function retrieves the handle to a window whose class name and window name match the specified strings. The function searches child windows, beginning with the one following the given child window.

HWND FindWindowEx(

   HWND hwndParent, // handle to parent window
   HWND hwndChildAfter, // handle to a child window
   LPCTSTR lpszClass, // pointer to class name
   LPCTSTR lpszWindow // pointer to window name
  );


Parameters

hwndParent

Identifies the parent window whose child windows are to be searched.
If hwndParent is NULL, the function uses the desktop window as the parent window. The function searches among windows that are child windows of the desktop.

hwndChildAfter

Identifies a child window. The search begins with the next child window in the Z order. hwndChildAfter must be a direct child window of hwndParent, not just a descendant window.
If hwndChildAfter is NULL, the search begins with the first child window of hwndParent.
Note that if both hwndParent and hwndChildAfter are NULL, the function searches all top-level windows.

lpszClass

Points to a null-terminated string that specifies the class name or is an atom that identifies the class-name string. If this parameter is an atom, it must be a global atom created by a previous call to the GlobalAddAtom function. The atom, a 16-bit value, must be placed in the low-order word of lpszClass; the high-order word must be zero.

lpszWindow

Points to a null-terminated string that specifies the window name (the window"s title). If this parameter is NULL, all window names match.



Return Values

If the function succeeds, the return value is the handle to the window that has the specified class and window names.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.


 
{RASkov} ©   (2007-12-08 14:44) [11]

.... может и решение проще найдется)


 
Петр   (2007-12-08 14:50) [12]

необходимо заполнит анкету и наглядно продемонстрировать как это происходит тоесть напечатать текст за пользователя...если только одно окно то можно в 1 параметре HWND_BROADCAST?


 
{RASkov} ©   (2007-12-08 14:54) [13]

> [12] Петр   (08.12.07 14:50)
> если только одно окно

Чьё оно???

> можно в 1 параметре HWND_BROADCAST?

Нет.
В первом параметре должен быть хендл поля ввода...


 
Петр   (2007-12-08 14:55) [14]

форма не моя....


 
Петр   (2007-12-08 14:56) [15]

как узнать хендл поля ввода? спасибо....


 
Dib@zol ©   (2007-12-08 14:57) [16]

Кинь сюда эту прогу, сам скажу как это делать. ей богу так легче будет.


 
Dib@zol ©   (2007-12-08 14:59) [17]

> сам скажу как это делать

тфу. я хотел сказать "Сделаю сам".


 
Петр   (2007-12-08 15:04) [18]

нужно вайти в mail.ru тоесть ввести в поле логин и пароль соответственно.....


 
{RASkov} ©   (2007-12-08 15:07) [19]

> [18] Петр   (08.12.07 15:04)

мдя... Мыло мочало...
Поля ввода уже оказываются на Вэб-странице? Если да, то у них нет хэндла(


 
Петр   (2007-12-08 15:08) [20]

хотябы ввести логин если курсор уже установле в поле....


 
Dib@zol ©   (2007-12-08 15:27) [21]

> здравствуйте, подскажите пожалуйста как сЫмитировать ввод в поле с клавиатуры.....

> нужно вайти в mail.ru тоесть ввести в поле логин и пароль соответственно.....

Такой метод решения данной проблемы называется "лобовая атака". Грубо и неизящно. Тут, я так понимаю, нужно использовать скрипты, только вот как - без понятия. Никогда с сетями не работал и сайтов не делал.


 
Петр   (2007-12-08 15:30) [22]

тут можно просто нажать кнопку как это делаетя для мыши просто
mouse_event(MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_leftDOWN, 218,67, 0, 0);
разве нет подобного для клавиатуры???


 
{RASkov} ©   (2007-12-08 15:31) [23]

> [22] Петр   (08.12.07 15:30)
> разве нет подобного для клавиатуры???

ЕСть
keybd_event
но в твоем случае это плохое решение задачи(


 
Петр   (2007-12-08 15:33) [24]

а почему же плохое?


 
Петр   (2007-12-08 15:38) [25]

если это заработает то это уже хорошо))) подскажите как это использовать какие параметры?


 
{RASkov} ©   (2007-12-08 15:38) [26]

> [24] Петр   (08.12.07 15:33)


> Такой метод решения данной проблемы называется "лобовая
> атака". Грубо и неизящно.


 
{RASkov} ©   (2007-12-08 15:43) [27]

> [25] Петр   (08.12.07 15:38)

Эту ветку скорее закроют, так как в ней нет ничего полезного... "куски" хэлпа - они у всех есть кроме автора ветки....)
А автор так и не хочет более подробно рассказать чего же он хочет( где вообще находятся эти его поля ввода....


 
Riply ©   (2007-12-08 15:45) [28]

> [27] {RASkov} ©   (08.12.07 15:43)
> Эту ветку скорее закроют

Это как это закроют ? А я надеялась, что здесь весь MSDN распечатают :)


 
Петр   (2007-12-08 15:47) [29]

Mail.ru, яж говорил, пожалуйста напишите синтаксис КибордИвента


 
Dib@zol ©   (2007-12-08 15:49) [30]

The keybd_event function synthesizes a keystroke. The system can use such a synthesized keystroke to generate a WM_KEYUP or WM_KEYDOWN message. The keyboard driver"s interrupt handler calls the keybd_event function.

VOID keybd_event(

   BYTE bVk, // virtual-key code
   BYTE bScan, // hardware scan code
   DWORD dwFlags, // flags specifying various function options
   DWORD dwExtraInfo  // additional data associated with keystroke
  );


Parameters

bVk

Specifies a virtual-key code. The code must be a value in the range 1 to 254.

bScan

Specifies a hardware scan code for the key.

dwFlags

A set of flag bits that specify various aspects of function operation. An application can use any combination of the following predefined constant values to set the flags:

Value Meaning
KEYEVENTF_EXTENDEDKEY If specified, the scan code was preceded by a prefix byte having the value 0xE0 (224).
KEYEVENTF_KEYUP If specified, the key is being released. If not specified, the key is being depressed.


dwExtraInfo

Specifies an additional 32-bit value associated with the key stroke.



Return Values

This function has no return value.

Remarks

Although keybd_event passes an OEM-dependent hardware scan code to Windows, applications should not use the scan code. Windows converts scan codes to virtual-key codes internally and clears the up/down bit in the scan code before passing it to applications.
An application can simulate a press of the PRINTSCREEN key in order to obtain a screen snapshot and save it to the Windows clipboard. To do this, call keybd_event with the bVk parameter set to VK_SNAPSHOT, and the bScan parameter set to 0 for a snapshot of the full screen or set bScan to 1 for a snapshot of the active window.

но опять же, это - в общем случае - не выход.


 
Петр   (2007-12-08 15:59) [31]

приведите пример пожалуйста!


 
Петр   (2007-12-08 15:59) [32]

приведите пример пожалуйста!


 
{RASkov} ©   (2007-12-08 16:04) [33]

> [28] Riply ©   (08.12.07 15:45)
> А я надеялась, что здесь весь MSDN распечатают :)

:)
Ну выходные еще впереди может и уложится все)
Например [30] Очень хочет тебе угодить :)


 
Петр   (2007-12-08 16:09) [34]

подскажите пожалуйста что писать в:
1 BYTE bVk
2 BYTE bScan
3 DWORD dwFlags
4  DWORD dwExtraInfo


 
{RASkov} ©   (2007-12-08 16:29) [35]

> [34] Петр   (08.12.07 16:09)

См [30]
Что тебе там не понятно????
Набери в любом поисковике(например в Яндексе) "keybd_event Примеры в Делфи", что ты как маленький :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.01.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.005 c
15-1196257475
em240
2007-11-28 16:44
2008.01.06
.net+производительность gui приложений


15-1196676079
Cerber
2007-12-03 13:01
2008.01.06
adsl и соеденение через сотовый телефон


6-1177413145
DVM
2007-04-24 15:12
2008.01.06
Почему начинает подтормаживать сервер.


2-1197279243
ZLinX
2007-12-10 12:34
2008.01.06
Удаление Обьектов


2-1197145437
sdaf
2007-12-08 23:23
2008.01.06
Edit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский