能力值:
( LV5,RANK:60 )
2 楼
1 可以升级SDK
2 直接从DLL获取
typedef BOOL(FAR WINAPI *PWFUNC)(HWND, HDC, UINT);
BOOL PrintWindow(IN HWND hwnd, IN HDC hdcBlt, IN UINT nFlags)
{
HMODULE hmod = LoadLibrary("user32.dll");
PWFUNC PrintWindow = (PWFUNC)GetProcAddress(hmod, "PrintWindow");
BOOL bReturn = PrintWindow(hwnd, hdcBlt, nFlags);
FreeLibrary(hmod);
return bReturn;
}
能力值:
( LV2,RANK:10 )
3 楼
我用的是radasm,您的第二种方法不是很明白啊,怎么在PrintWindow函数里还有一句PrintWindow(hwnd, hdcBlt, nFlags)啊,递归吗?
请问能用汇编的方式说明一下吗?
能力值:
( LV2,RANK:10 )
4 楼
有人会么赛...
能力值:
( LV2,RANK:10 )
5 楼
那不是递归,是获取PrintWindow这个函数的地址,获取了之后你就可以调用了。
能力值:
( LV2,RANK:10 )
6 楼
知道了,只是不知道用radasm支持的语法如何做到,下面是我写的,最后一句不对了,不知道怎么写,求教了。
注:szText=user32.dll,szText1=PrintWindow,hWnd是一个窗口的句柄,hDc是这个窗口的DC句柄。
_PrintWindow proc hWnd:DWORD,hDc:DWORD,FLAG:DWORD
LOCAL hMod
LOCAL PWnd
LOCAL DReturn
invoke LoadLibrary,offset szText
mov hMod,eax
invoke GetProcAddress,hMod,szText1
mov PWnd,eax
invoke PWnd,hWnd,hDc,FLAG
ret
_PrintWindow endp
能力值:
( LV2,RANK:10 )
7 楼
顶起来!求解....
或者谁能告诉我如何在汇编里引用一个只知道地址的函数,把数据传给函数的参数