![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 11.03.2011
Сообщений: 1
|
![]()
Задача: управление компьютером через мобильный телефон.
Проект ServerSR реализован как служба, в XP все работает, тонкое место копирование экрана, код следующий: void Screen::InitActiveDesktop(void) { char inputName[1024]; char currentName[1024]; DWORD dwSizei = 0; DWORD dwSizet = 0; HWINSTA hws = OpenWindowStation(TEXT("WinSta0"), false, GENERIC_ALL); SetProcessWindowStation(hws); HDESK hThreadDesktop = GetThreadDesktop(GetCurrentThreadId ()); HDESK hInputDesktop = OpenInputDesktop(0, false, DESKTOP_CREATEMENU | DESKTOP_CREATEWINDOW | DESKTOP_ENUMERATE | DESKTOP_HOOKCONTROL | DESKTOP_WRITEOBJECTS | DESKTOP_READOBJECTS | DESKTOP_SWITCHDESKTOP | GENERIC_WRITE); if( (hThreadDesktop != NULL) && (hInputDesktop != NULL) ) { GetUserObjectInformation(hInputDesk top, UOI_NAME, inputName, 1023, &dwSizei); GetUserObjectInformation(hThreadDes ktop, UOI_NAME, currentName, 1023, &dwSizet); bool eq = (dwSizei == dwSizet); if(eq) for(DWORD i=0; i<dwSizei; i++) if(inputName[i] != currentName[i]) eq = false; if( !eq ) SetThreadDesktop(hInputDesktop); } CloseDesktop(hInputDesktop); CloseDesktop(hThreadDesktop); CloseWindowStation( hws ); } В windows 7 естественно не работает т.к. сессия 0 для служб без десктопа. Вопрос: 1. Можно ли перетащить службу в активную сессию т.е. та, что на экране и с клавиатурой и мышкой? 2. А если нет, видится решение разделить службу и оконную программу с интерфейсом, в которой и копировать экран. И при смене сессии или еще чего, просто перезапускать ее в активной сессии. В связи с этим второй вопрос такой, как запустить оконную программу из службы в активной сессии? И где-то можно толково почитать про связку службы и программы интерфейса, когда чего запускать. А то я сделал программку на Qt чтобы в трее пряталась, с менюшкой (из примеров) из службы запустил, если уже вошел все хорошо, а если в winlogon-е запустилась, входишь трея нет а программка работает. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Delphi на Windows7 | kotaina | Общие вопросы Delphi | 5 | 03.02.2011 15:48 |
windows7 taskbar | moo2k | Общие вопросы Delphi | 0 | 30.07.2010 13:59 |
Стиль Windows7 | Бутаков_Сергей | Общие вопросы Delphi | 6 | 04.04.2010 18:52 |
Справка Windows7 | VadEr | Windows | 3 | 14.10.2009 12:25 |
звуки windows7 | Gagar1n | Windows | 1 | 25.09.2009 18:41 |