Из вашего описания это звучит так, как будто вы пытаетесь запустить другой процесс в режиме с повышенными правами. Если это то, что вы пытаетесь сделать, вы не можете установить его в окно переднего плана. На самом деле, неприподнятые процессы не могут касаться возвышенных процессов каким-либо образом / формой / формой.
Созданный процесс должен отвечать за то, чтобы на самом деле сделать свое собственное окно приоритетным. Попробуйте поиграть со структурой STARTUPINFO
, которую вы передаете CreateProcessAsUser
, установив флаг STARTF_USESHOWWINDOW
и указав значение SW_SHOWNORMAL
. Если это не сработает, нет другого обходного пути, кроме как сначала поднять свою часть, например, создать компонент COM с повышенными правами.
Если это не то, что вы пытаетесь сделать, и вы просто хотите переместить окно дочернего процесса на передний план, тогда вам нужно перечислить окна, принадлежащие дочернему процессу , а затем вызвать SetForegroundWindow на одном из них.