powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как сделать окно активным в Windows 8?
1 сообщений из 1, страница 1 из 1
Как сделать окно активным в Windows 8?
    #38137694
Frame Relay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго всем времени суток.

Необходимо после запуска консольного приложения автоматически сделать его окно активным — дабы оное принимало клавиатурный ввод. Т.е. без предварительного выбора вышеуказанного окна.
Причём приложение запускается системным планировщиком задач.

Было найдено следующее решение:
Код: plaintext
\r\nvoid HandleInstanceMessage(HWND AppWnd)\r\n{\r\n  HWND H;\r\n  Cardinal CurID, ThrID;\r\n  bool R;\r\n  LPDWORD lpdwProcessId;\r\n\r\n  H = GetForegroundWindow();\r\n  ThrID = GetWindowThreadProcessId(H, lpdwProcessId);\r\n  CurID = GetCurrentThreadId();\r\n  R = AttachThreadInput(CurID, ThrID, true);\r\n  SetForegroundWindow(AppWnd);\r\n  if(R)\r\n   AttachThreadInput(CurID, ThrID, false);\r\n}\r\n
\r\n

На Windows 7 64-bit оно стабильно работало. Компилировалось MSVS 2010.

Но на Windows 8 RTM 64-bit это не работает — планировщик вызывает приложение, его окно появляется, приложение работает, но на передний план само не переходит.
Повторяю, это консольное приложение.

На восьмёрке скомпилировано MSVS 2012.

Внимание, вопрос — как сделать, чтобы приложение само себя делало активным (при автоматическом ) запуске — на Windows 8?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как сделать окно активным в Windows 8?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]