移动开发:使用 shFullScreen API 显示隐藏开始图标
移动开发:使用 shFullScreen API 显示隐藏开始图标
有时候,我们寻找简单事情的方法时,却忘记了它有多么容易。
问题:如何在 Windows Mobile 6.1(及更早版本)的任务栏中隐藏/显示开始图标?
答案:使用微软提供的 API:SHFullScreen
! 无需使用 FindWindow
和子类化,使用起来非常简单。
请记住,这在 Windows Embedded Handheld 6.5.3 或 Windows Mobile 6.5.3 或任何你称呼它的版本上将不起作用。 该 API 将不会执行其功能。
这里有一个 C# 示例,用于 SHFullScreen
的使用。
创建一个类文件(例如,SHFullScreen.cs)并插入以下内容
using System;
using System.Drawing;
using System.Collections;
using System.Windows.Forms;
using System.Data;
using System.Runtime.InteropServices;
namespace KioskTest
{
public class SHAPI
{
public const int SHFS_SHOWTASKBAR = 1;
public const int SHFS_HIDETASKBAR = 2;
public const int SHFS_SHOWSIPBUTTON = 4;
public const int SHFS_HIDESIPBUTTON = 8;
public const int SHFS_SHOWSTARTICON = 16;
public const int SHFS_HIDESTARTICON = 32;
[DllImport("aygshell.dll")]
private extern static bool SHFullScreen(IntPtr hWnd, int dwState);
public static bool showStart(IntPtr wHandle, bool bShowHide)
{
bool bRet = false;
IntPtr hwnd = wHandle;
if (!bShowHide)
bRet = SHFullScreen(hwnd, SHFS_HIDESTARTICON);
else
bRet = SHFullScreen(hwnd, SHFS_SHOWSTARTICON);
return bRet;
}
public static bool FullScreen(IntPtr hWnd)
{
return SHFullScreen(hWnd, SHFS_HIDESTARTICON | SHFS_HIDETASKBAR);
}
}
}
现在在你的窗体代码中,只需使用以下调用来隐藏开始图标
KioskTest.SHAPI.showStart(this.Handle, false);
就这样,请看这里
对于这个简单的示例,没有完整的项目源代码。
玩得开心!