Introduction
This article basically provides functionality for a Compact Framework based handheld device task bar to be enabled or disabled.
Background
The Compact Framework does not directly support disabling or enabling the task bar in devices. So, I used Platform Invoke (P/Invoke). Just copy and paste this code in your project, and pass the two arguments depending on what you want to do with the task bar.
Using the code
using System;
using System.Text;
using System.Runtime.InteropServices;
namespace PPC.Common
{
public 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);
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;
}
}
}
Just copy and paste the code in your project, and call the Execute
method passing the window handle string HHTaskBar
. If you want to disable the Start menu, pass true
, otherwise pass false
.
History
- First version: 01/01/2008.
- B.Sc. degree in Computer Science.
- 4+ years experience in Visual C#.net and VB.net
- Obsessed in OOP style design and programming.
- Designing and developing Network security tools.
- Designing and developing a client/server application for sharing files among users in a way other than FTP protocol.
- Designing and implementing GSM gateway applications and bulk messaging.
- Windows Mobile and Symbian Programming
- Having knowledge with ERP solutions
The summary of my skills:
C#, VB.Net#,ASP.net, VC++, Java, WPF,WCF, Oracle, SQL Server, MS Access, Windows NT administration
Cheers
RRave
MCPD,MCTS
http://codegain.com