управление программой с помощью кнопки

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

izmmisha писал(а):батник как и любая программа может вернуть код завершения, если не возвращать самим батником явно через exit, результатом будет код завершения последней выполняемой команды. Вот пример батника:
Вот не в курсе я был, что для батников существует аналог exit(). Буду знать.
P.S. одноразовая прога что ли? один раз нажал на кнопку (что подключена к LPT порту), она выполнит действия и завершится?
А в чем проблема? Можно как угодно переделать. Но изначально не было сказано, как должно быть, я и сделал так. Как задачу поставили - так ее и выполнили. :))
И еще, помню как то венда отмочила, вывела сообщение что не нашла мышку и клаву и предложила нажать кнопку ОК. Не повторяйте ошибок мелкософта, все сообщения программ такого рода должны записывать в лог файл.
Вот вы будете смехуяться, но я как раз сначала выводил в лог (в одной из донорских программ как раз была такая заготовка), но потом ради удобства отладки готовой проги сделал по-другому. Опять же можно переделать. Короче простор для творчества - компилятор в руки, господа! :))
Знание - сила!
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 403
Зарегистрирован: Вс окт 12, 2008 00:19:25
Откуда: Подольск, Мос. Область

Сообщение larik »

а можно чтобы прога не вырубалась а то использование кнопки многоразовое
P/s опробовал,все заработало :)
Реклама
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

larik писал(а):а можно чтобы прога не вырубалась а то использование кнопки многоразовое
P/s опробовал,все заработало :)
Т.е. чтобы после загрузки снова шло на проверку кнопок? С какой-то задержкой, или прямо сразу?

Как у вас с месседжами - оставить их так, или лучше вести лог?
Знание - сила!
Мучитель микросхем
Аватара пользователя
Сообщения: 403
Зарегистрирован: Вс окт 12, 2008 00:19:25
Откуда: Подольск, Мос. Область

Сообщение larik »

ну да то есть нажал ну может интервал 1 сек (примерно) и дальше запускалась или вобше не выключалась
месаджи да впрочем всеравно можно и в лог чтоб не мешали работе
P/S задумка такова - комп ставится в машину и на него пишутся камеры а вечером например ставится флешка и туда ПО ЗАПРОСУ (по кнопке) пишется записанная инфа, а нащет светодиода было так - что типо вставил флешку нажал кнопку загорелся красный, пока пишется инфа он светится кода инфа записалась он либо погас либо загорелся зеленый
Реклама
Эиком - электронные компоненты и радиодетали
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

larik писал(а):ну да то есть нажал ну может интервал 1 сек (примерно) и дальше запускалась или вобше не выключалась
Я имел в виду интервал между нажатиями - нужен или нет? Или пусть юзер щелкает как хочет часто?
P/S задумка такова - комп ставится в машину и на него пишутся камеры а вечером например ставится флешка и туда ПО ЗАПРОСУ (по кнопке) пишется записанная инфа, а нащет светодиода было так - что типо вставил флешку нажал кнопку загорелся красный, пока пишется инфа он светится кода инфа записалась он либо погас либо загорелся зеленый
Ну ваще...... А просто по миганию флэшки не определить, когда записалось? Да и потом - ее ведь все равно надо отмонтировать..... Или не надо?

Надо еще прикинуть, как проверять конец работы батника. Какие идеи есть у господ программистов?
Знание - сила!
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 403
Зарегистрирован: Вс окт 12, 2008 00:19:25
Откуда: Подольск, Мос. Область

Сообщение larik »

Пухич писал(а):
Я имел в виду интервал между нажатиями - нужен или нет? Или пусть юзер щелкает как хочет часто?
да, меньше заморочек


Ну ваще...... А просто по миганию флэшки не определить, когда записалось? Да и потом - ее ведь все равно надо отмонтировать..... Или не надо?
тупой юзверь не знает что такое мигание флешки :)) , а если флеха без диодика, мне и такие попадались, отмонтировать ненадо вставил и началась заливка
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Пухич писал(а):Надо еще прикинуть, как проверять конец работы батника. Какие идеи есть у господ программистов?
да идей куча... например, перед запуском батника делать его копию, и запускать именно копию, а потом пытаться удалить запущенный файл. когда удалится без ошибок - значит, отработал :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

ARV писал(а):да идей куча... например, перед запуском батника делать его копию, и запускать именно копию, а потом пытаться удалить запущенный файл. когда удалится без ошибок - значит, отработал
Это идея. Правда как-то наворочено.... Жалко нельзя сделать ожидание завершения процесса. Или как-то можно? Никто не в курсе, есть в винде аналог линуксового waitpid()? Неохота виндовое IPC вспоминать, да и как его в батник запихнешь......
Знание - сила!
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки

Сообщение Секретный кот »

Господа,
зачем все эти DOS-прибамбасы, батники и вообще прошлый век? Для автоматизации запуска и закрытия программ существуют специальные windows-программы, например AutoIt. Она в лучшем виде способна дожидаться загрузки/закрытия указанных программ (любых!), после чего предпринимать заданные действия.
Для решения оригинальной задачи достаточно только написать на чём угодно маленький обработчик кнопки, и по нему вызывать скрипт из AutoIt. Который кстати можно скомпилить в exe, чтобы он работал на любом компе без предустановки.
Может быть посмотреть в эту сторону?
Даже остановленные часы два раза в сутки показывают правильное время.
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Пухич писал(а):Это идея. Правда как-то наворочено.... Жалко нельзя сделать ожидание завершения процесса. Или как-то можно? Никто не в курсе, есть в винде аналог линуксового waitpid()? Неохота виндовое IPC вспоминать, да и как его в батник запихнешь......
все в винде есть. но ежели вы пишите батник под консоль - этакое убожество в век GUI - зачем вам лезть в глубины WinAPI? самое простое решение предложил я - вообще ни о чем заботиться не надо :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

Секретный кот писал(а):Господа,
зачем все эти DOS-прибамбасы, батники и вообще прошлый век?
Батники - это не прошлый век.
Для автоматизации запуска и закрытия программ существуют специальные windows-программы, например AutoIt. Она в лучшем виде способна дожидаться загрузки/закрытия указанных программ (любых!), после чего предпринимать заданные действия.
Для решения оригинальной задачи достаточно только написать на чём угодно маленький обработчик кнопки, и по нему вызывать скрипт из AutoIt. Который кстати можно скомпилить в exe, чтобы он работал на любом компе без предустановки.
Может быть посмотреть в эту сторону?
Ну вот не в курсе я про такие программы.
ARV писал(а):все в винде есть.
Ага, и я уже нашел.
но ежели вы пишите батник под консоль - этакое убожество в век GUI - зачем вам лезть в глубины WinAPI? самое простое решение предложил я - вообще ни о чем заботиться не надо
Лично я батник не пишу, я программу пишу. ГУИ тут как зайцу стоп-сигнал - программа кагбэ демон.
Знание - сила!
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

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

А чтоб настройки делать, да все такое - сильно долго и много надо писать, тут одним энтузиазмом сыт не будешь. А исполняемый файл указывается параметром командной стоки. Все в ярлычок пихается и только в путь.

Вот кстати прогу переделал. Теперь она все пишет в лог "fluffy.log", вываливается при отсутствии исполняемого файла и драйвера, при невозможности исполнить приложение просто идет на новый круг (записав в лог месседж). Светик загорается, если приложение запустилось, и горит до тех пор, пока не дождемся завершения работы приложения (например батник, вернее исполняющий его коммандер, завершается только после полного копирования). Когда оно завершилось, идем на новый круг. И так до бесконечности.
Вложения
8.rar
(210.75 КБ) 224 скачивания
Знание - сила!
Мучитель микросхем
Аватара пользователя
Сообщения: 403
Зарегистрирован: Вс окт 12, 2008 00:19:25
Откуда: Подольск, Мос. Область

Сообщение larik »

во гуд, то что и требовалось =) как доделаю выложу фотки компа с кнопкой
Встал на лапы
Сообщения: 87
Зарегистрирован: Ср авг 26, 2009 15:59:39

Сообщение izmmisha »

Небольшое отступление, а как распространяются вирусы на флешках?

По моему есть такая штука как автозапуск, втыкаем флешку, запускается скрипт с флешки.

А так же есть куча других способов обойтись без кнопки. Тот же демон, он ожидает появления съемных дисков в системе, потом допустим проверяет, что это именно тот диск (наличие определенного файла к примеру), ну и выполняет копирование данных.
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

izmmisha писал(а): По моему есть такая штука как автозапуск, втыкаем флешку, запускается скрипт с флешки.
АБСОЛЮТНО ВЕРНО! И я так делал. Но аффтар попросил о другом..... Да мне и несложно.
А так же есть куча других способов обойтись без кнопки. Тот же демон, он ожидает появления съемных дисков в системе, потом допустим проверяет, что это именно тот диск (наличие определенного файла к примеру), ну и выполняет копирование данных.
Ну вот.... Теперь еще я должен вспомнить/разобраться, как получить список дисков......... Конечно можно тупо пытаться открыть сигнальный файл по известному пути (полагая что флешка всегда с одной и той же буквой будет), и при возможности этого начинать запись. Но это будет уже другая прога, как верно заметил ARV. :)
Знание - сила!
Встал на лапы
Сообщения: 87
Зарегистрирован: Ср авг 26, 2009 15:59:39

Сообщение izmmisha »

Наверное стоит узнать мнение автора, что он хочет.

Ну а по программному детектированию втыкания флешки могу подсказать функцию RegisterDeviceNotification. Ну а так же есть пример по отмонтированию флешки.

Ну и чтобы увязать тему с электроникой, можно сделать информационный экранчик на МК который бы управлялся с компьютера. На нем можно было бы выводить информацию (например оставшееся место на диске). Ну и несколько кнопок для управления.
Модератор
Аватара пользователя
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

izmmisha писал(а):Наверное стоит узнать мнение автора, что он хочет.
Он вроде четко сообщил впоследствии.
Ну а по программному детектированию втыкания флешки могу подсказать функцию RegisterDeviceNotification. Ну а так же есть пример по отмонтированию флешки.
Ага, спасибо.
Ну и чтобы увязать тему с электроникой, можно сделать информационный экранчик на МК который бы управлялся с компьютера. На нем можно было бы выводить информацию (например оставшееся место на диске). Ну и несколько кнопок для управления.
Ну это уж совсем.... :)
Знание - сила!
Мучитель микросхем
Аватара пользователя
Сообщения: 403
Зарегистрирован: Вс окт 12, 2008 00:19:25
Откуда: Подольск, Мос. Область

Сообщение larik »

была идея но отказался от авторанов.... нужно было только ПО ЖЕЛАНИЮ пользователя записывать файлы...тем более на флешке должен уже быть этот самый авторан, а если его нету флешку тока что из магаза принесли и вставили?
Мучитель микросхем
Аватара пользователя
Сообщения: 403
Зарегистрирован: Вс окт 12, 2008 00:19:25
Откуда: Подольск, Мос. Область

Сообщение larik »

izmmisha писал(а):
Ну и чтобы увязать тему с электроникой, можно сделать информационный экранчик на МК который бы управлялся с компьютера. На нем можно было бы выводить информацию (например оставшееся место на диске). Ну и несколько кнопок для управления.
уже сделанно :)) выводится температура время и тд с помошью проги LCD Smartie
Ответить

Вернуться в «Интеграция с ПК»