br756742034 2022-11-04 00:09
浏览 17
已结题

c#安装钩子,遇到解决不了的问题

我用c#winfom程序A监控另一个窗体程序B的按钮点击事件,想在那个按钮点击时,执行我自己的一段程序。我使用了线程钩子,SetWindowsHookEx(WH_GETMESSAGE, proc, hInstance, tid)执行后并没有报错,但是程序B会崩溃退出。请给位帮忙看看是怎么回事呢?

string strClassName = "WindowsForms10.Window.8.app.0.141b42a_r7_ad1";
string strTitle = "Form1";
IntPtr hwnd = MouseHook.FindWindow(strClassName, strTitle);
int pid = 0;
int tid = MouseHook.GetWindowThreadProcessId(hwnd, ref pid);
HookProc proc =new HookProc (HookCallProc);
IntPtr hInstance = MouseHook.LoadLibraryA(@"E:\医院\SoftProject\Test\Solution1\WG_Client\bin\Debug\ENEW.HOOK.dll");
hHook = SetWindowsHookEx(WH_GETMESSAGE, proc, hInstance, tid);

        if (hHook == 0)
        {
            MessageBox.Show("钩子安装失败!!!");
            return false;
        }
        MessageBox.Show("ok");
        return true;

回调方法:
public int HookCallProc(int nCode, Int32 wParam, IntPtr lParam)
{
// MessageBox.Show("111");
return CallNextHookEx(hHook, nCode, wParam, lParam);

    }
运行结果及报错内容 :
        弹出ok 窗口后。B程序会退出

请大家帮忙分析一下错误在哪里呢?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月12日
    • 创建了问题 11月4日

    悬赏问题

    • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
    • ¥15 安装quartus II18.1时弹出此error,怎么解决?
    • ¥15 keil官网下载psn序列号在哪
    • ¥15 想用adb命令做一个通话软件,播放录音
    • ¥30 Pytorch深度学习服务器跑不通问题解决?
    • ¥15 部分客户订单定位有误的问题
    • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
    • ¥15 Bug traq 数据包 大概什么价
    • ¥15 在anaconda上pytorch和paddle paddle下载报错
    • ¥25 自动填写QQ腾讯文档收集表