12 2010 档案
摘要:开始->运行 regsvr32 hhctrl.ocx regsvr32 itss.dll
        阅读全文
                
摘要:在网上看到的一个问题,觉得很有意义:问:windows是消息轮询机制,那这样的程序将不断循环接收消息直到结束,岂不是很占用资源?如果我编写一个c++程序用循环来不断更新显示时间,cpu占用率会很高,那么windows是用什么办法使得那些消息轮询的程序占用很少资源呢?答:消息循环中,用到最多的函数是GetMessage()和PeekMessage(),GetMessage()函数在消息队列为空时,是不返回的,这时系统不会给线程分配时间片,线程就不会占用CPU资源。而PeekMessage函数即使消息队列是空,也会立即返回,而不是阻塞。消息循环之所以不会大量地占用CPU资源,就是因为GetMess
        阅读全文
                
摘要:在VS2005中添加了BackgroundWorker组件,该组件在多线程编程方面使用起来非常方便,然而在开始时由于没有搞清楚它的使用机制,走了不少的弯路,现在把我在使用它的过程中的经验与诸位分享一下。 BackgroundWorker类中主要用到的有这列属性、方法和事件: 重要属性: 1、CancellationPending获取一个值,指示应用程序是否已请求取消后台操作。通过在DoWork事件中判断CancellationPending属性可以认定是否需要取消后台操作(也就是结束线程); 2、IsBusy获取一个值,指示 BackgroundWorker 是否正在运行异步操作。程序中使用I
        阅读全文
                
摘要:在用线程的时候,如果线程要对控件进行操作,那么在窗体初始化的时候要加上这句:System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false; 具体信息MSDN上有详细的说明。另外,在退出程序的时候如果自定义线程还在操作控件,那么在退出程序之前一定要先把自定义线程给终止(Thread.Abor()方法),否则会抛出System.InvalidOperationException异常:{"执行 CreateHandle() 时无法调用值 Dispose()。"}
        阅读全文
                
摘要:C# 应用程序之间传值由于做东西需要进行不同应用程序之间传值,为了省资源不想用第三方对象作为载体,去动态帮助那里看了看System.Diagnostics.Process.Start()方法的重载形式,以及谭浩强那本C语言的书中关于Main函数参数的作用,想出了下面这种传值方法,现在拿上来跟大家分享:一、在应用程序A中的Button1的click事件中运行此处代码://首先指定好应用程序B的路径string path = @"C:\bison_client1.1\bison_client\bin\Debug\客户端.exe";string x = "haha&qu
        阅读全文
                
摘要:C#如何获取鼠标相对当前窗口的坐标 可以用Control.MousePosition获得当前鼠标的坐标,使用PointToClient计算鼠标相对于某个控件的坐标,如下 Point screenPoint = Control.MousePosition;//鼠标相对于屏幕左上角的坐标 Point formPoint = this.PointToClient(Control.MousePosition);//鼠标相对于窗体左上角的坐标 Point contextMenuPoint = contextMenuStrip1.PointToClient(Control.MousePosition); 
        阅读全文
                
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号