ä¸ãè°ç¨æ ¼å¼
using System.Runtime.InteropServices; //å¼ç¨æ¤å称空é´ï¼ç®ååé¢ç代ç
...
//使ç¨DllImportAttributeç¹æ§æ¥å¼å
¥apiå½æ°ï¼æ³¨æ声æçæ¯ç©ºæ¹æ³ï¼å³æ¹æ³ä½ä¸ºç©ºã
[DllImport("user32.dll")]
public static extern ReturnType FunctionName(type arg1,type arg2,...);
//è°ç¨æ¶ä¸è°ç¨å
¶ä»æ¹æ³å¹¶æ åºå«
äºãåæ°ç±»åï¼
1ãæ°å¼åç´æ¥ç¨å¯¹åºçå°±å¯ãï¼DWORD -> int , WORD -> Int16ï¼
2ãAPIä¸å符串æéç±»å -> .netä¸string
3ãAPIä¸å¥æ (dWord) -> .netä¸IntPtr
4ãAPIä¸ç»æ -> .netä¸ç»ææè
ç±»ã
ä¸ãå¦ä½ä¿è¯ä½¿ç¨æ管对象çå¹³å°è°ç¨æåï¼
å¦æå¨è°ç¨å¹³å° invoke åçä»»ä½ä½ç½®é½æªå¼ç¨æ管对象ï¼ååå¾åæ¶å¨å¯è½å°å®æ该æ管对象ãè¿å°éæ¾èµæºå¹¶ä½¿å¥ææ æï¼ä»è导è´å¹³å°invoke è°ç¨å¤±è´¥ãç¨ HandleRef å
è£
å¥æå¯ä¿è¯å¨å¹³å° invoke è°ç¨å®æåï¼ä¸å¯¹æ管对象è¿è¡åå¾åæ¶ã
温馨提示:内容为网友见解,仅供参考