加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 是否可以修改显示器的原点? (win32)中

发布时间:2020-12-16 06:55:52 所属栏目:百科 来源:网络整理
导读:我有许多我无法修改的应用程序(没有源代码),它们被硬编码为0,0绘制.通常这不是问题,但是我需要在这些应用程序外部绘制一个边界的新项目(kiosk).我正在寻找一种方法来改变显示范围: X: 0 to 1200Y: 0 to 900 类似于: X: -100 to 1100Y: -100 to 800 我在MSD
我有许多我无法修改的应用程序(没有源代码),它们被硬编码为0,0绘制.通常这不是问题,但是我需要在这些应用程序外部绘制一个边界的新项目(kiosk).我正在寻找一种方法来改变显示范围:

X: 0 to 1200
Y: 0 to 900

类似于:

X: -100 to 1100
Y: -100 to 800

我在MSDN上看到了一些像SetViewportExtEx,SetWorldTransform这样的函数,但是如果我理解它们,它们就不会对系统进行全局更改.它们仅适用于当前流程.

我在C编程,但如果注册表/控制面板/等中的设置也可以.

以前有没有其他人做过这样的事情?

编辑1:窗口位置硬编码为0,0

解决方法

这可能是矫枉过正,但如果你真的希望完全控制它,你总是可以通过在目标进程中挂钩CreateWindow,CreateWindowEx并在将控制权交还给系统之前改变XY坐标来使用API??挂钩拦截Window创建. .

流行的API挂钩库包括:Microsoft Detours,Madshi’s madCodeHook和免费的开源EasyHook.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读