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
Ïà¹ØÎĵµ£º
ʼþ(event)£¬Õâ¸ö´Ê¶ù¶ÔÓÚ³õѧÕßÀ´Ëµ£¬ÍùÍù×ÜÊÇÏÔµÃÓÐЩÉñÃØ£¬²»Ò×Ū¶®¡£¶øÕâЩ¶«Î÷È´ÍùÍùÓÖÊDZà³ÌÖг£ÓÃÇҷdz£ÖØÒªµÄ¶«Î÷¡£´ó¼Ò¶¼ÖªµÀwindowsÏûÏ¢´¦Àí»úÖÆµÄÖØÒª£¬ÆäʵC#ʼþ¾ÍÊÇ»ùÓÚwindowsÏûÏ¢´¦Àí»úÖÆµÄ£¬Ö»ÊÇ·â×°µÄ¸üºÃ£¬Èÿª·¢ÕßÎÞÐëÖªµÀµ×²ãµÄÏûÏ¢´¦Àí»úÖÆ£¬¾Í¿ÉÒÔ¿ª·¢³öÇ¿´óµÄ»ùÓÚ ......
ÏëÌá¸ßc#±à³Ìˮƽ£¿ÏÂÃæÕâ50Ìõ¾Ñé²»¿É²»¶Á£¡
Ìá¸ßC#±à³ÌˮƽµÄ50¸öÒªµã
1.×ÜÊÇÓÃÊôÐÔ (Property) À´´úÌæ¿É·ÃÎʵÄÊý¾Ý³ÉÔ±
2.ÔÚ readonly ºÍ const Ö®¼ä£¬ÓÅÏÈʹÓà readonly
3.ÔÚ as ºÍ Ç¿ÖÆÀàÐÍת»»Ö®¼ä£¬ÓÅÏÈʹÓà as ²Ù×÷·û
4.ʹÓÃÌõ¼þÊôÐÔ (Conditional Attributes) À´´úÌæÌõ¼þ±àÒëÓï¾ä #if
5.×ÜÊÇΪ×Ô¶¨Ò ......
תÒåÐòÁÐ ×Ö·ûÃû³Æ Unicode ±àÂë
\' µ¥ÒýºÅ 0x0027
\" Ë«Òýº ......
C#Çå³ýÒ³Ãæ»º´æ
private void SetPageNoCache()
{
Response.Buffer = true;
Response.ExpiresAbsolute = Sy ......
C#ÀࣺÀàÊÇC# Öй¦ÄÜ×îΪǿ´óµÄÊý¾ÝÀàÐÍ£¬ÀàÒ²¶¨ÒåÁËÊý¾ÝÀàÐ͵ÄÊý¾ÝºÍÐÐΪ¡£È»ºó£¬³ÌÐòÔ±¿ÉÒÔ´´½¨×÷Ϊ´ËÀàµÄʵÀýµÄ¶ÔÏó¡£
C#½á¹¹Ì壺½á¹¹ÌåÊÇÇáÁ¿Ð͵ÄÀ࣬ʹÓÿªÏúÏà¶ÔÓÚÀà½ÏС¡£
C#ÀàºÍC#½á¹¹ÌåÁ½ÕߵĹØÏµ£º
1.Êý¾ÝÀàÐÍ£ºÀàºÍ½á¹¹Ìå¶¼ÊÇÊý¾ÝÀàÐÍ£¬ÀàÊÇÒýÓÃÀàÐÍ£¬½á¹¹ÌåÊÇÖµÀàÐÍ¡£
2.¼Ì³ÐÐÔ£ºÀà¿ÉÒԼ̳кͱ»¼Ì³Ð£¬¶ø½á¹ ......