Windows操作系统编程
文章平均质量分 78
阳光Cherry梦
这个作者很懒,什么都没留下…
展开
-
C#调用非托管C编写DLL的数据类型转换
//C++中的DLL函数原型为 //extern "C" __declspec(dllexport) bool 方法名一(const char* 变量名1, unsigned char* 变量名2) //extern "C" __declspec(dllexport) bool 方法名二(const unsigned char* 变量名1, char* 变量名2) //C#调转载 2012-10-15 10:52:48 · 1413 阅读 · 0 评论 -
线程池概述
到目前为止我们使用多线程应用程序的目的是尽可能多地使用计算机处理器资源。所以,看起来我们仅需要为每个独立的任务分配一个不同的线程,并让处理器确定在任何时间它总会处理其中的某一个任务。额,对小系统来说这样做很好。但是当系统越来越复杂时,线程的数量也会越来越多,操作系统将会花费更多时间处理锁分配,理清线程之间的关系,处理程序指令的时间实际上是很少的。为了让我们的程序具备可扩展性,我们将不得不对线程进行转载 2012-11-26 10:43:30 · 424 阅读 · 0 评论 -
com组件和一般dll的区别
这阵子在想一个需要利用com组件的小程序怎么做,突然想起上次去面试的时候考官问过autocad开发时为什么要利用com,而不采用一般的dll?用com来写程序要比普通的dll麻烦一些,但是带来的好处也大很多,尤其是在开发像autocad这样大型软件的时候,需要跨区域来协同工作。“学习COM,首先要知道COM的目的是什么,它解决了一个什么样的问题,在此基础上,MS提供了各式各样的可扩展的COM服务,转载 2012-11-26 09:55:10 · 841 阅读 · 0 评论 -
C#多线程编程
一.多线程的概念 Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的,线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共转载 2012-11-08 13:26:32 · 716 阅读 · 0 评论 -
win32经验总结
转:win32经验总结觉得写那些读书笔记太久,太烦,里面有价值的东西不明显,如果把关键点总结的话,应该会更有利用价值。一 窗口和消息1 前缀前缀 全称 释义 CS class style 类风格选项 CW create windows 创建窗口选项 DT draw text 绘制文本选项 I转载 2012-11-04 10:21:03 · 1616 阅读 · 0 评论 -
计时器篇两个计时器API的讨论
SDK编程笔记 —计时器篇两个计时器API的讨论 SetTimer函数用于创建一个计时器,KillTimer函数用于销毁一个计时器。计时器属于系统资源,使用完应及时销毁。 SetTimer的函数原型如下: UINT_PTR SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc )转载 2012-10-18 10:00:06 · 1612 阅读 · 0 评论 -
C# 重写WndProc 拦截 发送 系统消息 + windows消息常量值(2)
接收拦截+发送消息 对于处理所有消息.net 提供了wndproc进行重写WndProc(ref Message m)protected override void WndProc(ref Message m){ const int WM_SYSCOMMAND = 0x0112; const int SC_CLOSE = 0xF060;转载 2012-10-16 18:59:18 · 2864 阅读 · 0 评论 -
Windows消息机制3
Windows操作系统最大的特点就是其图形化的操作界面,其图形化界面是建立在其消息处理机制这个基础之上的。如果不理解Windows消息处理机制,肯定无法深入的理解Windows编程。可惜很多程序员对Windows消息只是略有所闻,对其使用知之甚少,更不了解其内部实现原理,本文试着一步一步向大家披露我理解的Windows消息机制。可以说,掌握了这一部分知识,就是掌握了Windows编程中的神兵利器,转载 2012-10-16 16:50:01 · 654 阅读 · 0 评论 -
P/INVOKE .NET互操作
http://pinvoke.net/default.aspx/user32/SetTimer.html 找到宝啦找到宝~~~原创 2012-10-17 08:49:50 · 634 阅读 · 0 评论 -
Windows消息机制2
Windows是消息驱动的,从设计上来说,通过消息可以减少耦合,增加结构的灵活性。 一个典型的Windows程序是这样的: 程序在启动时创建了一个或多个窗口,在创建窗口时指定了窗口的消息处理函数: WNDCLASSEX wndclass; wndcla转载 2012-10-16 16:02:16 · 579 阅读 · 0 评论 -
Windows消息机制
作者对windows的消息处理的流程描述的很好。但是 原文中存在一些错误。这里Copy之,对错误的地方加以修正。原文地址:http://blog.csdn.net/recle/archive/2008/11/08/3256614.aspx(经修正的)原文斜体是修正后的文字。对于我自己添加的文字,也以斜体标识出。Windows的应用程序一般包含窗口(Window),它主要为用户提转载 2012-10-16 15:33:45 · 665 阅读 · 0 评论 -
C# 重写WndProc 拦截 发送 系统消息 + windows消息常量值(1)--windows消息大全
#region 截获消息 /// 截获消息 处理XP不能关机问题 protected override void WndProc(ref Message message) { switch (message.Msg) { case WM_QUERYENDSE转载 2012-10-16 18:57:29 · 1949 阅读 · 0 评论 -
SetTimer()KillTimer()
WM_TIMER消息映射(转)SDK编程笔记 — 计时器篇两个计时器API的讨论 SetTimer函数用于创建一个计时器,KillTimer函数用于销毁一个计时器。计时器属于系统资源,使用完应及时销毁。 SetTimer的函数原型如下: UINT_PTR SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse转载 2012-10-15 16:20:06 · 1926 阅读 · 0 评论 -
c# Wndproc的使用方法
WndProc(ref Message m)protected override void WndProc(ref Message m) { const int WM_SYSCOMMAND = 0x0112; const int SC_CLOSE = 0xF060; if (m.Msg == WM_SYSCOMMAND && (int) m.WParam转载 2012-10-15 20:03:09 · 3696 阅读 · 0 评论