Здравствуйте. Столкнулся с проблемой. Использоваю keybd_event для эмуляции клавиш. Когда прога работает под юзером то функция работает нормально. Но если сделать сервис (который работает под 'Local System'), то при диалоге выбора юзера эта функция почемуто неработает (при этом я уверен что она выполняется). Пробовал сделать с SendInput, но тоже самое. Подскажите пожалуйста кто знает хотя-бы причину почему эта функция несробатывает?
Local System наверное подразумевает запуск из сервиса? Если так, то у сервисов по умолчанию десктоп отличается от десктопа Default. Есть два пути - или открывать десктоп и устанавливать потоку данный десктоп, или в свойствах сервиса поставить флаг - INTERACTIVE (который по дефолту ставит юзерский десктоп сервису).
Да дело в этом. Я в Delphi поставил INTERACTIVE у класса TService. Когда юзер залоген, то все работает. А когда он делает LogOff то появляется диалог выбора юзера и вот тут почемуто эта функция и еше некоторые неработают. Я как я понимаю что когда неодин юзер незалоген то десктопа нету. А как тогда быть :| ?
Десктоп есть, но он винлогоновский. Если INTERACTIVE есть по умолчанию, но юзера нет - нужно открывать десктоп винлогона.