private const int SWP_HIDEWINDOW = 0x80; private const int SWP_SHOWWINDOW = 0x40;
[DllImport( "user32.dll ")] public static extern bool SetWindowPos( int hWnd, // handle to window int hWndInsertAfter, // placement-order handle short X, // horizontal position short Y, // vertical position short cx, // width short cy, // height uint uFlags // window-positioning options ); [DllImport( "user32.dll ")] public static extern int FindWindow( string lpClassName, // class name string lpWindowName // window name );
FormBorderStyle设置为None即可
不知道其他平台上如何.如果也这样的话,我下面的方法就有些多余了. 你可以自己试验一下.
以前我是这样做的,不是用C#,大体思路是这样.
1)Screen.GetBounds 得到屏幕的范围.
2)全屏的时候,隐藏任务栏,不是全屏的时候,显示.如何隐藏和显示,
按照如下步骤可以实现:
1.定义API和相应的常量.
using System.Runtime.InteropServices;
private const int SWP_HIDEWINDOW = 0x80;
private const int SWP_SHOWWINDOW = 0x40;
[DllImport( "user32.dll ")]
public static extern bool SetWindowPos(
int hWnd, // handle to window
int hWndInsertAfter, // placement-order handle
short X, // horizontal position
short Y, // vertical position
short cx, // width
short cy, // height
uint uFlags // window-positioning options
);
[DllImport( "user32.dll ")]
public static extern int FindWindow(
string lpClassName, // class name
string lpWindowName // window name
);
2.在button的Click中,填写如下代码:
int TaskBarHwnd;
TaskBarHwnd = FindWindow( "Shell_traywnd ", " ");
if (button1.Text == "隐藏 ")
{
SetWindowPos(TaskBarHwnd, 0, 0, 0, 0, 0, SWP_HIDEWINDOW);
button1.Text = "显示 "; }
else
{
SetWindowPos(TaskBarHwnd, 0, 0, 0, 0, 0, SWP_SHOWWINDOW);
button1.Text = "隐藏 ";
}