Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сэмулировать команду вставить через контекстное меню / 24 сообщений из 24, страница 1 из 1
17.02.2012, 01:14
    #37666354
Namik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
Доброго Вам времени суток
Уважаемые господа

при наличии времени прошу Вас помочь

есть программа в которой запрещено вставлять запятую, т.е. <Ctrl + V> не работает (в своё время это было необходимо)
а теперь запятая понадобилась,

так вот, как я уже говорил Ctrl + V не работает а вот нажатие правой кнопки мыши и команда вставить работает.

как написать код который вставлял бы данные из буфера обмена не путем Ctrl + V а эмулировал бы нажатие правой кнопки мыши и команду вставить (вставлял бы запятую)

представляю себе это так
программка садится в трей
и при нажатии на функциональную клавишу например F6 эмулируется нужное мне событие

простите если не смог четко объяснить свою мысль

С Уважением
Намик
...
Рейтинг: 0 / 0
17.02.2012, 01:15
    #37666357
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
а Shift+Insert не работает случайно?
...
Рейтинг: 0 / 0
17.02.2012, 01:26
    #37666369
Namik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
Дай Вам Бог всего Shocker.Pro

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
17.02.2012, 01:42
    #37666390
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
Спасибо, Намик, всегда рад Вашим благодарностям.
...
Рейтинг: 0 / 0
17.02.2012, 02:27
    #37666415
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
Shocker.ProСпасибо, Намик, всегда рад Вашим благодарностям.А ВСЕГО я тебе все равно не дам.
...
Рейтинг: 0 / 0
17.02.2012, 02:55
    #37666420
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
White OwlShocker.ProСпасибо, Намик, всегда рад Вашим благодарностям.А ВСЕГО я тебе все равно не дам.А я в тебя не верю )
...
Рейтинг: 0 / 0
17.02.2012, 17:53
    #37667701
Namik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
Доброго Вам времени суток
Уважаемые господа

при наличии времени прошу Вас подсказать

Код: vbnet
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.
Private Declare Function Getasynckeystate Lib "user32" Alias "GetAsyncKeyState" (ByVal VKEY As Long) As Integer
Private Const VK_CAPITAL = &H14

Private Sub Form_Load()
Me.Visible = False
MsgBox "Program yuklendi", vbSystemModal
End Sub

Private Sub Timer1_Timer()
On Error GoTo errbf
Clipboard.Clear
Clipboard.SetText ",", vbCFText
keystate = Getasynckeystate(vbKeyF6)
If (keystate And &H1) = &H1 Then
SendKeys "+{Insert}"
End If

keystate = Getasynckeystate(vbKeyF7)
If (keystate And &H1) = &H1 Then
MsgBox "Sagol", vbSystemModal
Unload Me
End If

errbf:
If Err.Number = 521 Then
Resume
End If

End Sub



этот код полностью реализует проблему
вопрос мой заключается в следующем

можно ли изменить vbKeyF6 на vbKey кнопки Keyasci которой = 44
я посмотрел значение vbKey 44 это vbKeySNAPSHOT
однако vbKeySNAPSHOT это кнопка PrintScreen а не запятой

искал значение vbKeyЗапятой но не нашел

С Уважением
Намик
...
Рейтинг: 0 / 0
17.02.2012, 18:56
    #37667793
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
Namik,

если не ошибаюсь, vbKey запятой это 188, или &HBC
...
Рейтинг: 0 / 0
17.02.2012, 19:04
    #37667802
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
Namik, код кнопки и ASCII-код символа - это совсем не одно и то же
...
Рейтинг: 0 / 0
17.02.2012, 19:19
    #37667829
Namik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
mds_world Благодарю Вас за ответ
я проверял значение кнопки
вот этим кодом

Код: vbnet
1.
2.
3.
Private Sub Text1_KeyPress(KeyAscii As Integer)
MsgBox KeyAscii
End Sub



и он выдал 44

Shocker.Pro

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

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
17.02.2012, 19:29
    #37667841
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
Namikесли я правильно понял не у всех кнопок есть свой коду всех
Namikа не подскажите как перехватывать кнопки с ASCII значениямиопять неправильная постановка вопроса. ASCII-код - это код печатного или непечатного СИМВОЛА. Буквы, цифры. Он разный для Q и Й, хотя расположены они на одной кнопке клавиатуры.

KeyCode - это именно код КЛАВИШИ на клавиатуре. Клавиша - это необязательно какой-то символ - это может быть стрелка, F1, End и т.п.

Код: vbnet
1.
2.
3.
Private Sub Command1_KeyDown(KeyCode As Integer, Shift As Integer)
  MsgBox KeyCode
End Sub
...
Рейтинг: 0 / 0
17.02.2012, 20:20
    #37667913
Namik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
Shocker.Pro я получил номер 188 нажимая на клавишу "," используя приведенный Вами код,
я поискал (если правильно понимаю) его константу в таблице "Key Code Constants" но не нашел её

разъясните пожалуйста этот момент

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
17.02.2012, 20:28
    #37667919
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
действительно, нет ее в VBRUN.KeyCodeConstants
ну забыли значит
...
Рейтинг: 0 / 0
17.02.2012, 20:29
    #37667920
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
То, что ее нет в енумераторе, не означает, что у нее нет кода в принципе
...
Рейтинг: 0 / 0
17.02.2012, 20:31
    #37667921
Namik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
))))))))) Супер )))))))))))))))

ну будем нажимать F6

Благодарю Вас
...
Рейтинг: 0 / 0
17.02.2012, 20:32
    #37667923
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
Namikну будем нажимать F6так зачем? у нее же есть код, никто не мешает с ним сравнивать непосредственно
...
Рейтинг: 0 / 0
17.02.2012, 20:35
    #37667927
Namik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
где посоветуете искать ?
...
Рейтинг: 0 / 0
17.02.2012, 21:33
    #37667987
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
что искать?
...
Рейтинг: 0 / 0
17.02.2012, 21:48
    #37667998
Namik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
пример в котором можно было бы понять, как изменить мой код чтобы он понимал не константу а 188

С Уважением
Намик
...
Рейтинг: 0 / 0
17.02.2012, 22:19
    #37668014
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
ну вы, блин даете
Код: vbnet
1.
keystate = Getasynckeystate(188)
...
Рейтинг: 0 / 0
17.02.2012, 22:38
    #37668026
Namik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
Shocker.Pro
ну не сообразил, искал примеры и нигде не видел чтобы была просто цифра
везде либо vbKey либо еще что то, и вот зациклился на этом и никуда

приезжайте как нибудь в Баку шашлык и выпить гарантируем )

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
17.02.2012, 22:42
    #37668028
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
Ну надо ж понимать, что такое переменная или константа в принципе... это же основы....
...
Рейтинг: 0 / 0
20.02.2012, 12:07
    #37670082
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
Namik, в конце концов можно самому написать в модуле
Код: vbnet
1.
Public Const vbKeyComma = 188


а потом использовать в нужном месте
Код: vbnet
1.
keystate = GetAsyncKeyState(vbKeyComma)


И будет и константа, и с нужным значением

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20.02.2012, 12:33
    #37670128
Namik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сэмулировать команду вставить через контекстное меню
Благодарю Вас Игорь, буду знать

я все сделал
вот конечный код

Код: vbnet
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.
Private Declare Function Getasynckeystate Lib "user32" Alias "GetAsyncKeyState" (ByVal VKEY As Long) As Integer
Private Const VK_CAPITAL = &H14

Private Sub Form_Load()
Me.Visible = False
MsgBox "Program yuklendi", vbSystemModal
End Sub

Private Sub Timer1_Timer()
On Error GoTo errbf
Clipboard.Clear
Clipboard.SetText ",", vbCFText
keystate = Getasynckeystate(188)
If (keystate And &H1) = &H1 Then
SendKeys "+{Insert}"
End If

keystate = Getasynckeystate(vbKeyF7)
If (keystate And &H1) = &H1 Then
MsgBox "Sagol", vbSystemModal
Unload Me
End If

errbf:
If Err.Number = 521 Then
Resume
End If

End Sub



С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сэмулировать команду вставить через контекстное меню / 24 сообщений из 24, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]