作者:shangwei97
转自:http://blog.youkuaiyun.com/shangwei97/article/details/8761355
c# wince 显示隐藏任务栏
[DllImport("coredll.dll", EntryPoint = "FindWindow")]
public static extern int FindWindow( string lpWindowName, string lpClassName );
[DllImport("coredll.dll", EntryPoint = "ShowWindow")]
public static extern int ShowWindow( int hwnd, int nCmdShow );
public const int SW_SHOW = 5; //显示窗口常量
public const int SW_HIDE = 0; //隐藏窗口常量
隐藏/显示Windows 任务栏的小例子:
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int Hwnd = FindWindow("HHTaskBar", null);
if (Hwnd != 0)
{
ShowWindow(Hwnd, SW_HIDE); //隐藏任务栏
}
}
private void button2_Click(object sender, EventArgs e)
{
int Hwnd = FindWindow("HHTaskBar", null);
if (Hwnd != 0)
{
ShowWindow(Hwnd, SW_SHOW); //显示任务栏
}
}
//禁用开始菜单和键盘输入菜单
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace DeviceApplication1
{
class LockTaskBar
{
[DllImport("CoreDll.dll", SetLastError = true)]
public static extern IntPtr FindWindow(string className, string WindowsName);
[DllImport("coredll.dll", EntryPoint = "EnableWindow")]
public static extern bool EnableWindow(IntPtr hwnd, bool bEnable);
/// <summary>
/// this is for enable and disable task bar.
/// Basically this is provide access control Start menu.
/// </summary>
/// <param name="HHTaskBar">HHTaskBar</param>
/// <param name="enabled">default false</param>
/// <returns></returns>
public static bool Execute(string HHTaskBar, bool enabled)
{
bool IsState = false;
try
{
IntPtr hwnd = FindWindow(HHTaskBar, null);
if (!hwnd.Equals(IntPtr.Zero))
{
if (enabled)
{
IsState = EnableWindow(hwnd, false);
}
else
{
IsState = EnableWindow(hwnd, true);
}
}
}
catch (DllNotFoundException dllex)
{
throw dllex;
}
catch (Exception ex)
{
throw ex;
}
return IsState;
}
}
/// 禁止开始菜单栏
/// LockTaskBar.Execute("HHTaskBar", true);
/// 解禁开始菜单栏
/// LockTaskBar.Execute("HHTaskBar", false);
/// 禁止输入法按钮
/// LockTaskBar.Execute("MS_SIPBUTTON", true);
/// 解禁输入法按钮
/// LockTaskBar.Execute("MS_SIPBUTTON", false);
}