Подпис на програма

16 отговора 0 прегледа
#1

Подпис на програма

Да попитам, може и да е тъпо но искам да го направя! Незнам как да направя така както при УСБ флашката примерно когато поставя външно устройство без да задавам активен сериен порт да се свързва дирекно с програмата.
Незнам дали съм ясен но искам нещо като вкарам УСБ флашка веднага да се извика драйвера за управление без да му задавам на кой порт да се свърже.
Насочете ме към нещо където мога да прочета или подобен пример.
Имам устройсто което искам като го включа само да се регистрира че е включено.
Ако някой реши да оплюва въпроса да е по Шамански.
И още един въпрос, искам когато натисна бутон от програмата да ми извежда едно самостоятелно .exe на десктопа без да го стартира.

Успехът се гради на знания и собствена религия!
Отговор
в отговор на Timo #2

Re: Подпис на програма

Нещо не вдявам:
1.Имаш устройство някакво и .....
2.Мато мушнеш УСБ флашката и ......

Дали вярно разсъждавам:
Имаш флашка и на нея някаква програма която искаш да се изпълни автоматично?

В такъв случай - AUTORUN.INF и нагласяш настройките на ВИН-а м тоя ауторун (тва дет е у него де) да се изпълнява атвоматично...

Колкото до 2 част - за ехе-то на десктопа:
Ръгаш си тва ЕХЕ в некоя папка при инсталването и като чукнеш бутона дет те кефи , си го копваш на телИвизора...

Доуточни и ще мислим по-дълбоко по темата.

Редактирано от БaтиГoгo на

Отговор
в отговор на БaтиГoгo #3

Re: Подпис на програма

Предположих че неможах да обясня.
Флашката беше като пример за работа.
Понеже правя едно устройство което работи с компютърна програма и искам да се свързва дирекно без да му задавам към кой порт да се чете.
А за .exe ще се намира вътре в програмата във вид на .res и при натискане ще излиза от програмата със променени параметри но трябва да не се стартирва.
WinExec('?????.exe',SW_SHOW); не ми върши работа но незнам какво да сложа нещо от рода на:
TResourceStream.Create(hInstance, '????', RT_RCDATA) ;
Казах че е глупава идея но искам да го направя!

Успехът се гради на знания и собствена религия!
Отговор
в отговор на Timo #4

Re: Подпис на програма

[линк]

[линк]

Нещо такова ли имаш предвид ?

По склона на връх Фудзи бавно пълзи охлюв.

Редактирано от ValM на

Отговор
в отговор на ValM #5

Re: Подпис на програма

Да, благодаря.
Прегледах го и нещо немога да го схвана за сега де.
Имам сорс на това което искам работещо но са го направили с .dll и незнам какво има там.

Успехът се гради на знания и собствена религия!
Отговор
в отговор на Timo #6

Re: Подпис на програма

Кофти въпрос
Имам в предвид Plug and Play Manager и дали някой го е правил в Делфи.

Успехът се гради на знания и собствена религия!
Отговор
в отговор на Timo #7

Обхождаш портовете и си го търсиш

В програмата си обхождаш портовете и си го търсиш. Няма друг начин, защото заемането на порт (пъхането на устройството) не предизвиква случка в OS и не се регистрира.

Отговор
в отговор на NikB #8

Re: Обхождаш портовете и си го търсиш

Имаш ли подобна функця да я разгледам, долу горе ми е ясно.

Успехът се гради на знания и собствена религия!
Отговор
в отговор на NikB #9

WM_DEVICECHANGE

Всъщност се предизвиква "случка". Изпраща се WM_DEVICECHANGE. Разгледай например това.

Linux isn't free, it's worthless.


Отговор
в отговор на andrew_nikoloff #10

Re: WM_DEVICECHANGE

Останах с впечатление, че въпросът е за сериен ComPort

Отговор
в отговор на NikB #11

Re: WM_DEVICECHANGE

Да за сериен ComPort е!
Не е ли едно и също?
А имам и питанка: Защо не ми чете при COM над 12? До COM12 всичко е наред.
Когато настроя(преименувам) ръчно COM13 на COM3 всичко е наред.

До колкото разбрах, пускам програмата и тя почва да обхожда портовете докато се получи събитие и тогава се идентифицира?

Успехът се гради на знания и собствена религия!
Отговор
в отговор на Timo #12

Re: WM_DEVICECHANGE

Ползвай "\\.\COM13" примерно за портовете над 12 вместо "COM13".

Обхождаш портовете и го "търсиш" докато се обади. Ако му знаеш скоростта. Ако не обхождаш всички портове, на всички скорости. А за да се обади, трябва да знаеш какво да го питаш.

По склона на връх Фудзи бавно пълзи охлюв.

Редактирано от ValM на

Отговор
в отговор на ValM #13

Re: WM_DEVICECHANGE

Ползвай "\\.\COM13" примерно за портовете над 12 вместо "COM13".
А защо така се плучава?

Гледам по руските форуми и при тях го има този проблем но решение не видях.
Това което съм направил е микрочип който праща температурата но искам ако го няма чипа програмата да не се стартирва и да излиза съобщение а когато се закачи да си тръгне на който и порт да се намира.
Нещо универсално дали ще е на УСБ или на КОМПОРТ да няма значение, програмата сама да си го разпознава.
В момента работи идеално но си иска настройките на ComPort-а.

Успехът се гради на знания и собствена религия!
Отговор
в отговор на Timo #14

Re: WM_DEVICECHANGE

Ами хубаво си направил. Само дето трябва да погадая малко. Ако устройството ти само праща пакети без да "слуша" ... не е добре направено. Все пак трябва да можеш да си комуникираш с него ( портовете са двупосочни :) ). Но и така да е - обхождаш портовете и "слушаш" на всеки порт известно време ( би трябвало да знаеш колко). Ако чуеш "15 градуса" примерно, там е .
Втория вариант е ако можеш да си комуникираш с него ( а би трябвало) - обхождаш портовете и го питаш "Тук ли си" - ако отговори "тук съм" - там е.

Това за COM порта. За USB - ползвай това дето е писал Андрей.

А що се отнася до синтаксиса на COM порта , \\.\ той по принцип си е такъв - важи за всички портове , не само за големите номера. За малките обаче може и без чертичките.

По склона на връх Фудзи бавно пълзи охлюв.
Отговор
в отговор на Timo #15

Re: WM_DEVICECHANGE

Ама наистина ли е на COM порт (физически такъв), или е виртуален COM през USB (например с ftdi чип)? Обърка хората с тия приказки за USB флашки :) Ако е на физически COM (в компютъра го включваш с оная голямата букса с 9 пина), нямаш много опции, защото както ти казаха, тези портове са с ограничена функционалност и няма стандартна нотификация за добавяне или премахване на устройство. А и почти не останаха компютри, които да имат такива портове.
Така че с две думи - не, не е едно и също.

Linux isn't free, it's worthless.


Отговор
в отговор на andrew_nikoloff #16

Re: WM_DEVICECHANGE

Офф, с тия флашки и аз се обърках. ;)
Сега разбрах къде бъркам, едното е физически а другия виртуален и се обърках когато рових в регистрите.
Определено ми светна как да стане.

Успехът се гради на знания и собствена религия!
Отговор
в отговор на ValM #17

Re: WM_DEVICECHANGE

Благодаря ти, много ми помогна. Чипа праща пакети но съм сложил и опция при запитване да се идентифицира и точно на него разчитах за да се хване с програмата.

Успехът се гради на знания и собствена религия!
Отговор