Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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# enmu ö¾ÙС½á(2)×Ô¼ºµÄ

ͨ¹ý·´É䣬µÃµ½Õë¶Ôijһö¾ÙÀàÐ͵ÄÃèÊö¡£
ö¾ÙµÄ¶¨ÒåÖмÓÈëÃèÊö
  using System;
using System.Collections;
namespace Ahnlab.ApplicationServices
{
public sealed partial class SysEnums
{


#region ϵͳ¹ÜÀíÄ£¿éµÄö¾ÙÐÅÏ¢
/// <summary>
/// ÔÚÏß²»Á¼Åâ³ ......

C# תÒåÐòÁÐ Unicode ×Ö·û±àÂë

תÒåÐòÁР       ×Ö·ûÃû³Æ        Unicode ±àÂë
\'        µ¥ÒýºÅ        0x0027
\"        Ë«Òýº ......

C#UsingÓ÷¨

ÒýÓõØÖ·:http://www.cnblogs.com/heyaowen163/articles/1177909.html
         C#¹Ø¼ü×ÖµÄÓ÷¨²»µ¥Ö»ÓÐÒ»ÖÖ·½·¨µÄ¡£ÏÖÔÚÎÒ×ܽáÁËÒ»ÏÂUsingºÍNewµÄÓ÷¨£¬Ë³±ã¹®¹ÌÏÂ×Ô¼ºµÄ֪ʶ¡£
Using
£¨1£©ÒýÓÃÃüÃû¿Õ¼ä
        
using× ......

C# DllImportµÄÓ÷¨

´ó¼ÒÔÚʵ¼Ê¹¤×÷ѧϰC#µÄʱºò£¬¿ÉÄÜ»áÎÊ£ºÎªÊ²Ã´ÎÒÃÇҪΪһЩÒѾ­´æÔڵŦÄÜ£¨±ÈÈçWindowsÖеÄһЩ¹¦ÄÜ£¬C++ÖÐÒѾ­±àдºÃµÄһЩ·½·¨£©ÒªÖØÐ±àд´úÂ룬C#ÓÐûÓз½·¨¿ÉÒÔÖ±½Ó¶¼ÓÃÕâЩԭ±¾ÒѾ­´æÔڵŦÄÜÄØ£¿´ð°¸Êǿ϶¨µÄ£¬´ó¼Ò¿ÉÒÔͨ¹ýC#ÖеÄDllImportÖ±½Óµ÷ÓÃÕâЩ¹¦ÄÜ¡£
DllImportËùÔÚµÄÃû×Ö¿Õ¼ä using System.Runtime.Inte ......

C# ¹Ø¼ü×ÖexternÓ÷¨

ÐÞÊηûÓÃÓÚÉùÃ÷ÔÚÍⲿʵÏֵķ½·¨¡£extern ÐÞÊηûµÄ³£¼ûÓ÷¨ÊÇÔÚʹÓà Interop ·þÎñµ÷Èë·Ç
ÍйܴúÂëʱÓë DllImport ÊôÐÔÒ»ÆðʹÓã»ÔÚÕâÖÖÇé¿öÏ£¬¸Ã·½·¨»¹±ØÐëÉùÃ÷Ϊ static£¬ÈçÏÂÃæµÄʾÀýËùʾ£º[DllImport("avifil32.dll")]
private static extern void AVIFileInit();
×¢Òâ
extern ¹Ø¼ü×Ö»¹¿ÉÒÔ¶¨ÒåÍⲿ³ÌÐò¼¯±ðÃû£¬Ê¹ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ