winuser.h C#版

memerycyb 2010-10-27 11:20:19
下载地址:http://download.csdn.net/source/2787765

winuser.h这个头文件中包含了很多windows编程需要的常量.在用c#调用api时经常会用到这些常量.每次需要用时就要去winuser.h中查找常量的定义,比较麻烦,所以用正则表达式+手工修改的方法将这些常量全部改为了c#版,放到一个公用的dll中,这样用起来比较方便.
需要注意的是,有些是条件编译的,如下所示,这时只能选取其中一种定义,需要时根据具体情况选择值(如windows版本:WINVER),所有这些地方都以//..WINVER做了标记.

//..WINVER
//#if(WINVER >= 0x0500);
public const int CF_MAX = 18;
//#elif(WINVER >= 0x0400);
//public const int CF_MAX = 17;
////#else
//public const int CF_MAX = 15;
//#endif

下面是一个转换之后的例子.

winuser.h中的原始定义:
/*
* ShowWindow() Commands
*/
#define SW_HIDE 0
#define SW_SHOWNORMAL 1
#define SW_NORMAL 1
#define SW_SHOWMINIMIZED 2
#define SW_SHOWMAXIMIZED 3
#define SW_MAXIMIZE 3
#define SW_SHOWNOACTIVATE 4
#define SW_SHOW 5
#define SW_MINIMIZE 6
#define SW_SHOWMINNOACTIVE 7
#define SW_SHOWNA 8
#define SW_RESTORE 9
#define SW_SHOWDEFAULT 10
#define SW_FORCEMINIMIZE 11
#define SW_MAX 11

c#版定义:
/*
* ShowWindow() Commands
*/
public const int SW_HIDE = 0;
public const int SW_SHOWNORMAL = 1;
public const int SW_NORMAL = 1;
public const int SW_SHOWMINIMIZED = 2;
public const int SW_SHOWMAXIMIZED = 3;
public const int SW_MAXIMIZE = 3;
public const int SW_SHOWNOACTIVATE = 4;
public const int SW_SHOW = 5;
public const int SW_MINIMIZE = 6;
public const int SW_SHOWMINNOACTIVE = 7;
public const int SW_SHOWNA = 8;
public const int SW_RESTORE = 9;
public const int SW_SHOWDEFAULT = 10;
public const int SW_FORCEMINIMIZE = 11;
public const int SW_MAX = 11;
...全文
229 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangzhen_927116 2010-10-27
  • 打赏
  • 举报
回复

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧