100分--关于HOOK,我需要在程序A点击按钮1中的Click事件里,执行程序B[在线求助]
我需要在程序A点击按钮1中的Click事件里,执行程序B,然后继续运行程序A
如何使用HOOK实现?
问题点数:100、回复次数:7Top
1 楼kingcom_xu(冷羽)回复于 2002-11-15 21:41:54 得分 0
用HOOK实现??
不用吧...Top
2 楼vbstudio(vbstudio)回复于 2002-11-15 21:44:27 得分 0
楼上兄弟,那用什么实现?
Top
3 楼kingcom_xu(冷羽)回复于 2002-11-15 21:46:20 得分 0
你知道hook是做什么用的么???Top
4 楼vbstudio(vbstudio)回复于 2002-11-15 21:56:23 得分 0
**************
注意:俺无程序的源代码,故想用钩子取的它的事件
如楼上兄弟有好的建议,一样给分!Top
5 楼kingcom_xu(冷羽)回复于 2002-11-15 22:02:09 得分 0
sorry...也怪你没说清楚问题...
Top
6 楼rivershan(阿门)回复于 2002-11-15 22:34:54 得分 0
ShellExecute
ShellExecuteEx
Top
7 楼primer(Mr.海洋)回复于 2002-11-15 23:59:43 得分 100
如果用HOOK来做的话,程序B可以作成DLL形式。程序A要用一个程序来调用,主要代码如下:
WinExec("A.exe",SW_SHOW);
hWnd = FindWindow();//得到程序A的窗口句柄
dwThreadId = GetWindowThreadProcessId(hWnd,NULL);
SetHook(dwThreadId);
PostMessage(hWnd,WM_NULL,0,0);
程序B的主要代码如下:
__declspec(dllimport) BOOL WINAPI SetHook(DWORD dwThreadId);//需要倒出该函数
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
if(ul_reason_for_call == DLL_PROCESS_ATTACH)
{
g_hinstDll = (HINSTANCE)hModule ;
}
return TRUE;
}
BOOL WINAPI SetHook(DWORD dwThreadId)
{
hHook = SetWindowsHookEx (WH_CALLWNDPROC,CallWndProc,g_hinstDll,dwThreadId);
}
LRESULT WINAPI CallWndProc(int nCode,WPARAM wParam,LPARAM lParam)
{
MSG * pmsg = (MSG*)lParam;
DWORD dwThreadId;
if(pmsg->message==WM_COMMAND&&pmsg->wParam==ID_BUTTON)
{
//要执行的代码
}
return (CallNextHookEx(hHook,nCode,wParam,lParam));
}
Top
相关问题
- A程序怎么样把B程序的按钮给屏蔽、打开?
- Hook如何给当前程序发送一个按钮消息
- 程序A上有一个按钮,按下后启动程序B。问:如何在程序B中设断点进行调试???
- 不用hook,能不能把其他应用程序的关闭按钮或最小化最大化按钮屏蔽掉??
- 请教:我通过一个程序A向另一个程序B的对话框发送消息。在A中给B的取消按钮发送WM_LBUTTONDOWN消息,想把B关闭,可是不行,不知为什么。
- 请看按钮奇多的程序
- 如何给用appwizard创建的对话框程序加上最小化按钮?还有一个关于hook的问题......
- 关于在B/S下的按钮问题
- 如何实现当按下A按钮时,A按钮凹进去,按下B按钮时,A按钮弹起,B按钮凹进去!
- 请教B/S程序高手




