Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SendInput( with INPUT_KEYBOARD) & WordPad


kami ©   (2006-10-09 20:13:00) 

При "нажатии" любой клавиши через SendInput WordPad начинает грузить процессор на 100%. На других программах пока такого замечено не было. Кто нибудь сталкивался с подобным и как решал?
З.Ы. Please, не надо про мои кривые руки - у Eraser -a такая же проблема с ROM, а (имхо) его радиус кривизны рук стремится к 0.


icWasya   (2006-10-10 09:32:00) [1]

а это что?
FillChar(Inputs[0], SizeOf(tagInput) *2 , #0);


Ketmar   (2006-10-09 21:28:00) [2]

я намекаю на то, что о вм-твари в [0] не было ни слова. %-)


kami   (2006-10-09 21:24:00) [3]

Ketmar ©   (09.10.06 21:21) [3]
добрались до вм-твари

Не вижу ничего тварного в этом. Мой радиус кривизны рук не подлежит измерению, а на своей машине ловить AV и GPF как-то неохота.


Ketmar   (2006-10-09 21:21:00) [4]

о. добрались до вм-твари. "сколько нам открытий чудных..." (ц)


kami   (2006-10-09 20:50:00) [5]

Leonid Troyanovsky ©   (09.10.06 20:28) [1]
всухую трудно рассуждать


Привожу.

procedure TForm1.Timer1Timer(Sender: TObject);
var
 Inputs:array[0..1] of tagInput;
 // с дин. массивами не хочет отрабатывать,
 // хотя возвращает желаемое кол. посланных клавиш
begin
 //Timer1.Enabled:=False;
 FillChar(Inputs[0], SizeOf(tagInput)*2, #0);

 Inputs[0].Itype:=INPUT_KEYBOARD;
 Inputs[0].ki.wVk:=VK_RETURN;

 Inputs[1].Itype:=INPUT_KEYBOARD;
 Inputs[1].ki.wVk:=VK_RETURN;
 Inputs[1].ki.dwFlags:=KEYEVENTF_KEYUP;

 Caption:='Sended '+IntToStr(SendInput(2, Inputs[0], SizeOf(tagInput)))+' keyevents';
end;


Запускаем WordPad, запускаем этот код и активируем WordPad. На "реальных" машинах происходит через раз, зато на VMWare работать дальше невозможно пока не закроешь WordPad.


Leonid Troyanovsky   (2006-10-09 20:28:00) [6]


> kami ©   (09.10.06 20:13)  
> При "нажатии" любой клавиши через SendInput WordPad начинает
> грузить процессор на


Ну, ты б хоть привел бы преступный код,
бо, всухую трудно рассуждать.

--
Regards, LVT.


Наверх

Титульная страница Поиск, карта сайта Написать письмо