摘要: 本文转载于:http://www.cnblogs.com/zhaotiantang/archive/2009/03/17/1414135.html 我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。 首先来看传统方法: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Thread th 阅读全文
posted @ 2011-07-07 16:48 神一样的疯子 阅读(440) 评论(0) 推荐(0) 编辑
摘要: Unicode :宽字节字符集1. 如何取得一个既包含单字节字符又包含双字节字符的字符串的字符个数?可以调用Microsoft Visual C++的运行期库包含函数_mbslen来操作多字节(既包括单字节也包括双字节)字符串。调用strlen函数,无法真正了解字符串中究竟有多少字符,它只能告诉你到达结尾的0之前有多少个字节。2. 如何对DBCS(双字节字符集)字符串进行操作?函数 描述PTSTR CharNext ( LPCTSTR ); 返回字符串中下一个字符的地址PTSTR CharPrev ( LPCTSTR, LPCTSTR ); 返回字符串中上一个字符的地址BOOL IsDBCSL 阅读全文
posted @ 2011-05-03 16:13 神一样的疯子 阅读(931) 评论(0) 推荐(0) 编辑
摘要: 通过文档发现StringBuilder是没有类似clear或resect的方法的,一些网友总结的清空StringBuilder的方法是:strBuilder.Remove(0, strBuilder.length);今天发现还有一个更加直观的方式来清空StringBuilder,那就是:strBuilder.length = 0; 阅读全文
posted @ 2011-04-18 13:38 神一样的疯子 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 我想要在WinCE6.0上通过GPRS模块发送邮件。问了一下,WinCE是支持GPRS模块的AT指令的。现在就想知道WinCE支持SMTP这样的类吗?在上面能不能实现发送邮件的功能啊?WinCE下好像没有提供收发邮件的类比如pC下的c#有 system.net.mail类智能设备下就没有其实这个类也是基于socket实现的,只是用户用起来方便一些。你可以直接利用socket通信收发邮件,把相关协议弄清楚就可以了。 阅读全文
posted @ 2011-03-25 14:24 神一样的疯子 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 一个在移动设备中获取路径的常用方法: public string GetFileName() { return System.IO.Path.Combine(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase),"filename"); } 在移动设备开发中,路径都使用绝对路 一个在移动设备中获取路径的常用方法:public string GetFileName(){return System.IO.Path.Combine( 阅读全文
posted @ 2011-03-25 12:50 神一样的疯子 阅读(679) 评论(0) 推荐(0) 编辑
摘要: HWND hWnd;hWnd = ::FindWindow("窗口类名如:Dialog" , "要得到窗口的标题");不过,如果不是很特别的窗口的话,在巧合的情况下,可能会出现,其他的窗口的类名,和标题与你要得到的那个窗口的相同,那么这个句柄就不是很确定了。用GetActiveWindow,此外还可以在消息处理函数中获取.如果你想要得到句柄的那个窗口就是当前活动窗口的话,那就用GetActiveWindow(),如果不是的话,那还是试试FindWindow吧。 阅读全文
posted @ 2011-03-24 19:15 神一样的疯子 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 虽然从字面理解, KeyDown是按下一个键的意思, 但实际上二者的根本区别是, 系统由KeyDown返回键盘的代码, 然后由TranslateMessage函数翻译成成字符, 由KeyPress返回字符值. 因此在KeyDown中返回的是键盘的代码, 而KeyPress返回的是ASCII字符. 所以根据你的目的, 如果只想读取字符, 用KeyPress, 如果想读各键的状态, 用KeyDown. 说KeyDown是按下, KeyPress是按下并松开, 是不对的. 如果你一直按着键呢? 这时不断地产生KeyDown和KeyPress. 阅读全文
posted @ 2011-03-24 15:46 神一样的疯子 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 一、程序运行平台 不同的平台上对不同数据类型分配的字节数是不同的。 个人对平台的理解是CPU+OS+Compiler,是因为: 1、64位机器也可以装32位系统(x64装XP); 2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32位的); 3、即使是32位的编译器也可以弄出64位的integer来(int64)。 以上这些是基于常见的wintel平台,加上我们可能很少机会接触的其它平台(其它的CPU和OS),所以个人认为所谓平台的概念是三者的组合。 虽然三者的长度可以不一样,但显然相互配合(即长度相等,32位的CPU+32位的OS+32位的Compiler)发 阅读全文
posted @ 2011-03-04 10:28 神一样的疯子 阅读(17960) 评论(0) 推荐(0) 编辑
摘要: 方法1:要具有lib文件和.h文件1.加入语句 #pragma comment(lib, "C:\\test\\Debug\\test.lib"2.项目右键-〉属性-〉c++ -〉常规-〉附加包含目录-〉填入test.h文件的文件夹 http://www.cnblogs.com/include方法2:这种方法可能移植的时候更方便一些1.项目右键-〉属性-〉链接器 ->常规 ->附加库目录填入lib所在的文件夹./lib/debug项目右键-〉属性-〉链接器 ->输入 ->附加依赖项填入lib文件的名称.2.项目右键-〉属性-〉c++ -〉常规-〉附加 阅读全文
posted @ 2011-03-04 10:25 神一样的疯子 阅读(4803) 评论(0) 推荐(1) 编辑
摘要: 工作基本确定了,牛公司都转了一圈,做个简单总结,造福学弟学妹:google:很难的算法题,概率题,智力题。不搞ACM的很难拿到google offer。当然也有牛人不搞ACM的拿到offer。微软:纯coding,但是对coding要求非常高。例如实现double pow(double a, int n),能写到微软要求的人不多的。并且微软是连续五轮纯英文,压力还是有点大的。百度:算法题,编程题,估算题。算法题有点难度,但是基本都可以套用经典算法,再变变种,不像google的很多直接没头绪。网易游戏:笔试考c++,算法题,编程题,智力题。面试智力题,聊天。腾讯:笔试c++,很简单的编程题。只有 阅读全文
posted @ 2011-03-04 10:22 神一样的疯子 阅读(699) 评论(0) 推荐(0) 编辑