Dll使用備份

關於dll使用的方法,留個備份,總是好事

dll 代碼: 

// dll code 
// compile :cl /LD *.c
#include <windows.h>
#pragma comment(lib, "user32")

__declspec(dllexport) 
void func()
{
    MessageBox(
0"dll func execute""dll func", MB_OK);
}


BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD fdwReason, PVOID fImpLoad)
{
    
switch(fdwReason)
    
{
        
/*
        #define DLL_PROCESS_ATTACH 1    
        #define DLL_THREAD_ATTACH  2    
        #define DLL_THREAD_DETACH  3    
        #define DLL_PROCESS_DETACH 0    
        
*/

        
case DLL_PROCESS_ATTACH:
            
{
                MessageBox(
0"DLL_PROCESS_ATTACH""load dll"0);
                
break;
            }

            
// 注意break
        case DLL_PROCESS_DETACH:
            
{
                MessageBox(
0"DLL_PROCESS_DETACH""detach dll"0);
                func();
                
break;
            }

        
default:
            
{
                
break;
            }

    }

    
    
    
return TRUE;
}

調用代碼:

#include <windows.h>

// #include "libname.h" // 貌似可以不要

#pragma comment(lib,"libname")

int main(int argc, char *argv[])
{
    HANDLE hLibTest 
= LoadLibrary("libname");
    
    func(); 
// lib 定義
    
    FreeLibrary(hLibTest);
    
return 0;
}



發佈了14 篇原創文章 · 獲贊 0 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章