1.阻止进入节电状态,我们的程序运行的时候,如果不希望屏幕黑掉或者变暗。可以用这个方法。
添加引用:using System.Runtime.InteropServices;
添加一个定时器,并使用下面代码来发送虚拟键:
public const int VK_NONAME = 0xFC;

public const int KEYEVENTF_SILENT = 0x0004;

public const int INPUT_KEYBOARD = 1;


[DllImport("coredll.dll", EntryPoint = "SendInput")]

public static extern uint SendInput(

uint nInputs,

ref INPUT pInputs,

int cbSize

);


public struct KEYBDINPUT


...{

public ushort wVk;

public ushort wScan;

public ulong dwFlags;

public ulong time;

public ulong dwExtraInfo;

}


public struct INPUT


...{

public ulong type;

public KEYBDINPUT ki;

}


#endregion

private void timer1_Tick(object sender, EventArgs e)


...{

INPUT ip = new INPUT();

KEYBDINPUT ki = new KEYBDINPUT();

ki.wVk = VK_NONAME;

ki.dwFlags = KEYEVENTF_SILENT;

ip.type = INPUT_KEYBOARD;

ip.ki = ki;

SendInput(1, ref ip, 28);

}
2。串口通讯(2005)
使用vs2005开发智能设备上的程序,大多需要用到串口。我们可以用System.IO.Port.SerialPort这个组件。但有一点要注意的,就是读取数据的时候。比如你要缓存串口的数据,一定不要用属性BytesToRead。而要先缓存这个属性,再操作串口。因为你的连续的两步操作可能这个属性返回的结果是不同的。正确的读取、缓存串口数据的代码是这样的:

private void serial_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)


...{

try


...{

//this.Invoke(new myDelegate(UpdateRxText), serial.ReadExisting());

int ReadBytes = serial.BytesToRead;


if (ReadBytes <= 0)


...{

return;

}

byte[] bzBuff = new byte[ReadBytes];

serial.Read(bzBuff, 0, ReadBytes);

this.Invoke(new myDelegate(UpdateRxText), bzBuff);

//this.BeginInvoke(new myDelegate(UpdateRxText), bzBuff);

}

catch (System.IO.IOException ex)


...{

MessageBox.Show(ex.Message);

}

}
3.我们的程序,如果不使用到wince特有的组建,比如InputPanel,那么你的程序是可以同时运行在wince/ppc/mobile和pc上的。但一旦添加了这些pc不支持的组件,如何让程序还可以运行呢?可以在需要的地方,加上这个检测代码:

if (System.Environment.OSVersion.Platform == PlatformID.WinCE)


...{

//...

}
4.退出程序的时候,最好执行一次关闭串口的操作如果你用到了串口。并显示的调用一次关闭程序。
serial.Close();
Application.Exit();
添加引用:using System.Runtime.InteropServices;
添加一个定时器,并使用下面代码来发送虚拟键:








































2。串口通讯(2005)
使用vs2005开发智能设备上的程序,大多需要用到串口。我们可以用System.IO.Port.SerialPort这个组件。但有一点要注意的,就是读取数据的时候。比如你要缓存串口的数据,一定不要用属性BytesToRead。而要先缓存这个属性,再操作串口。因为你的连续的两步操作可能这个属性返回的结果是不同的。正确的读取、缓存串口数据的代码是这样的:

























3.我们的程序,如果不使用到wince特有的组建,比如InputPanel,那么你的程序是可以同时运行在wince/ppc/mobile和pc上的。但一旦添加了这些pc不支持的组件,如何让程序还可以运行呢?可以在需要的地方,加上这个检测代码:





4.退出程序的时候,最好执行一次关闭串口的操作如果你用到了串口。并显示的调用一次关闭程序。
serial.Close();
Application.Exit();