Показать сообщение отдельно
Старый 24.01.2013, 12:40   #4
Varg Vikernes
AnyKey`щик
 
Регистрация: 03.03.2012
Сообщений: 15
Написано 0 полезных сообщений
(для 0 пользователей)
Лампочка Ответ: Разница между запуском из студии и виндой. Потеря функционала.

вот это происходит при запуске вручную моей программы (не из студии) при неудачном выводе окна наверх(когда окно по каким-то причинам не выводится):

SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, &dwTimeout, 0); //true
SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, 0, 0);//false

SetForegroundWindow(hWnd);//false

SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, (LPVOID)dwTimeout, 0);//false
Как видим, функции возвращают false. они ведут себя странно - казалось бы, однотипные функции. Параметры получает, а устанавливать не хочет. В студии все идеально, ошибок нет, возвращаемые значения - true.
В чем же может быть причина?

MSDN говорит:
The calling thread must be able to change the foreground window, otherwise the call fails.
Но как мне узнать, способен ли поток изменить окно переднего плана?
(Offline)
 
Ответить с цитированием