IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Вызов программ из Visual Studio (http://www.imho.ws/showthread.php?t=115640)

zotem 24.02.2007 02:12

Вызов программ из Visual Studio
 
Подскажите, можно ли из Visual Studio или Visual C++ вызывать стандартные программы и передавать им сигнал нажатия клавиши?
Есть цифровой фотоаппарат, подключенный к компьютеру и стандартная к нему программа, при запуске которой он может делать снимок при нажатии F8. А нужно написать программу, которая будет управлять съемкой...

PinGUIWin 24.02.2007 02:39

А причем тут Visual Studio?:confused:
Нужно написать программу, которая будет посылать WM_CHAR или подобное, с параметром клавиши.
Или я не понял поставленной задачи?:(

zotem 24.02.2007 02:51

загвостка в том и состоит, как какому-то там ехешнику передать код клавиши:hmm2:

PinGUIWin 24.02.2007 03:10

Цитата:

Сообщение от zotem (Сообщение 1363153)
как какому-то там ехешнику

Найти по имени его окно и получить handle, и далее слать сообщения.
Для нахождения окошка поможет утилита Spy++ (ставится вместе со студией, искать в bin'е).

pnp2000 24.02.2007 11:07

А зачем вобще программа ??? Может обойтись простым макросником , или есть особенности

zotem 24.02.2007 17:30

2 PinGUIWin, что ж надо будет попробовать
2 pnp2000, дело в том что фотки надо делать в каком-то не понятном порядке. та прорамма еще должна управлять шаговым двигателем(поварачивать подложку с исследуемым материалом, и вращать объетив для фокусирования), и вот в некоторые интересные моменты делать снимки с помощью того фотоаппарата. так что макросы не подойдут.

pnp2000 24.02.2007 20:20

как всё сурьёзно :)
Тогда да , тут надо писать программу

yan_kos 27.02.2007 15:00

По ходу все такие программы (про ту что управляет фотиком) работают через драйвер. Может попробовать написать свою программку которая б работала с камерой напрямую через драйвер.
Правда для этого нуно хедеры к драйверу и описание к ф-ям драйвера.

Nerey_ser 28.02.2007 21:22

yan_kos, а ты уверен, что это проще?!

В ВБ можно, если попростому, AppActivate (активация окна) и SendKeys (посылка сочетания активному окну). Как понимаешь, активация может мешать. Посему, в идеале, лучше юзать SendMessage, но это сложнее и всеселее :)

zotem 01.03.2007 20:51

что ж, с моим небольшим опытом программирования смотреть на ваши посты даже страшновато. спасибо за советы. попробую разобраться.:p

yan_kos 02.03.2007 20:47

2 Nerey_ser я не говорил что єто проще но єто идеальный вариант :)
На счет то что SendMessage веселей, согласен веселей но не надежно ;)

2 zotem пробуй с SendMessage"ом раз ты с ...небольшим опытом.... но нуно будь осторожным и полезными будут ф-и
1. HWND GetDesktopWindow(VOID);
2. HWND GetNextWindow(HWND,UINT);
3. int GetWindowText(HWND,LPTSTR,int);

Nerey_ser 03.03.2007 21:12

yan_kos, так делается же приложение не на продажу, а на собственное пользование! Когда пользуешься сам, количество ошибок резко падает :biggrin:

yan_kos 04.03.2007 13:10

Это уже оффтоп но все же.
2 Nerey_ser да но стабильность от этого не улучшается да и не интересно ли для себя с драйверами по "игратся"...

Nerey_ser 04.03.2007 22:09

А тема всё равно закрыта :)
[оффтоп]
Знал бы - может, и писал бы :) Есть возможность на VB?
[/оффтоп]
Пожалуйста, не баньте!


Часовой пояс GMT +4, время: 06:20.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.