日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

GetModuleFileName

發布時間:2025/3/21 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GetModuleFileName 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • GetModuleFileName
    • 函數功能
    • 函數聲明:
    • 第一個參數
    • 第二個參數
    • 第三個參數
    • 返回值
    • 注意:
    • 實現代碼:
    • 獲取主模塊路徑
    • 獲取DLL模塊路徑

GetModuleFileName

函數功能

計算機應用中的一個函數,用以獲取當前進程已加載模塊文件的完整路徑。

函數聲明:

GetModuleFileNameA(_In_opt_ HMODULE hModule,_Out_writes_to_(nSize,((return < nSize) ? (return + 1) : nSize)) LPSTR lpFilename,_In_ DWORD nSize);

第一個參數

屬于輸入參數,一個模塊的句柄。可以是一個DLL模塊,或者是一個應用程序的實例句柄。如果該參數為NULL,該函數返回該應用程序全路徑(即主模塊路徑)

第二個參數

屬于輸出參數,指定一個字串緩沖區,要在其中容納文件的用NULL字符中止的路徑名,hModule模塊就是從這個文件裝載進來的。

第三個參數

屬于輸入參數,裝載到緩沖區lpFileName的最大字符數量。

返回值

Long,如執行成功,返回復制到lpFileName的實際字符數量;零表示失敗。使用GetLastError可以打印錯誤信息。如果返回為成功,將在lpFileName的緩沖區當中返回相應模塊的路徑,如果所設的nSize過小,那么返回僅按所設置緩沖區大小返回相應字符串內容。
返回值是用于指示是否發生錯誤的。

注意:

GetCurrentDirectory只是返回當前進程的當前目錄,而并不是進程的鏡像文件(.exe)所在的目錄
GetCurrentDirectory返回當前進程的當前目錄,并不一定返回你的應用程序的目錄。如果你在應用程序中調用了打開文件對話框,你選擇了一個文件,那么,這個文件所在的目錄就成了當前進程的當前目錄了。
GetModuleFileName()是指進程的鏡像文件(.exe)所在的目錄
GetModuleFileName 函數指定當前進程模塊的路徑.它僅僅操作當前進程下的模塊.如果想獲取其他進程下的模塊信息, 則需使用 GetModuleFileNameEx 函數.
GetCurrentDirectory()適用于XP等系統,在WinCE上不能使用
GetModuleFileName()適用于WinCE2.0以后

實現代碼:

獲取主模塊路徑

TCHAR szMoudlePath[MAX_PATH];if (!GetModuleFileName(NULL, szMoudlePath, MAX_PATH)){LPCSTR a = "獲取主模塊路徑失敗";LPCSTR b = "再接再厲";MessageBox(NULL, a, b, MB_OK);return 0;}LPCSTR a = "獲取主模塊路徑成功";LPCSTR b = "厲害";MessageBox(NULL, szMoudlePath, b, MB_OK);

獲取DLL模塊路徑

TCHAR szMoudlePath[MAX_PATH];HMODULE hKernel32;hKernel32 = LoadLibrary("kernel32.dll");if (!GetModuleFileName(hKernel32, szMoudlePath, MAX_PATH)){LPCSTR a = "獲取DLL模塊路徑失敗";LPCSTR b = "再接再厲";MessageBox(NULL, a, b, MB_OK);return 0;}LPCSTR a = "獲取DLL模塊路徑成功";LPCSTR b = "厲害";MessageBox(NULL, szMoudlePath, b, MB_OK);

總結

以上是生活随笔為你收集整理的GetModuleFileName的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。