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客户端行不通了。