Автор Тема: AT команди към Windows машина  (Прочетена 4071 пъти)

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: AT команди към Windows машина
« Отговор #15 -: Oct 28, 2015, 13:17 »
С 1 изречение: Защото ако основното приложение е постоянно стартирано (напр. за да чете постоянно информация от четците за това кой кога дошъл на работа и кога си тръгнал) и ако то е заело серийния интерфейс, никоя друга програма не може да го ползва този интерфейс и съответно нищо не може да прати по него.
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
Re: AT команди към Windows машина
« Отговор #16 -: Oct 28, 2015, 15:15 »
И с един допълнителен отговор - може да се прехване идентификатора на софтуера и да се прати посредством функцията SendMessage в API на прозореца съобщение да изпълни някой евънт за синхронизация.
Например, ако има бутон "синхронизирай" по този начин може да се изпрати съобщение, което да извиква OnClick най-общо казано :)
Няма гаранция дали може да се случат нещата, но дава такава възможност :)  [_]3 Въпреки, че това е малко хахорска работа :-P

SendMessage(hwndButton, BM_CLICK,0, 0)

Идентификаторите може да се намерят по много начини :) FindWindowEx() например...
« Последна редакция: Oct 28, 2015, 15:25 от runtime »
Активен

ieti

  • Напреднали
  • *****
  • Публикации: 92
  • Distribution: Arch, Debian
  • Window Manager: XFCE
    • Профил
Re: AT команди към Windows машина
« Отговор #17 -: Oct 28, 2015, 16:32 »
Начини за синхронизация много - преди време се наложи две приложения да си говорят и като най-лесен вариан използвахме нещо като пайпове - погледни в MSDN за CreateMailslot, GetMailslotInfo и тн. Taкa можеш да си направиш перфектна двупосочна комуникация. Всяко приложение чете своя мейлслот и пеше в чуждия. Реализира се лесно и за прости неща е перфектно.

Варианта на laskov с базата е идеален също. Клиентите инсъртват данни в таблица, а ти на определено време проверяваш има ли нещо постъпило там.
« Последна редакция: Oct 28, 2015, 16:39 от ieti »
Активен

BRADATA

  • Напреднали
  • *****
  • Публикации: 833
  • Distribution: Slackware/Mint/CentOS
  • Window Manager: console/KDE/LXDE
    • Профил
    • WWW
Re: AT команди към Windows машина
« Отговор #18 -: Oct 28, 2015, 17:18 »
А пък един мармот завива шоколада в станиол :)
Не, че нещо, ама половината от идеите включват притежание на сорса на виндовското приложение, което ако е така - премахва нуждата от гимнастики.

Да се върнем в началото - имаме виндовс и льоникс. Виндовса държи базата, льоникса пише в нея някакви неща. Задачата е като има ъпдейт на базата виндовса да каже на четците "илати да си вземити новити даннички". Как става това? Много просто - след ъпдейт на базата пхп-то се обръща по тцп/удп към някакъв порт на виндовса и му казава "давай". На тоз порт слуша некво програмче, което изпълнява АТ командата при поискване. Това е всичко :) Няма нужда от повече сложнотии.
Активен