WinCE C# 常用API

一:获取存储设备的大小信息
很多底层操作的函数,Visual Studio 2005.NET 的API 库中并没有提供,这个时候,我
们就要在C#开发中调用Win32 的函数来进行相应的操作。一大批Win32 底层操作的函数
都存在于cordll.dll 动态链接库中。
调用Win32 的申明:
using System.Runtime.InteropServices;
在WinCE 下已经没有了驱动器名的概念,文件存储设备都是在WinCE 的根目录下中
以目录的形式出现,可以采用如下方法并调用相应函数来获取存储设备的总的大小和空闲空
间的信息:
[DllImport("coredll.dll")]
private static extern bool GetDiskFreeSpaceEx(string directoryName, ref long
freeBytesAvailable, ref long totalBytes, ref long totalFreeBytes);
调用例子如下:
long freeBytes = 0, totalBytes = 0, totalFreeBytes = 0;
GetDiskFreeSpaceEx("//Nor Flash", ref freeBytes, ref totalBytes, ref totalFreeBytes);

string strtotalBytes = "Nor Flash 磁盘空间大小为:"+totalBytes.ToString()+"Bytes";

 

二:重启系统函数
很多底层操作的函数,Visual Studio 2005.NET 的API 库中并没有提供,这个时候,我
们就要在C#开发中调用Win32 的函数来进行相应的操作。一大批Win32 底层操作的函数
都存在于cordll.dll 动态链接库中。
调用Win32 的申明:
using System.Runtime.InteropServices;
调用“cordll.dll”里的Win32 函数SetCleanRebootFlag( … )和KernelIoControl( … )
可以实现WINCE 系统重新启动, 定义的代码如下:
[DllImport("Coredll.dll")]
extern static int KernelIoControl(int dwIoControlCode, IntPtr lpInBuf, int nInBufSize, IntPtr
lpOutBuf, int nOutBufSize, ref int lpBytesReturned);
[DllImport("Coredll.dll")]
extern static void SetCleanRebootFlag();
可以写成一个系统重启的函数:
public void HardReset()

{
int IOCTL_HAL_REBOOT = 0x101003C;
int bytesReturned = 0;
SetCleanRebootFlag();
KernelIoControl(IOCTL_HAL_REBOOT,IntPtr.Zero,0, IntPtr.Zero, 0, ref bytesReturned);
}
然后在程序里需要重启的地方直接调用HardReset()这个函数即可。

 

 

三:隐藏/显示WINDOWS任务栏

[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; //隐藏窗口常量

public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int Hwnd = FindWindow("HHTaskBar", null);
if (Hwnd != 0)
{
ShowWindow(Hwnd, SW_HIDE); //隐藏任务栏
button2.Enabled = true;
button1.Enabled = false;
}
}

private void button2_Click(object sender, EventArgs e)
{
int Hwnd = FindWindow("HHTaskBar", null);
if (Hwnd != 0)
{
ShowWindow(Hwnd, SW_SHOW); //显示任务栏
button1.Enabled = true;
button2.Enabled = false;
}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WinCE是Windows CE(Windows嵌入式)的简称,是由微软公司开发的一种经典的嵌入式操作系统。其主要应用于低功耗、资源受限的嵌入式设备,例如智能手机、手持设备、工业控制器和汽车导航系统等。WinCE是专为嵌入式系统设计的,能够在有限的资源下提供足够的功能。 WinCE具有一些独特的特点。首先,它是一个可通过通用Windows API进行开发的操作系统,这使得开发人员可以使用熟悉的编程语言和工具进行应用程序的开发。其次,WinCE具有高度可配置性,可以根据具体的应用需求进行定制,减少了不必要的功能和复杂性。第三,WinCE具有良好的兼容性,可以在不同的硬件平台上运行。 WinCE支持多任务处理和多线程运行,可以同时运行多个应用程序,并通过线程间通信实现数据共享和协同工作。它提供了丰富的嵌入式设备支持,包括触摸屏、网络连接、多媒体功能等。同时,WinCE还提供了强大的安全功能,可以保护嵌入式设备的数据和系统安全。 总的来说,WinCE是一种成熟的嵌入式操作系统,具有广泛的应用领域和强大的开发支持。它在智能手机和手持设备等领域得到了广泛应用,并在工业自动化和汽车导航系统等领域也具有重要地位。随着物联网和嵌入式技术的发展,WinCE将继续发挥重要作用,为嵌入式设备提供稳定、可靠和高效的操作系统基础。 ### 回答2: Wince C是指Windows嵌入式核心操作系统上的C语言开发环境。Wince C是为嵌入式设备开发设计的一套标准的C编程工具。它包含了一系列的编译器、调试器、库文件和开发工具,可以帮助开发人员快速、高效地开发嵌入式设备的应用程序。 Wince C提供了丰富的API库和工具,可以方便地进行设备的驱动程序开发、应用程序开发、调试和测试。它支持多线程和多任务的并发处理,可以实现设备的高效运行。Wince C的开发过程相对简单,开发人员只需要掌握C语言的基本知识,就可以使用Wince C进行嵌入式设备的开发。 Wince C的应用非常广泛。它可以用于开发各种类型的嵌入式设备,例如智能手机、平板电脑、工业控制系统等。开发人员可以利用Wince C的强大功能,开发出高性能、高可靠性的嵌入式应用程序。同时,Wince C还提供了良好的用户界面和用户体验,可以满足用户对于设备的操作和交互需求。 总之,Wince C是一套强大的嵌入式C语言开发环境,可以帮助开发人员快速、高效地开发嵌入式设备的应用程序。它广泛应用于各种类型的嵌入式设备,并在市场上取得了良好的口碑。 ### 回答3: Wince是一种嵌入式操作系统,属于微软的产品。它主要用于低功耗、低内存和低处理能力的设备,如手持终端、智能手机、嵌入式系统等。 Wince C是在Wince平台下开发的C语言编程。C语言是一种高效、通用的编程语言,广泛用于系统级编程和嵌入式开发。在Wince C编程中,开发者可以利用C语言的强大特性,编写高效的、可移植的嵌入式应用程序。 Wince C提供了丰富的库函数和API接口,使开发者可以轻松地访问设备硬件和操作系统资源。开发者可以使用Wince C编写图形用户界面、网络通信、数据库操作等功能,为嵌入式设备提供各种应用。 在Wince C编程中,开发者需要了解Wince平台的特点和限制。由于Wince是一种低功耗、低内存和低处理能力的操作系统,开发者需要注意资源的合理分配和使用。同时,Wince平台对软件的稳定性和安全性要求较高,开发者需要编写健壮的程序并进行严格的测试。 总之,Wince C是一种在嵌入式操作系统Wince上使用C语言编程的方法。通过Wince C,开发者可以轻松地编写高效、可移植的嵌入式应用程序,为各种低功耗设备提供丰富的功能和服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值