2009-12-09 2 views
5

Я хочу, чтобы кто-то дал рабочий пример SetWindowPos о том, как сделать окно «самым верхним» (быть на вершине и оставаться там), используя либо C/C++/C# , Заранее спасибо!C/C++/C# SetWindowPos: Окно поверх других

+2

Что не так с примером MSDN? – Naveen

+0

действительно, ответ у вас на носу :) – Pieter888

+0

Точный метод будет отличаться от C/C++ и C#, поэтому вам, вероятно, следует указать, какой из трех вы планируете использовать. –

ответ

4

C/C++:

// This doesn't size or move the window, just makes it top-most. 
SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); 
+0

Я не понимаю этого, как мне сказать, какое приложение должно быть сверху? – 2009-12-09 18:17:23

+1

Параметр hWnd указывает окно, которое должно быть перемещено в начало. –

1

C#

this.TopMost = true; 
+0

Я не знаю о C и C++, хотя ... – Pieter888

+0

Это не поможет для других окон, кроме формы приложения. – 2009-12-09 18:03:23

1

Я столкнулся с этим вопросом некоторое время назад, и задал вопрос here. Фактические данные моей проблемы, вероятно, были не такими же, как у вас, но на всякий случай я подведу свой вопрос и ответ.

Мне нужно было сохранить конкретное приложение (WPF) все время, когда оно было запущено, чтобы попытаться лишить доступ к другому программному обеспечению на машине. Я закончил работать с таймером каждые 1/4 секунды, что вызывает вызов метода user12.dll SetForegroundWindow(IntPtr hWnd) для захвата фокуса в приложении, а также установки TopMost = true в моем окне.

HTH

Смежные вопросы