программно нажать клавишу в DOS программе

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
moshkin
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 03.12.2002 (Вт) 15:01
Откуда: Russia

программно нажать клавишу в DOS программе

Сообщение moshkin » 13.05.2003 (Вт) 10:57

Я прошу прощения, что задаю вопрос, но пока никто не помог,
а проблему надо решать.
Есть DOS программа.
Я ее запускаю из под VB. После того, как программа запустилась, она хочет, чтоб нажали Enter. Как это сделать на VB?
Пробовал sendkeys "{Enter}" Но не получилось, в хелпе сказано, что эта функция
работает только с виндовс-программами.
Пробовал через API:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Call keybd_event(VK_RETURN, 0, 0, 0) 'Hажимаем Ctrl
Call keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0) 'Отпускаем Ctrl
Тоже пока не получилось.
Я что-то не так делаю или есть другой способ?
Спасибо.

Код привел не полный, кто может подскажите, пожалуйста. Очень надо.

malloc
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 10.02.2003 (Пн) 13:00
Откуда: Russia

Re: программно нажать клавишу в DOS программе

Сообщение malloc » 13.05.2003 (Вт) 13:55

moshkin писал(а):Я прошу прощения, что задаю вопрос, но пока никто не помог,
а проблему надо решать.
Есть DOS программа.
Я ее запускаю из под VB. После того, как программа запустилась, она хочет, чтоб нажали Enter. Как это сделать на VB?
[skip]

Код привел не полный, кто может подскажите, пожалуйста. Очень надо.


http://www.hiddensoft.com/AutoIt/
качаешь AutoIt ActiveX Control
работает и с dos-программами, все это выглядит примерно так

var x = new ActiveXObject("AutoItX.Control");
if (!x.IfWinExist("Имя_окна", ""))
{
// запустить прогу
}

x.WinActivate("Имя_окна", "");
x.Send("{ENTER}");

moshkin
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 03.12.2002 (Вт) 15:01
Откуда: Russia

Сообщение moshkin » 13.05.2003 (Вт) 14:42

Для malloc:
Сайт http://www.hiddensoft.com/
не отвечает.
Если не трудно - кинь по почте нужные файлы
moshkin@ostr.vsi.ru
Буду ждать. Спасибо.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 138

    TopList