已解决,好东西分享给大家。 [csharp] 01. public static class NativeConst 02. { 03. public const int WM_CREATE = 0x0001; 04. public const int WM_DESTROY = 0x0002; 05. public const int WM_MOVE = 0x0003; 06. public const int WM_SIZE = 0x0005; 07. public const int WM_ACTIVATE = 0x0006; 08. public const int WM_SETFOCUS = 0x0007; 09. public const int WM_KILLFOCUS = 0x0008; 10. public const int WM_ENABLE = 0x000A; 11. public const int WM_SETREDRAW = 0x000B; 12. public const int WM_SETTEXT = 0x000C; 13. public const int WM_GETTEXT = 0x000D; 14. public const int WM_GETTEXTLENGTH = 0x000E; 15. public const int WM_PAINT = 0x000F; 16. public const int WM_CLOSE = 0x0010; 17. public const int WM_QUERYENDSESSION = 0x0011; 18. public const int WM_QUIT = 0x0012; 19. public const int WM_QUERYOPEN = 0x0013; 20. public const int WM_ERASEBKGND = 0x0014; 21. public const int WM_SYSCOLORCHANGE = 0x0015; 22. public const int WM_ENDSESSION = 0x0016; 23. public const int WM_SHOWWINDOW = 0x0018; 24. public const int WM_ACTIVATEAPP = 0x001C; 25. public const int WM_FONTCHANGE = 0x001D; 26. public const int WM_TIMECHANGE = 0x001E; 27. public const int WM_CANCELMODE = 0x001F; 28. public const int WM_SETCURSOR = 0x0020; 29. public const int WM_MOUSEACTIVATE = 0x0021; 30. public const int WM_CHILDACTIVATE = 0x0022; 31. public const int WM_QUEUESYNC = 0x0023; 32. public const int WM_GETMINMAXINFO = 0x0024; 33. public const int WM_PAINTICON = 0x0026; 34. public const int WM_ICONERASEBKGND = 0x0027; 35. public const int WM_NEXTDLGCTL = 0x0028; 36. public const int WM_SPOOLERSTATUS = 0x002A; 37. public const int WM_DRAWITEM = 0x002B; 38. public const int WM_MEASUREITEM = 0x002C; 39. public const int WM_VKEYTOITEM = 0x002E; 40. public const int WM_CHARTOITEM = 0x002F; 41. public const int WM_SETFONT = 0x0030; 42. public const int WM_GETFONT = 0x0031; 43. public const int WM_SETHOTKEY = 0x0032; 44. public const int WM_GETHOTKEY = 0x0033; 45. public const int WM_QUERYDRAGICON = 0x0037; 46. public const int WM_COMPAREITEM = 0x0039; 47. public const int WM_COMPACTING = 0x0041; 48. public const int WM_WINDOWPOSCHANGING = 0x0046; 49. public const int WM_WINDOWPOSCHANGED = 0x0047; 50. public const int WM_POWER = 0x0048; 51. public const int WM_COPYDATA = 0x004A; 52. public const int WM_CANCELJOURNA = 0x004B; 53. public const int WM_NOTIFY = 0x004E; 54. public const int WM_INPUTLANGCHANGEREQUEST = 0x0050; 55. public const int WM_INPUTLANGCHANGE = 0x0051; 56. public const int WM_TCARD = 0x0052; 57. public const int WM_HELP = 0x0053; 58. public const int WM_USERCHANGED = 0x0054; 59. public const int WM_NOTIFYFORMAT = 0x0055; 60. public const int WM_CONTEXTMENU = 0x007B; 61. public const int WM_STYLECHANGING = 0x007C; 62. public const int WM_STYLECHANGED = 0x007D; 63. public const int WM_DISPLAYCHANGE = 0x007E; 64. public const int WM_GETICON = 0x007F; 65. public const int WM_SETICON = 0x0080; 66. public const int WM_NCCREATE = 0x0081; 67. public const int WM_NCDESTROY = 0x0082; 68. public const int WM_NCCALCSIZE = 0x0083; 69. public const int WM_NCHITTEST = 0x0084; 70. public const int WM_NCPAINT = 0x0085; 71. public const int WM_NCACTIVATE = 0x0086; 72. public const int WM_GETDLGCODE = 0x0087; 73. public const int WM_NCMOUSEMOVE = 0x00A0; 74. public const int WM_NCLBUTTONDOWN = 0x00A1; 75. public const int WM_NCLBUTTONUP = 0x00A2; 76. public const int WM_NCLBUTTONDBLCLK = 0x00A3; 77. public const int WM_NCRBUTTONDOWN = 0x00A4; 78. public const int WM_NCRBUTTONUP = 0x00A5; 79. public const int WM_NCRBUTTONDBLCLK = 0x00A6; 80. public const int WM_NCMBUTTONDOWN = 0x00A7; 81. public const int WM_NCMBUTTONUP = 0x00A8; 82. public const int WM_NCMBUTTONDBLCLK = 0x00A9; 83. public const int WM_KEYFIRST = 0x0100; 84. public const int WM_KEYUP = 0x0101; 85. public const int WM_CHAR = 0x0102; 86. public const int WM_DEADCHAR = 0x0103; 87. public const int WM_SYSKEYDOWN = 0x0104; 88. public const int WM_SYSKEYUP = 0x0105; 89. public const int WM_SYSCHAR = 0x0106; 90. public const int WM_SYSDEADCHAR = 0x0107; 91. public const int WM_INITDIALOG = 0x0110; 92. public const int WM_COMMAND = 0x0111; 93. public const int WM_SYSCOMMAND = 0x0112; 94. public const int WM_TIMER = 0x0113; 95. public const int WM_HSCROLL = 0x0114; 96. public const int WM_VSCROLL = 0x0115; 97. public const int WM_INITMENU = 0x0116; 98. public const int WM_INITMENUPOPUP = 0x0117; 99. public const int WM_MENUSELECT = 0x011F; 100. public const int WM_MENUCHAR = 0x0120; 101. public const int WM_ENTERIDLE = 0x0121; 102. public const int WM_CTLCOLORMSGBOX = 0x0132; 103. public const int WM_CTLCOLOREDIT = 0x0133; 104. public const int WM_CTLCOLORLISTBOX = 0x0134; 105. public const int WM_CTLCOLORBTN = 0x0135; 106. public const int WM_CTLCOLORDLG = 0x0136; 107. public const int WM_CTLCOLORSCROLLBAR = 0x0137; 108. public const int WM_CTLCOLORSTATIC = 0x0138; 109. public const int WM_SHARED_MENU = 0x01E2;
110. public const int WM_MOUSEFIRST = 0x0200; 111. public const int WM_MOUSEMOVE = 0x0200; 112. public const int WM_LBUTTONDOWN = 0x0201; 113. public const int WM_LBUTTONUP = 0x0202; 114. public const int WM_LBUTTONDBLCLK = 0x0203; 115. public const int WM_RBUTTONDOWN = 0x0204; 116. public const int WM_RBUTTONUP = 0x0205; 117. public const int WM_RBUTTONDBLCLK = 0x0206; 118. public const int WM_MBUTTONDOWN = 0x0207; 119. public const int WM_MBUTTONUP = 0x0208; 120. public const int WM_MBUTTONDBLCLK = 0x0209; 121. public const int WM_MOUSEWHEEL = 0x020A; 122. public const int WM_PRINT = 0x0317; 123. 124. 125. public const int HC_ACTION = 0; 126. public const int WH_CALLWNDPROC = 4; 127. public const int GWL_WNDPROC = -4; 128. 129. 130. public const int GW_HWNDFIRST = 0; 131. public const int GW_HWNDLAST = 1; 132. public const int GW_HWNDNEXT = 2; 133. public const int GW_HWNDPREV = 3; 134. public const int GW_OWNER = 4; 135. public const int GW_CHILD = 5; 136. 137. 138. public const int SC_RESTORE = 0xF120; //还原 139. public const int SC_MOVE = 0xF010; //移动 140. public const int SC_SIZE = 0xF000; //大小 141. public const int SC_MINIMIZE = 0xF020; //最小化 142. public const int SC_MAXIMIZE = 0xF030; //最大化 143. public const int SC_CLOSE = 0xF060; //关闭 144. 145. 146. //WM_NCHITTEST消息处理返回值 147. public const int HTERROR = -2; 148. public const int HTTRANSPARENT = -1; 149. public const int HTNOWHERE = 0; 150. public const int HTCLIENT = 1; 151. public const int HTCAPTION = 2; 152. public const int HTSYSMENU = 3; 153. public const int HTGROWBOX = 4; 154. public const int HTSIZE = HTGROWBOX; 155. public const int HTMENU = 5; 156. public const int HTHSCROLL = 6; 157. public const int HTVSCROLL = 7; 158. public const int HTMINBUTTON = 8; 159. public const int HTMAXBUTTON = 9; 160. public const int HTLEFT = 10; 161. public const int HTRIGHT = 11; 162. public const int HTTOP = 12; 163. public const int HTTOPLEFT = 13; 164. public const int HTTOPRIGHT = 14; 165. public const int HTBOTTOM = 15; 166. public const int HTBOTTOMLEFT = 16; 167. public const int HTBOTTOMRIGHT = 17; 168. public const int HTBORDER = 18; 169. public const int HTREDUCE = HTMINBUTTON; 170. public const int HTZOOM = HTMAXBUTTON; 171. public const int HTSIZEFIRST = HTLEFT; 172. public const int HTSIZELAST = HTBOTTOMRIGHT; 173. public const int HTOBJECT = 19; 174. public const int HTCLOSE = 20; 175. public const int HTHELP = 21; 176. 177. 178. public const int WS_MAXIMIZEBOX = 0x10000; 179. public const int WS_MINIMIZEBOX = 0x20000; 180. public const int WS_SIZEBOX = 0x40000; 181. public const int WS_SYSMENU = 0x80000; 182. 183. 184. public const int MF_REMOVE = 0x1000; 185. 186. 187. /// <summary> 188. /// 贴图选项:将源矩形区域直接拷贝到目标矩形区域 189. /// </summary> 190. public const int ROP_SRCCOPY = 0x00CC0020; 191. }
c# 互操作 win 中的 dll
已经试过了,程序报错,原因是未定义WM_CLOSE,再求正解。
01. public static class NativeConst
02. {
03. public const int WM_CREATE = 0x0001;
04. public const int WM_DESTROY = 0x0002;
05. public const int WM_MOVE = 0x0003;
06. public const int WM_SIZE = 0x0005;
07. public const int WM_ACTIVATE = 0x0006;
08. public const int WM_SETFOCUS = 0x0007;
09. public const int WM_KILLFOCUS = 0x0008;
10. public const int WM_ENABLE = 0x000A;
11. public const int WM_SETREDRAW = 0x000B;
12. public const int WM_SETTEXT = 0x000C;
13. public const int WM_GETTEXT = 0x000D;
14. public const int WM_GETTEXTLENGTH = 0x000E;
15. public const int WM_PAINT = 0x000F;
16. public const int WM_CLOSE = 0x0010;
17. public const int WM_QUERYENDSESSION = 0x0011;
18. public const int WM_QUIT = 0x0012;
19. public const int WM_QUERYOPEN = 0x0013;
20. public const int WM_ERASEBKGND = 0x0014;
21. public const int WM_SYSCOLORCHANGE = 0x0015;
22. public const int WM_ENDSESSION = 0x0016;
23. public const int WM_SHOWWINDOW = 0x0018;
24. public const int WM_ACTIVATEAPP = 0x001C;
25. public const int WM_FONTCHANGE = 0x001D;
26. public const int WM_TIMECHANGE = 0x001E;
27. public const int WM_CANCELMODE = 0x001F;
28. public const int WM_SETCURSOR = 0x0020;
29. public const int WM_MOUSEACTIVATE = 0x0021;
30. public const int WM_CHILDACTIVATE = 0x0022;
31. public const int WM_QUEUESYNC = 0x0023;
32. public const int WM_GETMINMAXINFO = 0x0024;
33. public const int WM_PAINTICON = 0x0026;
34. public const int WM_ICONERASEBKGND = 0x0027;
35. public const int WM_NEXTDLGCTL = 0x0028;
36. public const int WM_SPOOLERSTATUS = 0x002A;
37. public const int WM_DRAWITEM = 0x002B;
38. public const int WM_MEASUREITEM = 0x002C;
39. public const int WM_VKEYTOITEM = 0x002E;
40. public const int WM_CHARTOITEM = 0x002F;
41. public const int WM_SETFONT = 0x0030;
42. public const int WM_GETFONT = 0x0031;
43. public const int WM_SETHOTKEY = 0x0032;
44. public const int WM_GETHOTKEY = 0x0033;
45. public const int WM_QUERYDRAGICON = 0x0037;
46. public const int WM_COMPAREITEM = 0x0039;
47. public const int WM_COMPACTING = 0x0041;
48. public const int WM_WINDOWPOSCHANGING = 0x0046;
49. public const int WM_WINDOWPOSCHANGED = 0x0047;
50. public const int WM_POWER = 0x0048;
51. public const int WM_COPYDATA = 0x004A;
52. public const int WM_CANCELJOURNA = 0x004B;
53. public const int WM_NOTIFY = 0x004E;
54. public const int WM_INPUTLANGCHANGEREQUEST = 0x0050;
55. public const int WM_INPUTLANGCHANGE = 0x0051;
56. public const int WM_TCARD = 0x0052;
57. public const int WM_HELP = 0x0053;
58. public const int WM_USERCHANGED = 0x0054;
59. public const int WM_NOTIFYFORMAT = 0x0055;
60. public const int WM_CONTEXTMENU = 0x007B;
61. public const int WM_STYLECHANGING = 0x007C;
62. public const int WM_STYLECHANGED = 0x007D;
63. public const int WM_DISPLAYCHANGE = 0x007E;
64. public const int WM_GETICON = 0x007F;
65. public const int WM_SETICON = 0x0080;
66. public const int WM_NCCREATE = 0x0081;
67. public const int WM_NCDESTROY = 0x0082;
68. public const int WM_NCCALCSIZE = 0x0083;
69. public const int WM_NCHITTEST = 0x0084;
70. public const int WM_NCPAINT = 0x0085;
71. public const int WM_NCACTIVATE = 0x0086;
72. public const int WM_GETDLGCODE = 0x0087;
73. public const int WM_NCMOUSEMOVE = 0x00A0;
74. public const int WM_NCLBUTTONDOWN = 0x00A1;
75. public const int WM_NCLBUTTONUP = 0x00A2;
76. public const int WM_NCLBUTTONDBLCLK = 0x00A3;
77. public const int WM_NCRBUTTONDOWN = 0x00A4;
78. public const int WM_NCRBUTTONUP = 0x00A5;
79. public const int WM_NCRBUTTONDBLCLK = 0x00A6;
80. public const int WM_NCMBUTTONDOWN = 0x00A7;
81. public const int WM_NCMBUTTONUP = 0x00A8;
82. public const int WM_NCMBUTTONDBLCLK = 0x00A9;
83. public const int WM_KEYFIRST = 0x0100;
84. public const int WM_KEYUP = 0x0101;
85. public const int WM_CHAR = 0x0102;
86. public const int WM_DEADCHAR = 0x0103;
87. public const int WM_SYSKEYDOWN = 0x0104;
88. public const int WM_SYSKEYUP = 0x0105;
89. public const int WM_SYSCHAR = 0x0106;
90. public const int WM_SYSDEADCHAR = 0x0107;
91. public const int WM_INITDIALOG = 0x0110;
92. public const int WM_COMMAND = 0x0111;
93. public const int WM_SYSCOMMAND = 0x0112;
94. public const int WM_TIMER = 0x0113;
95. public const int WM_HSCROLL = 0x0114;
96. public const int WM_VSCROLL = 0x0115;
97. public const int WM_INITMENU = 0x0116;
98. public const int WM_INITMENUPOPUP = 0x0117;
99. public const int WM_MENUSELECT = 0x011F;
100. public const int WM_MENUCHAR = 0x0120;
101. public const int WM_ENTERIDLE = 0x0121;
102. public const int WM_CTLCOLORMSGBOX = 0x0132;
103. public const int WM_CTLCOLOREDIT = 0x0133;
104. public const int WM_CTLCOLORLISTBOX = 0x0134;
105. public const int WM_CTLCOLORBTN = 0x0135;
106. public const int WM_CTLCOLORDLG = 0x0136;
107. public const int WM_CTLCOLORSCROLLBAR = 0x0137;
108. public const int WM_CTLCOLORSTATIC = 0x0138;
109. public const int WM_SHARED_MENU = 0x01E2;
110. public const int WM_MOUSEFIRST = 0x0200;
111. public const int WM_MOUSEMOVE = 0x0200;
112. public const int WM_LBUTTONDOWN = 0x0201;
113. public const int WM_LBUTTONUP = 0x0202;
114. public const int WM_LBUTTONDBLCLK = 0x0203;
115. public const int WM_RBUTTONDOWN = 0x0204;
116. public const int WM_RBUTTONUP = 0x0205;
117. public const int WM_RBUTTONDBLCLK = 0x0206;
118. public const int WM_MBUTTONDOWN = 0x0207;
119. public const int WM_MBUTTONUP = 0x0208;
120. public const int WM_MBUTTONDBLCLK = 0x0209;
121. public const int WM_MOUSEWHEEL = 0x020A;
122. public const int WM_PRINT = 0x0317;
123.
124.
125. public const int HC_ACTION = 0;
126. public const int WH_CALLWNDPROC = 4;
127. public const int GWL_WNDPROC = -4;
128.
129.
130. public const int GW_HWNDFIRST = 0;
131. public const int GW_HWNDLAST = 1;
132. public const int GW_HWNDNEXT = 2;
133. public const int GW_HWNDPREV = 3;
134. public const int GW_OWNER = 4;
135. public const int GW_CHILD = 5;
136.
137.
138. public const int SC_RESTORE = 0xF120; //还原
139. public const int SC_MOVE = 0xF010; //移动
140. public const int SC_SIZE = 0xF000; //大小
141. public const int SC_MINIMIZE = 0xF020; //最小化
142. public const int SC_MAXIMIZE = 0xF030; //最大化
143. public const int SC_CLOSE = 0xF060; //关闭
144.
145.
146. //WM_NCHITTEST消息处理返回值
147. public const int HTERROR = -2;
148. public const int HTTRANSPARENT = -1;
149. public const int HTNOWHERE = 0;
150. public const int HTCLIENT = 1;
151. public const int HTCAPTION = 2;
152. public const int HTSYSMENU = 3;
153. public const int HTGROWBOX = 4;
154. public const int HTSIZE = HTGROWBOX;
155. public const int HTMENU = 5;
156. public const int HTHSCROLL = 6;
157. public const int HTVSCROLL = 7;
158. public const int HTMINBUTTON = 8;
159. public const int HTMAXBUTTON = 9;
160. public const int HTLEFT = 10;
161. public const int HTRIGHT = 11;
162. public const int HTTOP = 12;
163. public const int HTTOPLEFT = 13;
164. public const int HTTOPRIGHT = 14;
165. public const int HTBOTTOM = 15;
166. public const int HTBOTTOMLEFT = 16;
167. public const int HTBOTTOMRIGHT = 17;
168. public const int HTBORDER = 18;
169. public const int HTREDUCE = HTMINBUTTON;
170. public const int HTZOOM = HTMAXBUTTON;
171. public const int HTSIZEFIRST = HTLEFT;
172. public const int HTSIZELAST = HTBOTTOMRIGHT;
173. public const int HTOBJECT = 19;
174. public const int HTCLOSE = 20;
175. public const int HTHELP = 21;
176.
177.
178. public const int WS_MAXIMIZEBOX = 0x10000;
179. public const int WS_MINIMIZEBOX = 0x20000;
180. public const int WS_SIZEBOX = 0x40000;
181. public const int WS_SYSMENU = 0x80000;
182.
183.
184. public const int MF_REMOVE = 0x1000;
185.
186.
187. /// <summary>
188. /// 贴图选项:将源矩形区域直接拷贝到目标矩形区域
189. /// </summary>
190. public const int ROP_SRCCOPY = 0x00CC0020;
191. }
已经试过了,程序报错,原因是未定义WM_CLOSE,再求正解。 WM_CLOSE = 0x0010; 妹子要懂的百度
C#没有这种API的常量值,要自己定义。