#include "stdafx.h"
#include "abcde.h"#pragma comment(linker,"section:share,rws")
#pragma data_seg("share")
HINSTANCE hins=NULL;
HHOOK hook=NULL;
int ftime=1;
DWORD pid=0;
#pragma data_seg()LRESULT CALLBACK hookp(int ncode ,WPARAM wparam,LPARAM lparam);BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
 )
{
//hins=(HINSTANCE)hModule;
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
if(hook!=NULL)
ninstall();
break;
    }
    return TRUE;
}DLL void install()
{
pid=0;
HWND hWnd=NULL;
ftime=1;
hWnd = ::FindWindow(NULL,"Form1");
GetWindowThreadProcessId(hWnd,&pid); if(hook==NULL && pid>0)
{
MessageBox(NULL,"找到窗口","Yes",MB_OK);
hook=(HHOOK)::SetWindowsHookEx(WH_GETMESSAGE,hookp,0,pid);
if(hook!=NULL)
MessageBox(NULL,"挂钩成功","Yes",MB_OK);
else
MessageBox(NULL,"挂钩失败","Yes",MB_OK); }
}
DLL void ninstall()
{
ftime=0;
if(hook!=NULL)
::UnhookWindowsHookEx(hook);
}
LRESULT CALLBACK hookp(int ncode,WPARAM wparam,LPARAM lparam)
{
if(ftime)
{
ftime=0;
MessageBox(NULL,"抓到你了","Yes",MB_OK);
}
return ::CallNextHookEx(hook,ncode,wparam,lparam);
}我想把这个dll挂到一个 Form1的程序上
为什么挂不上去?