与 DLL 挂钩一个游戏钩子
Hooking with DLL a game hook
My DLL
#include <windows.h>
#include <vector>
#include "Funkcje.h"
WNDPROC originalProc;
LRESULT CALLBACK myHookProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
BOOL WINAPI DllMain(
HINSTANCE hinstDLL,
DWORD fdwreason,
LPVOID lpReversed)
{
switch (fdwreason)
{
case DLL_PROCESS_ATTACH:
WNDPROC originalProc = SetWindowLongPtr(getToplevelWindows()[1], GWLP_WNDPROC, (LONG_PTR)myHookProc);
break;
}
return TRUE;
}
LRESULT CALLBACK myHookProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
LRESULT originalResult = originalProc(hWnd, uMsg, wParam, lParam); // call original first
if (uMsg == WM_PAINT)
{
PAINTSTRUCT ps;
HDC hdc = GetDC(hWnd);
TextOut(hdc, 150, 150, L"TEST", 4);
ReleaseDC(hWnd, hdc);
}
return originalResult;
}
Funkcje.hhttp://pastebin.com/dc5t5H8s
我在使用 (LONG_PTR(myHookProc 时遇到问题我的编译器说错误 C2440:"正在初始化":无法从"LONG"转换为"WNDPROC"我不知道我现在能做什么。如果没有(LONG_PTR(,我的编译器说他无法从"LRESULT"转换为"LONG">
将签名更改为:
LRESULT APIENTRY myHookProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
并呼吁:
WNDPROC originalProc = (WNDPROC)SetWindowLongPtr(getToplevelWindows()[1], GWLP_WNDPROC, (LONG_PTR)myHookProc);
相关文章:
- 有没有办法让我编写一个可以在Windows和Linux上运行的命令行游戏?
- 我正在尝试创建一个 C++ 贪吃蛇游戏,但我似乎无法绘制第二个高度边框,我该如何解决这个问题?
- 将四元数旋转的游戏对象旋转另一个四元数时出现问题
- 我在视觉工作室中制作了一个类似胭脂的游戏,我想显示玩家的生命值
- OpenGL 2D游戏只绘制第二个精灵纹理而不是第一个
- 一个创建彩票游戏的程序,该彩票游戏可以有效地创建 10 套而没有任何重复?
- 致命错误LNK1169:在C++Visual Studio中编写战舰游戏时发现的一个或多个多重定义的符号
- 我正在制作一个刽子手游戏,我需要帮助弄清楚为什么它不能完全工作
- 要读取一个从一个游戏应用程序(In C )到我的Android应用程序的文件
- 在C 中创建一个猜测游戏
- 在此过程中的纸牌游戏程序.不知道为什么我会得到一个随机数-858993460
- UE4 -C :如何设计一个本地Coop游戏,其中字符具有不同的输入方案
- 使用C 组合精灵的不同部分在iOS游戏中形成一个单个精灵
- 切换始终在猜测一个数字游戏上输出默认值
- 如何使用.txt文件从我的数独游戏C的另一个文件中获得输入
- 如何在c++骰子游戏中存储第一个值,并在下一步进行比较
- 我写了一个游戏,但得到一个我不明白的编译错误
- 与 DLL 挂钩一个游戏钩子
- 组织一个C++游戏的最佳方式是什么?该游戏涉及用户在路径之间进行选择,以便在旅程中前进
- 一个游戏的输入验证