è°ç¨æ¹æ³åæ¥éª¤ï¼
é¦å ï¼è¦æ·»å å½å空é´ï¼
using System.Runtime.InteropServices;
è¿ä¸ªå½å空é´ä¸»é¡µæ¯ä¸ºäºä½¿ç¨ï¼[DllImport]
第äºï¼è¦éæå¼ç¨å¤é¨åºï¼
æ¹æ³ï¼è¦å¨ç±»å ï¼æ¹æ³å¤ãåæ¶éè¿ static extern 声æã示ä¾ä»£ç å¦ä¸ï¼
Â
[DllImport("ticketPrinterDll.dll",CharSet=CharSet.Unicode)]
     public static extern void ShowMessage( );
     private void button1_Click(object sender, EventArgs e)
     {
       ShowMessage();
     }
æåï¼è°ç¨å½æ°ãè¿ä¸ªå°±ä¸ç¨è¯´äºãç´æ¥è°ç¨å°±OKäºã
Â
[DllImport]çåºæ¬è¯æ³åå±æ§ï¼
[DllImport("dll name")]
EntryPointï¼ä½¿ç¨å ¶å®å½æ°å
CharSet æ示ç¨å¨å ¥å£ç¹ä¸çå符éï¼å¦ï¼CharSet=CharSet.Ansiï¼
SetLastError æ示æ¹æ³æ¯å¦ä¿ç Win32"ä¸ä¸é误"ï¼å¦ï¼SetLastError=trueï¼
ExactSpelling æ示 EntryPoint æ¯å¦å¿ é¡»ä¸æ示çå ¥å£ç¹çæ¼åå®å ¨å¹é ï¼å¦ï¼ExactSpelling=falseï¼
PreserveSigæ示æ¹æ³çç¾ååºå½è¢«ä¿çè¿æ¯è¢«è½¬æ¢ï¼ å¦ï¼PreserveSig=trueï¼
CallingConventionæç¤ºå ¥å£ç¹çè°ç¨çº¦å®ï¼ å¦ï¼CallingConvention=CallingConvention.Winapiï¼
ä¾å¦ï¼ä¼ æçå符é为Unicode
[DllImport("ticketPrinterDll.dll",CharSet=CharSet.Unicode)]
Â
Â
Â
å ¨é¨ä»£ç å¦ä¸ï¼
Â
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
Â
using System.Runtime.InteropServices;
Â
Â
Â
namespace TestDllCSharp
{
Â
   public partial class Form1 : Form
   {
Â
Â
     public Form1()
     {
       InitializeComponent();
     }
Â
    [DllImport("ticketPrinterDll.dll",CharSet=CharSet.Unicode)]
     public static extern void ShowMessage( );
     private void button1_Click(object sender, EventArgs e)
     {
       ShowMessage();
     }
   }
}
Â