Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

C# API ´óÈ«

C:\ProgramFiles\MicrosoftVisual Studio .NET\ FrameworkSDK\Samples\ Technologies\ Interop\PlatformInvoke\ WinAPIs\CSĿ¼ÏÂÓдóÁ¿µÄµ÷ÓÃAPIµÄÀý×Ó¡£
Ò»¡¢µ÷Óøñʽ
using System.Runtime.InteropServices; //ÒýÓôËÃû³Æ¿Õ¼ä£¬¼ò»¯ºóÃæµÄ´úÂë
//ʹÓÃDllImportAttributeÌØÐÔÀ´ÒýÈëapiº¯Êý£¬×¢ÒâÉùÃ÷µÄÊǿշ½·¨£¬¼´·½·¨ÌåΪ¿Õ¡£
[DllImport("user32.dll")]
public static extern ReturnType FunctionName(type arg1,type arg2,...);
//µ÷ÓÃʱÓëµ÷ÓÃÆäËû·½·¨²¢ÎÞÇø±ð
¿ÉÒÔʹÓÃ×ֶνøÒ»²½ËµÃ÷ÌØÐÔ£¬ÓöººÅ¸ô¿ª£¬È磺
[ DllImport( "kernel32", EntryPoint="GetVersionEx" )]
DllImportAttributeÌØÐԵĹ«¹²×Ö¶ÎÈçÏ£º
1¡¢CallingConvention ָʾÏò·ÇÍйÜʵÏÖ´«µÝ·½·¨²ÎÊýʱËùÓÃµÄ CallingConvention Öµ¡£
CallingConvention.Cdecl : µ÷Ó÷½ÇåÀí¶ÑÕ»¡£ËüʹÄúÄܹ»µ÷ÓþßÓÐ varargs µÄº¯Êý¡£
CallingConvention.StdCall : ±»µ÷Ó÷½ÇåÀí¶ÑÕ»¡£ËüÊÇ´ÓÍйܴúÂëµ÷Ó÷ÇÍйܺ¯ÊýµÄĬÈÏÔ¼¶¨¡£
2¡¢CharSet ¿ØÖƵ÷Óú¯ÊýµÄÃû³Æ°æ±¾¼°Ö¸Ê¾ÈçºÎÏò·½·¨·âËÍ String ²ÎÊý¡£
´Ë×ֶα»ÉèÖÃΪ CharSet ÖµÖ®Ò»¡£Èç¹û CharSet ×Ö¶ÎÉèÖÃΪ Unicode£¬ÔòËùÓÐ×Ö·û´®²ÎÊýÔÚ´«µÝµ½·ÇÍйÜʵÏÖ֮ǰ¶¼×ª»»³É Unicode ×Ö·û¡£Õ⻹µ¼ÖÂÏò DLL EntryPoint µÄÃû³ÆÖÐ×·¼Ó×Öĸ“W”¡£Èç¹û´Ë×Ö¶ÎÉèÖÃΪ Ansi£¬Ôò×Ö·û´®½«×ª»»³É ANSI ×Ö·û´®£¬Í¬Ê±Ïò DLL EntryPoint µÄÃû³ÆÖÐ×·¼Ó×Öĸ“A”¡£´ó¶àÊý Win32 API ʹÓÃÕâÖÖ×·¼Ó“W”»ò“A”µÄÔ¼¶¨¡£Èç¹û CharSet ÉèÖÃΪ Auto£¬ÔòÕâÖÖת»»¾ÍÊÇÓëÆ½Ì¨Óйصģ¨ÔÚ Windows NT ÉÏΪ Unicode£¬ÔÚ Windows 98 ÉÏΪ Ansi£©¡£CharSet µÄĬÈÏֵΪ Ansi¡£CharSet ×Ö¶ÎÒ²ÓÃÓÚÈ·¶¨½«´ÓÖ¸¶¨µÄ DLL µ¼ÈëÄĸö°æ±¾µÄº¯Êý¡£CharSet.Ansi ºÍ CharSet.Unicode µÄÃû³ÆÆ¥Å乿Ôò´ó²»Ïàͬ¡£¶ÔÓÚ Ansi À´Ëµ£¬Èç¹û½« EntryPoint ÉèÖÃΪ“MyMethod”ÇÒËü´æÔڵϰ£¬Ôò·µ»Ø“MyMethod”¡£Èç¹û DLL ÖÐûÓГMyMethod”£¬µ«´æÔÚ“MyMethodA”£¬Ôò·µ»Ø“MyMethodA”¡£¶ÔÓÚ Unicode À´ËµÔòÕýºÃÏà·´¡£Èç¹û½« EntryPoint ÉèÖÃΪ“MyMethod”ÇÒËü´æÔڵϰ£¬Ôò·µ»Ø“MyMethodW”¡£Èç¹û DLL Öв»´æÔÚ“MyMethodW”£¬µ«´æÔÚ“MyMethod”£¬Ôò·µ»Ø“MyMethod”¡£Èç¹ûʹÓõÄÊÇ Auto£¬ÔòÆ¥Å乿ÔòÓëÆ½Ì¨Óйأ¨ÔÚ Windows NT ÉÏΪ U


Ïà¹ØÎĵµ£º

C#ÓïÑԹ淶

1. ÃüÃû¹æ·¶
a)    Àà
¡¾¹æÔò1-1¡¿Ê¹ÓÃPascal¹æÔòÃüÃûÀàÃû£¬¼´Ê××ÖĸҪ´óд¡£
¡¾¹æÔò1-2¡¿Ê¹ÓÃÄܹ»·´Ó³À๦ÄܵÄÃû´Ê»òÃû´Ê¶ÌÓïÃüÃûÀà¡£
¡¾¹æÔò1-3¡¿²»ÒªÊ¹ÓÓI”¡¢“C”¡¢“_”µÈÌØ¶¨º¬Òåǰ׺¡£
¡¾¹æÔò1-4¡¿×Ô¶¨ÒåÒì³£ÀàÓ¦ÒÔException½áβ¡£
¡¾¹æÔò1-5¡¿ÎļþÃûÒªÄÜ·´Ó ......

c#ÖÐbin,obj,propertiesÎļþ¼ÐµÄ×÷ÓÃ

¡¡¡¡Bin Ŀ¼ÓÃÀ´´æ·Å±àÒëµÄ½á¹û£¬binÊǶþ½øÖÆbinraryµÄÓ¢ÎÄËõд£¬ÒòΪ×î³õC±àÒëµÄ³ÌÐòÎļþ¶¼ÊǶþ½øÖÆÎļþ£¬ËüÓÐDebugºÍReleaseÁ½¸ö°æ±¾£¬·Ö±ð¶ÔÓ¦µÄÎļþ¼ÐΪbin/DebugºÍbin/Release£¬Õâ¸öÎļþ¼ÐÊÇĬÈϵÄÊä³ö·¾¶£¬ÎÒÃÇ¿ÉÒÔͨ¹ý£ºÏîÄ¿ÊôÐÔ—>ÅäÖÃÊôÐÔ—>Êä³ö·¾¶À´Ð޸ġ£
¡¡¡¡objÊÇobjectµÄËõд£¬ÓÃÓÚ´æ·Å ......

C#ʼþ(event)½âÎö

      ʼþ(event)£¬Õâ¸ö´Ê¶ù¶ÔÓÚ³õѧÕßÀ´Ëµ£¬ÍùÍù×ÜÊÇÏÔµÃÓÐЩÉñÃØ£¬²»Ò×Ū¶®¡£¶øÕâЩ¶«Î÷È´ÍùÍùÓÖÊDZà³ÌÖг£ÓÃÇҷdz£ÖØÒªµÄ¶«Î÷¡£´ó¼Ò¶¼ÖªµÀwindowsÏûÏ¢´¦Àí»úÖÆµÄÖØÒª£¬ÆäʵC#ʼþ¾ÍÊÇ»ùÓÚwindowsÏûÏ¢´¦Àí»úÖÆµÄ£¬Ö»ÊÇ·â×°µÄ¸üºÃ£¬Èÿª·¢ÕßÎÞÐëÖªµÀµ×²ãµÄÏûÏ¢´¦Àí»úÖÆ£¬¾Í¿ÉÒÔ¿ª·¢³öÇ¿´óµÄ»ùÓÚ ......

dzÎö¹¤³§Ä£Ê½(C#)

ÎÒÒÔΪ£¬ÔÚËùÓÐģʽÖУ¬×î¼òµ¥¡¢×î³£ÓõľÍÊǹ¤³§Ä£Ê½ÁË£¨°üÀ¨³éÏ󹤳§£©¡£
¹¤³§Ä£Ê½ºÍ³éÏóģʽµÄÇø±ðÔÚÓÚ£¬¹¤³§Ä£Ê½ÊÇͨ¹ý²ÎÊý£¨Ò»°ã½ÐÐͱðÂ룩À´¶¯Ì¬Éú³É¶ÔÏ󣬶ø³éÏ󹤳§±ØÐëÁ˽âÉÏÏÂÎIJÅÄܵ÷ÓÃÏàÓ¦µÄ¶ÔÏó¡£ÊµÀý´úÂëÈçÏ£º
Ò»¡¢¹¤³§Ä£Ê½
public class Factory
{
public static object Create(int type)
{ ......

C#ÀàºÍC#½á¹¹ÌåµÄ¹ØÏµ

C#ÀࣺÀàÊÇC# Öй¦ÄÜ×îΪǿ´óµÄÊý¾ÝÀàÐÍ£¬ÀàÒ²¶¨ÒåÁËÊý¾ÝÀàÐ͵ÄÊý¾ÝºÍÐÐΪ¡£È»ºó£¬³ÌÐòÔ±¿ÉÒÔ´´½¨×÷Ϊ´ËÀàµÄʵÀýµÄ¶ÔÏó¡£
C#½á¹¹Ì壺½á¹¹ÌåÊÇÇáÁ¿Ð͵ÄÀ࣬ʹÓÿªÏúÏà¶ÔÓÚÀà½ÏС¡£
C#ÀàºÍC#½á¹¹ÌåÁ½ÕߵĹØÏµ£º
1.Êý¾ÝÀàÐÍ£ºÀàºÍ½á¹¹Ìå¶¼ÊÇÊý¾ÝÀàÐÍ£¬ÀàÊÇÒýÓÃÀàÐÍ£¬½á¹¹ÌåÊÇÖµÀàÐÍ¡£
2.¼Ì³ÐÐÔ£ºÀà¿ÉÒԼ̳кͱ»¼Ì³Ð£¬¶ø½á¹ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ