Запустите внешнее приложение максимально на панели задач (во весь экран) - PullRequest
2 голосов
/ 03 марта 2011

Как запустить внешнее приложение в полноэкранном режиме (без границ и над панелью задач)? И возможно ли это сделать, используя только библиотеку .Net Framework? Спасибо за помощь.

Ответы [ 2 ]

3 голосов
/ 03 марта 2011

Как Раймонд Чен предлагает , лучший способ создать полноэкранное окно, которое покрывает панель задач, - это просто создать полноэкранное окно без рамки.

Поскольку ваш вопрос помечен C ++Я предполагаю, что вы можете перевести этот код в его эквивалент .NET:

HWND CreateFullscreenWindow(HWND hwnd)
{
    HMONITOR hmon = MonitorFromWindow(hwnd, MONITOR_DEFAULTTONEAREST);
    MONITORINFO mi = { sizeof(mi) };

    if (!GetMonitorInfo(hmon, &mi)) return NULL;

    return CreateWindow(TEXT("static"),
                        TEXT("something interesting might go here"),
                        WS_POPUP | WS_VISIBLE,
                        mi.rcMonitor.left,
                        mi.rcMonitor.top,
                        mi.rcMonitor.right - mi.rcMonitor.left,
                        mi.rcMonitor.bottom - mi.rcMonitor.top,
                        hwnd, NULL, g_hinst, 0);
}
3 голосов
/ 03 марта 2011

попробуйте использовать следующий

this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
this.Bounds = Screen.PrimaryScreen.Bounds;
this.TopMost = true;

в случае PInvoke попробуйте этот код

public static IntPtr HWND_TOPMOST = (IntPtr)(-1);
public const int SWP_SHOWWINDOW = 0x0040;

[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter,int x,int y,int cx,int cy, UInt32 uFlags);

И назовите это

 IntPtr handle = this.Handle // or Handle to another window
 SetWindowPos(handle, HWND_TOPMOST, 0, 0, Screen.PrimaryScreen.Bounds.Right,
                    Screen.PrimaryScreen.Bounds.Bottom, SWP_SHOWWINDOW);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...