Эмуляция ctrl+F5

webbaster

Client
Регистрация
19.07.2013
Сообщения
125
Благодарностей
10
Баллы
18
Доброго времени суток!
Есть ли в программе функция эмуляции ctrl+F5 ?
Спасибо.
 

shade

Client
Регистрация
19.11.2010
Сообщения
580
Благодарностей
346
Баллы
63
  • Спасибо
Реакции: webbaster

webbaster

Client
Регистрация
19.07.2013
Сообщения
125
Благодарностей
10
Баллы
18
Сейчас пытаюсь эмулировать нажатие кнопки esc
Делаю так
System.Windows.Forms.SendKeys.Send("{Esc}");
Ошибка такая:
Выполнение действия OwnCode SendKeys не может выполняться в рамках этого приложения, так как приложение не обрабатывает сообщения Windows. Измените приложение, так чтобы оно обрабатывало сообщения, или используйте метод SendKeys.SendWait.
Подскажите, что неправильно?

Спасибо.
 

shade

Client
Регистрация
19.11.2010
Сообщения
580
Благодарностей
346
Баллы
63
Сейчас пытаюсь эмулировать нажатие кнопки esc
Делаю так

Ошибка такая:


Подскажите, что неправильно?

Спасибо.
Ну попробуй так:
JavaScript:
System.Windows.Forms.SendKeys.SendWait("^{F5}");
или так
JavaScript:
Emulator.ActiveWindow(instance.FormTitle);
System.Windows.Forms.SendKeys.Send("^{F5}");
 

webbaster

Client
Регистрация
19.07.2013
Сообщения
125
Благодарностей
10
Баллы
18
Этот код
System.Windows.Forms.SendKeys.SendWait("{Esc}");
выполняется корректно, но popup окно не закрывает (это окно кнопкой esc должно закрываться.
А вот этот код
Emulator.ActiveWindow(instance.FormTitle);
System.Windows.Forms.SendKeys.Send("{Esc}");
Выдает такую ошибку
Выполнение действия OwnCode SendKeys не может выполняться в рамках этого приложения, так как приложение не обрабатывает сообщения Windows. Измените приложение, так чтобы оно обрабатывало сообщения, или используйте метод SendKeys.SendWait.
 

WhiteCoder

Client
Регистрация
01.04.2013
Сообщения
104
Благодарностей
69
Баллы
28
Ну попробуй так:
JavaScript:
System.Windows.Forms.SendKeys.SendWait("^{F5}");
или так
JavaScript:
Emulator.ActiveWindow(instance.FormTitle);
System.Windows.Forms.SendKeys.Send("^{F5}");
Данный трюк не прокатит, поскольку метод System.Windows.Forms.SendKeys работает лишь с окном самого приложения и не может отсылать кливиши другим окнам.

С# .NET работает в своей песочнице.

Можно создасть свои костыли при помощи DllImport и WinAPI чтобы отсылать клавиши стороннему приложению.

Код который выполняется в потоке не имеет своего окна, а работаешь лишь с инстансом, т.е. со сторонним окном, оттого данная функция не сработает.

В ZennoPoster API для этих целей предусмотрена своя функция Emulator.SendKey

Приведенный ниже код должен сработать:
Код:
Emulator.SendKey(instance.ActiveTab.Handle, System.Windows.Forms.Keys.Escape, KeyboardEvent.Down);
Emulator.SendKey(instance.ActiveTab.Handle, System.Windows.Forms.Keys.Escape, KeyboardEvent.Up);
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 115
Баллы
113
WhiteCoder, подскажите пож-ста, как мне модифицировать

Код:
Emulator.SendKey(instance.ActiveTab.Handle, System.Windows.Forms.Keys.Escape, KeyboardEvent.Down); 
Emulator.SendKey(instance.ActiveTab.Handle, System.Windows.Forms.Keys.Escape, KeyboardEvent.Up);
чтобы эмулировать нажатие Ctrl+Enter
 

WhiteCoder

Client
Регистрация
01.04.2013
Сообщения
104
Благодарностей
69
Баллы
28
WhiteCoder, подскажите пож-ста, как мне модифицировать

Код:
Emulator.SendKey(instance.ActiveTab.Handle, System.Windows.Forms.Keys.Escape, KeyboardEvent.Down); 
Emulator.SendKey(instance.ActiveTab.Handle, System.Windows.Forms.Keys.Escape, KeyboardEvent.Up);
чтобы эмулировать нажатие Ctrl+Enter
К сожалению в ZennoPoster нет встроенной поддержки нажатия одновременно двух клавиш.
Недавно занимался проектом ВКОНТАКТЕ, где нужно было нажимать CTRL+V , в итоге встроенного решения не нашел и все сделал при помощи анализа скриптов.
В вашем случае тоже наверняка можно задачу решить при помощи JavaScript, посмотреть нужно детальнее.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 115
Баллы
113
WhiteCoder, буду признателен за пример решения подобной задачи, посредством JS, либо ссылку..
 

WhiteCoder

Client
Регистрация
01.04.2013
Сообщения
104
Благодарностей
69
Баллы
28
WhiteCoder, буду признателен за пример решения подобной задачи, посредством JS, либо ссылку..
Нужно смотреть конкретно на вашем сайте как он обрабатывает эти нажатия, и исходя из этого можно составить решение.
 
  • Спасибо
Реакции: Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 115
Баллы
113

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83
WhiteCoder
можешь выложить пример для вк CTRL+V
тоже нужно)
спасибо
 

zoom

Client
Регистрация
06.09.2012
Сообщения
50
Благодарностей
6
Баллы
8
Тоже интересно, как вставку с буфера обмена эмулировать, комбинацию ctrl+v никак не удается получить
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
Зачем вам это? А если многопоток? А если левое что скопируется? Данные нужно получать точными методами.
 

TazMan

Client
Регистрация
05.01.2017
Сообщения
236
Благодарностей
37
Баллы
28
Добрый День ! а есть вариант shift + стрелка влево ? на C# или ещё как
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)