摘要: http://www.pinvoke.net/封装好的类库vs插件 [DllImport("user32.dll")] public static extern int SetCursorPos(int x, int y);[DllImport("user32.dll", EntryPoint="GetWindowText")]public static extern int GetWindowText (int hwnd,string lpString,int cch); 调用: StringBuilder s = new Stri 阅读全文
posted @ 2013-06-26 13:59 fff8965 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 转自:http://developer.51cto.com/art/200908/143779.htm解决C#结构体数组间的转化问题的由来:在写C#TCP通信程序时,发送数据时,如果是和VC6.0等写的程序通信的话,很多的都是传送结构体,在VC6.0中可以很方便的把一个char[]数组转换为一个结构体,而在C#却不能直接把byte数组转换为结构体,要在C#中发送结构体,可以按以下方法实现:(1)解决C#结构体数组间的转化之定义结构体://命名空间 usingSystem.Runtime.InteropServices; //注意这个属性不能少 [StructLayoutAttribute( L 阅读全文
posted @ 2013-06-26 01:24 fff8965 阅读(1753) 评论(0) 推荐(0) 编辑
摘要: 有两种方式解决 1.在窗体构造函数中写Control.CheckForIllegalCrossThreadCalls =false;2.使用Invoke等委托函数。 问题原因是。net2.0以后拒绝多线程访问空间,避免空间造成死锁。以前Control.CheckForIllegalCrossThreadCalls =false;默认就是这样,现在默认为true。如果不会好几个线程同时操作一个控件用方法1就可以。如果存在多个线程一起操作控件使用方法2 方法2可以 Invoke(new MethodInvoker(delegate() ... 阅读全文
posted @ 2013-06-26 01:10 fff8965 阅读(245) 评论(0) 推荐(0) 编辑