一個自適應的函式指標
剛剛寫的,發到帖子裡以後要用的時候總是找不到,所以就放到這啦。有些內容日後再補。
// ApiCall.cpp : 定義控制檯應用程式的入口點。
//
#include "stdafx.h"
#include <windows.h>
void StdCall(void* pfn, ...);
int _tmain(int argc, _TCHAR* argv[])
{
//取DLL控制程式碼
char lpLibFileName[]="User32.dll";
HMODULE hModule=LoadLibraryA(lpLibFileName);
//定義函式指標
void* pfn;
//問題:這裡應該怎麼宣告為自動匹配函式呢?
//也就是宣告為可以自動為所有函式匹配,以便能
//1.void (*Sleep)(int) 無返回值,有一個引數
//2.int (*GetLastError)() 有返回值,無引數
//3.int (*MessageBoxA)(int,char *,char *,int) 有返回值,有多個引數
//4.以及無返回值,無引數的情況
//取API函式控制程式碼,並轉換為本地函式
pfn=GetProcAddress(hModule,"MessageBoxA");
//呼叫函式
//hProc(0,(char*)"這是一個對話方塊!",(char*)"提示",32);
StdCall(pfn, 0,(char*)"這是一個對話方塊!",(char*)"提示",32);
//釋放DLL
FreeLibrary(hModule);
return 0;
}
__declspec(naked)
void StdCall(void* pfn, ...)
{
_asm{
pop eax;
add eax, 3;
xchg dword ptr[esp], eax;
push eax;
ret;
}
}
相關文章
- 指標函式 和 函式指標指標函式
- 【不在混淆的C】指標函式、函式指標、回撥函式指標函式
- C/C++—— 寫一個函式,它的引數為指向函式的指標,返回型別也為指向函式的指標C++函式指標型別
- 函式指標函式指標
- [C++] 成員函式指標和函式指標C++函式指標
- 指向函式的指標函式指標
- 函式名/函式地址/函式指標函式指標
- 宣告與函式、函式指標函式指標
- 函式指標呼叫函式指標
- typedef void (*Fun) (void) 的理解——函式指標——typedef函式指標函式指標
- Rust中的函式指標Rust函式指標
- cpp:"函式指標"的方法函式指標
- 函式指標&回撥函式Callback函式指標
- c++ 函式指標C++函式指標
- 關於函式指標函式指標
- C++(函式指標)C++函式指標
- 函式指標基礎函式指標
- perl 裡邊的 函式指標函式指標
- 函式指標簡單的列子函式指標
- 函式指標複雜的例子函式指標
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- C/C++——指向函式的指標和指向函式的指標的陣列C++函式指標陣列
- vector中存放函式指標函式指標
- 函式指標淺談 (轉)函式指標
- C語言 函式指標C語言函式指標
- 函式指標練習題函式指標
- C++中函式指標與函式物件C++函式指標物件
- C#中的函式指標 (轉)C#函式指標
- c++ 類的函式引用 指標C++函式指標
- C++中的函式指標和函式物件總結C++函式指標物件
- 函式指標使用c++類成員函式函式指標C++
- Oracle自適應共享遊標Oracle
- 如何使用成員函式指標函式指標
- C++函式指標詳解C++函式指標
- 回撥函式(c和指標)函式指標
- 供應鏈管理的一個指標和幾個公式指標公式
- 函式指標之回撥函式和轉移表函式指標
- C語言函式指標與回撥用函式C語言函式指標