全局注入DLL 出现了一个不理解的错误求指点迷津!

会点技术 会点技术 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
以下是Dlg
************************************************************
HMODULE g_hModule = NULL;

void CGameHelperDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码

g_hModule = LoadLibrary(L"Helper.dll");
FARPROC proc = GetProcAddress(g_hModule, "StartHook");
proc();
MessageBox(L"确定");
}


void CGameHelperDlg::OnBnClickedCancel()
{
// TODO: 在此添加控件通知处理程序代码
MessageBox(L"退出");

FARPROC proc = GetProcAddress(g_hModule, "StopHook");
proc();


CDialogEx::OnCancel();
}
************************************************
以下是DLL的 头文件 h
*****************************************************************

#ifdef HELPER_EXPORTS
#define HELPER_API EXTERN_C __declspec(dllexport) //用c的编译方式 没有错误提示 但是没有效果
//#define HELPER_API __declspec(dllexport) //如果该车的 C++的编译方式 就会出错
#else
#define HELPER_API EXTERN_C __declspec(dllexport)
//#define HELPER_API __declspec(dllexport)
#define HELPER_API __declspec(dllimport)
#endif



HELPER_API BOOL StartHook(void);
HELPER_API BOOL StopHook(void);
*************************************************
以下是DLL的内容
************************************************
#include "stdafx.h"
#include "Helper.h"

HHOOK g_hKeyboard = NULL;

LRESULT CALLBACK KeyboardProc(
int code,
WPARAM wParam,
LPARAM lParam
)
{
return CallNextHookEx(g_hKeyboard, code, wParam, lParam);
}

HELPER_API BOOL StartHook(void)
{
g_hKeyboard = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, GetModuleHandle(L"Helper.h"), 0);
if (!g_hKeyboard)
return FALSE;
return TRUE;
}
HELPER_API BOOL StopHook(void)
{
if (g_hKeyboard)
{
UnhookWindowsHookEx(g_hKeyboard);
}
g_hKeyboard = NULL;
return TRUE;

}





以下是错误提示
**********************************
0x00000000 处(位于 GameHelper.exe 中)引发的异常: 0xC0000005: 执行位置 0x00000000 时发生访问冲突。

0x7480CB49 处有未经处理的异常(在 GameHelper.exe 中): 0xC0000005: 执行位置 0x00000000 时发生访问冲突。

0x00000000 处(位于 GameHelper.exe 中)引发的异常: 0xC0000005: 执行位置 0x00000000 时发生访问冲突。



*****************************
#define HELPER_API EXTERN_C __declspec(dllexport) //用c的编译方式 没有错误提示 但是没有效果
//#define HELPER_API __declspec(dllexport) //如果该车的 C++的编译方式 就会出错
...全文

相关推荐

深入理解DLL注入工具:易语言源码解析

DLL注入是一种编程技巧,允许开发者将动态链接库(Dynamic Link Library, DLL)注入到运行中的进程空间中。这种技术在安全领域中具有广泛的应用,比如恶意软件利用DLL注入进行代码执行,安全工具通过注入进行进程监控和系统防护。易语言是一种中文编程语言,它为用户提供了一种简化的编程方式,尤其在Windows平台下的软件开发中表现突出。易语言有着丰富的中文命令库,使得编程者无需记忆复杂的英文指令,从而大幅降低了编程的门槛。

不吃香菜的鱼

InjectDll:VC++ DLL注入技术实战详解

本文还有配套的精品资源,点击获取 简介:DLL注入是一种技术,它将动态链接库(DLL)加载到另一个进程的地址空间中,使得DLL中的函数可以在目标进程中执行。这种技术广泛应用于软件开发、调试及恶意软件。本源码包展示了如何使用VC++实现DLL注入的全过程,包括创建DLL、获取进程句柄、映射DLL到目标进程、加载DLL和执行DLL导出函数。同时,考虑到安全性,本文也强调了合法和...

易个小小钡原子

2026安卓开发从零实战指南:环境搭建、核心基础与避坑干货(适配新版Android_Studio).pdf

2026安卓开发从零实战指南:环境搭建、核心基础与避坑干货(适配新版Android_Studio).pdf

彼岸交流群

如何实现科研成果转化率的有效提升与技术市场精准对接?.docx

如何实现科研成果转化率的有效提升与技术市场精准对接?

BIZKEEN

基于PID控制的ABS汽车防抱死制动系统、车轮滑移率+最优滑移率Carsim和Simulink联合仿真(带参考文献)

内容概要:本文档系统研究了基于PID控制的ABS汽车防抱死制动系统,聚焦于车轮滑移率与最优滑移率的动态控制问题,采用Carsim与Simulink联合仿真平台构建高精度车辆动力学模型与控制系统。研究详细阐述了ABS的工作机理,通过设计PID控制器实时调节制动压力,确保车轮滑移率稳定在最优区间,从而最大化轮胎与路面间的摩擦力,提升制动效能与行车安全性。文档涵盖了完整的建模流程、控制策略设计、仿真验证方法及参数整定过程,并提供了详实的参考文献支持,增强了研究的可复现性与工程应用价值。; 适合人群:具备车辆工程、自动化或控制理论等相关专业背景,熟悉MATLAB/Simulink与Carsim仿真环境的研究生、科研人员及汽车行业技术研发工程师。; 使用场景及目标:①用于ABS控制算法的教学讲解与科研实验;②支撑车辆制动性能优化、主动安全系统开发等实际工程应用;③为相关学术论文撰写、课题复现与技术创新提供理论依据与技术参考。; 阅读建议:建议读者结合所提供的仿真模型与参考文献,逐步运行并调试代码,重点关注滑移率计算逻辑、PID参数整定方法及联合仿真的数据交互机制,同时可尝试引入模糊控制、自适应控制等先进算法进行对比分析,以深入掌握ABS系统的控制精髓与优化路径。

荔枝科研社
评论 3
收藏 已收藏
分享
返回顶部
会点技术
C++ 语言 65,214 成员 250,514 内容