C# Windows Mobile 实现休眠状态下定时任务
OpenNETCF.WindowsCE.LargeIntervalTimer llTimer = new OpenNETCF.WindowsCE.LargeIntervalTimer();
//第一次触发时间
llTimer.FirstEventTime = DateTime.Now;
llTimer.Interval = new TimeSpan(0, 30, 0);
//是否只触发一次
llTimer.OneShot = false;
llTimer.Tick += new EventHandler(llTimer_Tick);
llTimer.Enabled = true;
static void llTimer_Tick(object sender, EventArgs e)
{
//
}
来源:http://www.cnblogs.com/fox23/archive/2008/02/03/AtTime.html
opennetcf下载:http://www.opennetcf.com/Products/SmartDeviceFramework/tabid/65/Default.aspx
C# Windows Mobile 6 通过注册表实现开机自运行
方法1:制作CAB安装包
VS2005,新建项目–其他项目类型–安装和部署–智能Cab安装项目–在Program files里增加文件夹myexe
添加要可执行 a.exe。
打开注册表视图,在HKEY_LOCAL_MACHINE 增加 Init 文件夹,新建字符串 Launch98,值为
“\Program files\myexe\a.exe”
这样,安装cab之后重启下即可自运行。
private void Form1_Activated(object sender, EventArgs e)
{
this.Hide(); //隐藏窗体
}
方法2:通过程序运行注册键值
//注册开机
//Registry.LocalMachine 对应于 HKEY_LOCAL_MACHINE主键
RegistryKey key = Registry.LocalMachine.OpenSubKey("init", true);
if (key.GetValue("Launch77") == null)
{
key.SetValue("Launch77", Assembly.GetExecutingAssembly().GetName().CodeBase);
MessageBox.Show("注册成功!", "提示");
}
key.Close();
C# 解决中文乱码,把中文转换成UTF-8,UrlEncode
public statc string UrlEncode(string input)
{
if(input==null||"".Equals(input))return "";
StringBuilder sb = new StringBuilder();
byte[] byStr = System.Text.Encoding.Default.GetBytes(input);
for(int i = 0; i < byStr.Length; i++)
{
sb.Append(@"%" + Convert.ToString(byStr[i],16));
}
return (sb.ToString());
}
WM windows mobile 6.1 C#网络开发,程序自动升级等
终于的终于,还是用C#开发了,仿照了一些M8上软件界面。。
分享一些经验,由于时间太紧,有些功能是比较土的方法暂时实现的,之后还需升级。
1、网络传输
public static string Login(string userName, string password)
{
string LOGIN_RES = "";
try
{
string url = com.LOGIN_URL ;//url
url = url + "&username=" + userName;
url = url + "&password=" + password;
HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
objRequest.Method = "GET";
objRequest.Timeout = 60 * 1000;
//WebProxy proxy = new WebProxy("192.168.0.2:80", true);
// proxy.Address = new Uri("");//按配置文件创建Proxy 地置
//proxy.Credentials = new NetworkCredential("用户名", "密码");//从配置封装参数中创建
//objRequest.Proxy = proxy;
HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
Stream objStream = objResponse.GetResponseStream();
StreamReader objReader = new StreamReader(objStream, Encoding.GetEncoding(com.PageEnCode));
LOGIN_RES=objReader.ReadToEnd();
if (LOGIN_RES != null) LOGIN_RES = LOGIN_RES.Trim();
objReader.Close();
objStream.Close();
return LOGIN_RES;
}
catch (Exception ex){
Console.Write(ex.Message);
return null;
}
}
2、程序升级
利用1里面的方法,读取服务器某网页文件,获取版本号和当前程序版本进行比较,若有最新版,
则在WM里打开浏览器进行下载:
private void checkUpdate()
{
int k = comHTTP.AutoUpdate();
if (k > com.COPYRIGHT)
{
MessageBox.Show("\r\n系统监测到新版本,程序将自动打开下载,请安装后继续使用.\r\n\r\n", "提示");
System.Diagnostics.Process.Start("IEXPLORE.EXE", "/autoupdate.cab");//打开IE,
Application.Exit();
}
}
windows mobile模拟器如何联网?
windows mobile开发的时候模拟器如何联网?
1. 安装Active sync,到微软网站上面去找找,有免费下载。
2. 打开Active sync连接选项,里面有下拉选框的那个(允许连接到以下其中一个端口),选择DMA
3. 在VS2005里面启动模拟器成功(要知道自己连的是哪个)之后,Tools菜单里面有个”Device Emulator Manager”,找到刚刚连上的模拟器(前面会有个小图标,其他没启动就没有),右键点击,选择”Cradle” 这时候Active sync跳出来说找到一个device,不理他,等待emulator里面跳出个小对话框,告诉你连接成功(很快就自己消失),OK,这时候就可以上网了。
注意:Active Sync会吃掉所有的UDP包,所以用这种方式开发UDP客户端行不通了。



