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

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

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

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

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

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

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

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

С Уважением и Благодарностью
Намик
...
Рейтинг: 0 / 0
Сэмулировать команду вставить через контекстное меню
    #37666390
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, Намик, всегда рад Вашим благодарностям.
...
Рейтинг: 0 / 0
Сэмулировать команду вставить через контекстное меню
    #37666415
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProСпасибо, Намик, всегда рад Вашим благодарностям.А ВСЕГО я тебе все равно не дам.
...
Рейтинг: 0 / 0
Сэмулировать команду вставить через контекстное меню
    #37666420
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlShocker.ProСпасибо, Намик, всегда рад Вашим благодарностям.А ВСЕГО я тебе все равно не дам.А я в тебя не верю )
...
Рейтинг: 0 / 0
Сэмулировать команду вставить через контекстное меню
    #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
Сэмулировать команду вставить через контекстное меню
    #37667793
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Namik,

если не ошибаюсь, vbKey запятой это 188, или &HBC
...
Рейтинг: 0 / 0
Сэмулировать команду вставить через контекстное меню
    #37667802
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Namik, код кнопки и ASCII-код символа - это совсем не одно и то же
...
Рейтинг: 0 / 0
Сэмулировать команду вставить через контекстное меню
    #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
Сэмулировать команду вставить через контекстное меню
    #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
Сэмулировать команду вставить через контекстное меню
    #37667913
Namik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro я получил номер 188 нажимая на клавишу "," используя приведенный Вами код,
я поискал (если правильно понимаю) его константу в таблице "Key Code Constants" но не нашел её

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

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

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

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

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

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

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


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


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

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сэмулировать команду вставить через контекстное меню
    #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
24 сообщений из 24, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Сэмулировать команду вставить через контекстное меню
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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