C#中调用系统API函数
[DllImport("User32.dll")]publicstaticexternboolSendMessage(IntPtrhWnd,intwMsg,shortwP...
[DllImport("User32.dll")]
public static extern bool SendMessage(IntPtr hWnd, int wMsg, short wParam, int lParam);//这是导入系统动态链格式
public const int WM_USER = 0x400;
public const int WS_CHILD = 0x40000000;
public const int WS_VISIBLE = 0x10000000;
public const int SWP_NOMOVE = 0x2;
这些常量是在程序中定义的,想问一下 int常量为什么要用0*300,这种格式为什么不直接赋值呢?引用动态链好像都会有这种情况。 展开
public static extern bool SendMessage(IntPtr hWnd, int wMsg, short wParam, int lParam);//这是导入系统动态链格式
public const int WM_USER = 0x400;
public const int WS_CHILD = 0x40000000;
public const int WS_VISIBLE = 0x10000000;
public const int SWP_NOMOVE = 0x2;
这些常量是在程序中定义的,想问一下 int常量为什么要用0*300,这种格式为什么不直接赋值呢?引用动态链好像都会有这种情况。 展开
1个回答
展开全部
这个不是0*400 是0x400,0x开头的表示是16进制数.
追问
也就是说这个值是400,0x只是说明是多少进制对吗 如果二进制和十进制怎么表示?
追答
对.
0x400 = 1024 十进制
= 10000000000 二进制
但是系统消息通常都是用16进制表示.
要好好补一补进制的知识
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询