郁闷死,没错呀.....关于调用C++写的.DLL
我是从VB中改过来的,原VB写法: 
 ////////bas 
 Attribute   VB_Name   =    "Module1 " 
 Option   Explicit   
 Declare   Function   LoadLibrary   Lib    "kernel32 "   Alias    "LoadLibraryA "   (ByVal   lpLibFileName   As   String)   As   Long 
 Declare   Function   GetProcAddress   Lib    "kernel32 "   (ByVal   hModule   As   Long,   ByVal   lpProcName   As   String)   As   Long 
 Declare   Function   SetWindowsHookEx   Lib    "user32 "   Alias    "SetWindowsHookExA "   (ByVal   idHook   As   Long,   ByVal   lpfn   As   Long,   ByVal   hmod   As   Long,   ByVal   dwThreadId   As   Long)   As   Long   
 Public   Const   WH_CBT   =   5 
 ////////frm 
 Option   Explicit   
 Private   Sub   Form_Load()   
       Dim   hHookDLL   As   Long 
       Dim   pHookFunction   As   Long 
       Dim   hSystemHook   As   Long         
       App.TaskVisible   =   False         
       hHookDLL   =   LoadLibrary( "StickyApp32.DLL ")         
       If   hHookDLL   =   0   Then 
             MsgBox    "Could   not   locate   StickyApp32.DLL ",   vbOKOnly   Or   vbCritical,    "StickyApp32 " 
             End 
       End   If         
       pHookFunction   =   GetProcAddress(hHookDLL,    "HookFunction ") 
       hSystemHook   =   SetWindowsHookEx(WH_CBT,   pHookFunction,   hHookDLL,   0)         
 End   Sub   
 Private   Sub   Form_Unload(Cancel   As   Integer) 
       Cancel   =   True 
 End   Sub     
 //////////////////////////////////CSHARP 
 =====================我写的: 
 using   System; 
 using   System.Collections.Generic; 
 using   System.ComponentModel; 
 using   System.Data; 
 using   System.Drawing; 
 using   System.Text; 
 using   System.Windows.Forms; 
 using   System.Runtime.InteropServices;//这是用到DllImport时候要引入的包   
 namespace   WindowsApplication4 
 {         
             public   partial   class   Form1   :   Form 
             { 
                         const   int   WH_CBT   =   5; 
 [DllImport( "kernel32 ",   EntryPoint   =    "GetProcAddress ",   SetLastError   =   true)] 
                         public   static   extern   IntPtr   GetProcAddress(IntPtr   hModule,   string   lpProcName); 
                         [DllImport( "kernel32 ",   EntryPoint   =    "LoadLibrary ",   SetLastError   =   true)] 
                         public   static   extern   IntPtr   LoadLibrary(string   lpLibName); 
                         [DllImport( "User32.dll ",   CharSet   =   CharSet.Auto)] 
                         public   static   extern   IntPtr   SetWindowsHookEx(int   type,   IntPtr   hook,   IntPtr   instance,   int   threadID);