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

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

概述我有许多我无法修改的应用程序(没有源代码),它们被硬编码为0,0绘制.通常这不是问题,但是我需要在这些应用程序外部绘制一个边界的新项目(kiosk).我正在寻找一种方法来改变显示范围: X: 0 to 1200Y: 0 to 900 类似于: X: -100 to 1100Y: -100 to 800 我在MSDN上看到了一些像SetViewportExtEx,SetWorldTransfor 我有许多我无法修改的应用程序(没有源代码),它们被硬编码为0,0绘制.通常这不是问题,但是我需要在这些应用程序外部绘制一个边界的新项目(kiosk).我正在寻找一种方法来改变显示范围:

X: 0 to 1200Y: 0 to 900

类似于:

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

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

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

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

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

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

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

总结

以上是内存溢出为你收集整理的c – 是否可以修改显示器原点? (win32)中全部内容,希望文章能够帮你解决c – 是否可以修改显示器的原点? (win32)中所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1225404.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存