Только после небольшого подтверждения действительно:
В XP SP3 реализован механизм изоляции привилегий пользовательского интерфейса (UIPI), обнаруженный в Vista?
Назад история для человеческого интереса :)
Недавно я передал исходный код C ++ довольно большому приложению. К сожалению, единственный разработчик этого приложения, с момента его создания в середине 90-х, недавно скончался, оставив нас в довольно трудном положении, пока мы не сможем нанять нового разработчика.
В последнее время пользователи сообщают, что приложение случайно перестало работать и / или некоторые ранее работавшие функции, похоже, вообще не работают «хотя ничего не изменило мой конец!». «Ничего не изменилось» оказалось SP3:)
Зная об этом, и хотя я не парень на C / C ++, я подумал, что взгляну на источник, чтобы узнать, смогу ли я что-нибудь выяснить (потратив много времени на изучение брандмауэров, вирусов). сканеры и другие внешние факторы).
Я проследил одну ошибку до вызова функции Api SendMessage и пошел посмотреть документы MSDN. В нем четко указано «Microsoft Windows Vista и более поздние версии. Отправка сообщений подлежит изоляции привилегий пользовательского интерфейса (UIPI). Поток процесса может отправлять сообщения только в очереди сообщений потоков в процессах с меньшим или равным уровнем целостности». Хотя я не уверен на 100%, это, вероятно, является вероятной причиной.
Ура!
Ленни.