Jason_liu

导航

2012年10月13日 #

C#通过WIN32 API 获取外部程序sysListview的值和TreeView的值

摘要: C#通过WIN32 API 获取外部程序sysListview的值using System.Runtime.InteropServices; public const uint LVM_FIRST = 0x1000; public const uint LVM_GETITEMCOUNT = LVM_FIRST + 4; public const uint LVM_GETITEMW = LVM_FIRST + 75; [DllImport("user32.DLL")] public static extern int SendMessage(IntPtr hWnd, uint 阅读全文

posted @ 2012-10-13 18:12 Jason_liu 阅读(7012) 评论(3) 推荐(2) 编辑

进程间通讯-WriteProcessMemory和ReadProcessMemory

摘要: 最近在写个程序的时候需要在进程间通讯,具体需求是这样。1.主要有两个进程:一个进程作为被请求进程,我们称为SERVER进程;另一个进程是请求进程,称为CLIENG进程。2.SERVER进程提供一些服务,其完成计算功能;而CLIENT进程需要在它执行完计算之后将结果取会。由于计算结果可能是一个结构,也可能是一个复杂的数据,所以通过消息来在进程传递信息是有限的。另一方面一般是单方向的通讯,实际上这里的需求有一个双向性,看下图:这里两个进程都可以有自己的窗口,因此实际上我们可以通过消息来通知对方。但仔细一想,请求服务通过windows消息是没有问题的,通知结果通过消息是不妥当的,实际上我们需要在请求 阅读全文

posted @ 2012-10-13 18:06 Jason_liu 阅读(3730) 评论(0) 推荐(0) 编辑

2012年10月9日 #

[C#技术] .NET平台开源JSON库LitJSON的使用方法

摘要: 一个简单示例:String str = "{’name’:’cyf’,’id’:10,’items’:[{’itemid’:1001,’itemname’:’hello’},{’itemid’:1002,’itemname’:’hello2’}]}"; //*** 读取JSON字符串中的数据 ******************************* JsonData jd = JsonMapper.ToObject(str); String name = (String)jd["name"];long id = (long)jd["id& 阅读全文

posted @ 2012-10-09 20:27 Jason_liu 阅读(3217) 评论(0) 推荐(0) 编辑

2012年10月8日 #

windows的消息定义大全(比较全的一个)

摘要: windows的消息定义大全大家平常总使用SendMessage(句柄,消息,参数1,参数2)吧?这里贴一下那个“消息的内容”。下面,左边是消息,右边是ID,十六位的,要转换为10进制后才可以给E用。比如 SendMessage(文本框的句柄,13,256,一个初始化的容器),作用就是获取文本框的内容到一个初始化的容器内。其中的13就是 WM_GETTEXT = 0x000D。000D=13,明白?6楼以后是部分中文解释。消息的名称前面两个或三个字母是表明所对应的类或者控件类型,比如WM、EM、LB、CB、TB等。WM_NULL = 0x0000,WM_CREATE = 0x0001,WM_D 阅读全文

posted @ 2012-10-08 22:11 Jason_liu 阅读(1387) 评论(0) 推荐(0) 编辑

[转]windows的消息定义大全

摘要: 大家平常总使用SendMessage(句柄,消息,参数1,参数2)吧? 这里贴一下那个“消息的内容”。下面,左边是消息,右边是ID,十六位的,要转换为10进制后才可以给E用。 比如 SendMessage(文本框的句柄,13,256,一个初始化的容器),作用就是获取文本框的内容到一个初始化的容器内。其中的13就是 WM_GETTEXT = 0x000D。000D=13,明白? 6楼以后是部分中文解释。消息的名称前面两个或三个字母是表明所对应的类或者控件类型,比如WM、EM、LB、CB、TB等。WM_NULL = 0x0000WM_CREATE = 0x0001WM_DESTROY = 0x00 阅读全文

posted @ 2012-10-08 22:03 Jason_liu 阅读(292) 评论(0) 推荐(0) 编辑

C# SendMessage WPARAM大全

摘要: public sealed class API { //wMsg参数常量值: //WM_KEYDOWN 按下一个键 public static int WM_KEYDOWN = 0x0100; //释放一个键 public static int WM_KEYUP = 0x0101; //按下某键,并已发出WM_KEYDOWN, WM_KEYUP消息 public static int WM_CHAR = 0x102; //当用translatemessage函数翻译WM_KEYUP消息时发送此消息给拥有焦点的窗口 public static int WM_DEADCHAR = 0x103;.. 阅读全文

posted @ 2012-10-08 21:16 Jason_liu 阅读(740) 评论(0) 推荐(0) 编辑

2012年10月5日 #

SendMessage->>Windows消息大全

摘要: Windows是一个消息驱动式系统,SendMessage是应用程序和应用程序之间进行消息传递的主要手段之一,这里我搜集整理了SendMessage函数的详细参数介绍,以备自用。VFP声明:DECLARE INTEGER SendMessage IN user32; INTEGER hWnd,; INTEGER wMsg,; INTEGER wParam,; INTEGER lParam参数1:hWnd-窗口句柄。窗口可以是任何类型的屏幕对象。参数2:wMsg-用于区别其他消息的常量值.参数3:wParam-通常是一个与消息有关的常量值,也可能是窗口或控件的句柄.参数4: lParam-通常是 阅读全文

posted @ 2012-10-05 17:11 Jason_liu 阅读(4780) 评论(0) 推荐(1) 编辑

通过api获取句柄控制其他窗体(转)

摘要: 通过api获取句柄控制其他窗体(转)很多时候,编写程序模拟鼠标和键盘操作可以方便的实现你需要的功能,而不需要对方程序为你开放接口。比如,操作飞信定时发送短信等。我之前开发过飞信耗子,用的是对飞信协议进行抓包,然后分析协议,进而模拟协议的执行,开发出了客户端,与移动服务器进行通信,但是这有一些缺点。如果移动的服务器对接口进行变更,我所编写的客户端也要进行相应的升级。如果服务器的协议进行了更改,甚至个人编写的这种第三方客户端需要重写。而我个人也没有这个时间和精力,或者说没有足够的利益支撑我继续去重构飞信耗子。因此,这款还算优秀的软件,现在就束之高阁了,我自己也觉得遗憾。上周,某项目验收,需要修改界 阅读全文

posted @ 2012-10-05 16:31 Jason_liu 阅读(4943) 评论(0) 推荐(0) 编辑

2012年10月2日 #

C#中ToString格式大全

摘要: 字符型转换为字符串// C 货币2.5.ToString("C");// ¥2.50// D 10进制数25.ToString("D5");// 25000// E 科学型25000.ToString("E");// 2.500000E+005// F 固定点25.ToString("F2");// 25.00// G 常规2.5.ToString("G");// 2.5// N 数字2500000.ToString("N");// 2,500,000.00// X 16进制 阅读全文

posted @ 2012-10-02 16:01 Jason_liu 阅读(258) 评论(0) 推荐(0) 编辑

2012年9月27日 #

一个实例明白AutoResetEvent和 ManulResetEvent的用法

摘要: 先看一段代码:publicclassWaitHandlerExample {publicstaticAutoResetEvent waitHandler;publicstaticManualResetEvent manualWaitHandler;publicstaticvoidThreadPoolMain() {waitHandler =newAutoResetEvent(false);manualWaitHandler =newManualResetEvent(false);// Queue the task.ThreadPool.QueueUserWorkItem(newWaitCall 阅读全文

posted @ 2012-09-27 22:47 Jason_liu 阅读(171) 评论(0) 推荐(0) 编辑