‘WinForm’ 分类的存档
介绍一下如何在实例中相互操作,比如在程序A中调用程序B中的方法,看起来不太可能,不过我们可以利用Win32API来实现。我们需要用到2个Win32函数: uint RegisterWindowsMessage(string lpString); 注册一个新的窗口消息,该消息确保在系统中是唯一的,返回消息值,可在下面SendMessage函数中调用,如果该消息已经存在,则返回它的消息值 IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); 向指定的窗口发送消息 IntPtr FindWindow(string IpClassName,string IpWindowName); 查找与指定类名或窗口名相同的顶层窗口句柄 IntPtr WindowProc(IntPtr hwnd, uint msg, IntPtr wParam, IntPtr lParam, ref bool handled); 处理发送给窗口的消息 有了这两个程序就可以实现了,比如说我们在程序B中通过RegisterWindowsMessage函数定义一个字符串为“TestInvoke”的系统消息,再在程序A中,通过RegisterWindowMessage函数获得“TestInvoke”的消息值,再通过FindWindow获得程序B的句柄,通过SendMessage发送给窗口B,窗口B再通过WindowProc处理这个消息,调用相关函数。这个过程看似很复杂,只要我们多加思考,还是很容易理解的。 WindowApp1: WindowApp2: 代码下载
微软MSDN简体中文版、繁体中文版已经从MSDN上正式发布,有MSDN账号的网友可以直接下载,没有的网友可以从下面地址下载,由于刚出啦不久,目前只有电驴资源,大家可以用迅雷下载。 注:下面地址的版本已经包含序列号,这下大家省心了,呵呵 MSDN Visual Studio 2010 Professional简体中文版本: ed2k://|file|cn_visual_studio_2010_professional_x86_dvd_532145.iso|2591844352|6001253431AFE573E4344F5A0B1D9CAC|/ MSDN Visual Studio 2010 Ultimate简体中文版本: ed2k://|file|cn_visual_studio_2010_ultimate_x86_dvd_532347.iso|2685982720|4AE6228933DDE49D9BFA4C3467C831C2|/ MSDN Team Foundation Server简体中文版本: ed2k://|file|cn_visual_studio_team_foundation_server_2010_x86_x64_dvd_531909.iso|1963589632|C9C77B2707DF100621B3FB653C285524|/ MSDN Visual Studio 2010 Ultimate繁體中文版本: ed2k://|file|ct_visual_studio_2010_ultimate_x86_dvd_532348.iso|2691330048|BF50926EAB061C7D0D92580F4132F9EA|/ MSDN Team Foundation Server繁體中文版本: ed2k://|file|ct_visual_studio_team_foundation_server_2010_x86_x64_dvd_531915.iso|1966714880|D6BD12D5B693E7EDA545D52FB54CC8E5|/
发布vs2010正式旗舰版 序列号一枚 YCFHQ-9DWCY-DKV88-T2TMH-G7BHP 安装完试用版,添加/删除程序里面激活即可。。。已经测试通过,不知道能不能激活Professional和Premium版,没有测试过
Visual Studio 2010已于今天正式发布 一共三个版本 Visual Studio 2010 Professional Visual Studio 2010 Premium Visual Studio 2010 Ultimate 同时还发布了 Visual Studio Test Professional 2010 Visual Studio Team Foundation Server 2010 Visual Studio Lab Management 2010 需要注意的是这次发布,仍就没有中文版,希望使用中文版的朋友需要再等2周左右时间 根据微软的一贯策略,试用版跟正式版的区别仅在于序列号的区别,估计晚些时候会有可用的序列化出来,大家可以先用试用版,到时候替换即可。 下载地址: http://www.microsoft.com/visualstudio/en-us/download
在WPF开发中,WPF给了我们很好的关于键盘的支持,不过,我在开发测试中发现,使用WPF内置的方式判断组合键会造成反应低下,如Ctrl+A组合键,如果用wpf自己的组合键判断方式,如: 如果,我们的客户在很快的情况下,按下组合键,会造成无效,为了解决这个问题使用Win32 API做个键盘钩子,在google中搜索,偶然发现,老外,给我们写了现成的关于Win32键盘监听的类。我们只要使用这个类就能判断用户的键盘事件。从而达到快速反应键盘事件的方式,次代码对WinForm同样有效。代码如下: 使用时,我们只要new KeyboardHook()对象,并且实现它的KeyDown事件就可以了。判断的时候要使用WinForm的类库。
Json是一种通用的数据格式,我们在数据交换的时候,经常会用到,下面介绍c#中的json序列化和反序列化,当然也可用在asp.net,silverlight,wpf中。我们在下面实例讲解如何进行Json的序列化和反序列化,本文介绍两种方案,.net 3.5原生Json操作和Json.net中的Json操作。 首先,我们先建立一个测试对象,用来序列化和反序列化。 第一种,利用.Net Framework 3.5中原生的Json操作类库,特点就是不需要导入第三方类库,比较方便,速度上一般,而且需要.Net Framework的支持,我们知道现在还有很多服务器没有升级到.Net Framework 3.5,就用不了这个了。 首先导入下面类库,并加入下面代码 System.ServiceModel System.ServiceModel.Web 输出结果 这个是.Net Framework 3.5原生的序列化方式,接着,我们介绍反序列化方式,还是同样的加入下面代码 输出结果 我们从.Net Framework 3.5原生的Json序列化及反序列化方式中,可以看出,还是相当麻烦的。很多网友也会问如果是.Net Framework 2.0该怎么办呢?下面,我们介绍一个第三方的Json序列化和反序列化类库,来完成上面操作,这个类库是有.Net Framework 2.0的版本的哦,而且这个类库还可以支持xml的序列化和反序列化操作(本文不做讲解)。下面看操作。 输出结果 这个是Json序列化方法,是不是简单了很多呢? 输出结果 这个是Json反序列化方法,简单吧,而且据说这个类库的速度比.Net原生的Json序列化和反序列化方法要快很多。下载地址http://json.codeplex.com/