Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Clancher
1

Передача нажатий клавиш из Excel в другое приложение.

25.03.2011, 22:54. Показов 2519. Ответов 1
Метки нет (Все метки)

Попрошу не пинать сразу ногами, если не в тот раздел запостил. И так имеется следующая задача: из эксэлевской таблички нужное количество раз вставлять в окно другого приложения (одной игрушки) текстовые строки. Сразу скажу у меня получилось сделать это для ворда и для одной програмки осуществляющий ввод новых позиций в базу данных. Суть проблеммы следующая - передать нажатия клавиш для активирования нужного поля в окне игры. Эмуляцию нажатия клавиш для других окон удается и все работает. Собственно задача тупо передать нажатие одной двух клавиш в окно игры, дальше я сам. Пример кода:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
'объявляем константы их много не пишу
Sub NWN_Cler_10()
Dim AppFile As String
Dim TaskID As Double
Dim a, i, k As Integer
Dim fr1, fr2, shname As String
Dim sch(100) As Integer
shname = ActiveSheet.Name
a = 0
'For i = 2 To 15
'a = a + 1
' sch(a) = Cells(i, 3).Value
'Next i
i = 0
a = 0
Cells(2, 2).Select
Selection.Copy
AppFile = "nwmain-169-hg2.exe"
On Error Resume Next
AppActivate "Neverwinter Nights"
If Err <> 0 Then
Err = 0
TaskID = Shell(AppFile, 1)
If Err <> 0 Then MsgBox "error"
End If
Application.Wait (Now + TimeValue("0:00:05"))
Call keybd_event(VK_CONTROL, 0, 0, 0)
Call keybd_event(&H56, 0, 0, 0)
Call keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0)
Call keybd_event(&H56, 0, KEYEVENTF_KEYUP, 0)
'ну и так далее части по записи данных в буфер обмена и последующему повторному открытию окна экселя данных опустил чтобы не загромождать сообщение.
Извиняюсь если спросил очевидную вещь, просто пишу обычно в основном "внутри эксэля" и мало обращаюсь к объектам винды. Заранее огромное спасибо ответившим.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2011, 22:54
Ответы с готовыми решениями:

Глобальный перехват нажатий клавиш
Как сделать перехват клавиш вне своей программы?

Эмуляция нажатия комбинации клавиш + передача строки в другое приложение.
Жажду получить совет, по реализации такого механизма: при нажатии определенной клавиши в...

Отправка нажатия клавиш в другое приложение
Нужно чтобы когда человек нажимал на кнопку, в другом приложении , допустим в игре Rust ,...

Передача информации в другое приложение и выполнение в нем действий!!!
Предположим есть сторонние приложение, в котором есть поле ввода текста и кнопки подтверждения...

1
Clancher
26.04.2011, 10:42 2
Отпишу решение мало ли кому пригодится - нужно было полностью отключить уак в висте и все заработало.
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2011, 10:42

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Обработка нажатий клавиш
подскажите как обрабатывать нажатия клавиш символов (цифры, буквы) в WinApi C++, служебные клавиши...

Эмулирование нажатий клавиш
Вводная: С++ builder 6. Программа А та что пишу я. Программа Б не моя. Вопросы: 1)Как...

Счетчик нажатий клавиш
Здравствуйте! Тема моего курсового проекта - разработка цифрового таймера. На просторах инета нашел...

Перехват нажатий клавиш
Добрый вечер! Подскажите пожалуйста, как в консольном приложении перехватить нажатие клавиш на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.