前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >TQ框架解析(九):框架应用对 OS 和高清大屏的兼容。

TQ框架解析(九):框架应用对 OS 和高清大屏的兼容。

作者头像
firstxinjie
发布2024-12-06 14:07:59
发布2024-12-06 14:07:59
730
举报
文章被收录于专栏:X#(XSharp)X#(XSharp)

2007 年,游子归乡。闲来无事,逛逛当地的电脑市场。我突然发现一家软件公司。很是惊喜。在和老板娘聊天过程中,我了解到老板的坚持和努力。

然而,我对老板的好感很快化为乌有。

事情是这样的,某天,小伙计回来告诉老板,他写的程序在客户的PC上无法运行,老板说,装套 XP 就可以了。小伙计说,客户买的品牌机,预装的正版 Vista 操作系统,然而,老板还是重复,装套 XP 就可以了。我很好奇,就向这个小伙计了解具体的表现,小伙计说,双击桌面快捷方式,毫无反应。我恍然大悟。因为我知道,那套程序是使用 VB6 写的。于是我告诉老板,问题出在应用程序清单上,网络上搜一下就知道怎么解决了。然而,老板无视,当然,我也无事。

且不说无视客户的无形资产,单仅对技术的追求,真的是配不上多年的努力和坚持。道不同不相为谋,我开始有意疏远他......

这种情况,当年在 VFP 上也是常见现象。各路大神各显神通,试图使 VFP EXE “正常” 运行在 Vista 之上。多年以后,尘埃落定。好像都解决了问题,但又好像又都没解决问题。问题出在哪里呢?UAC!也就是“用户账户控制”!

你可以使用记事本随意打开一个正常编译的 VFP EXE,然后,你会在其中看到一段明码的 XML。那就是 VFP 编译 EXE 时默认使用的内部“应用程序清单”。如果想让自己编译的 EXE,不受客户 PC 中 UAC 设置的影响,唯一的办法就算更改它。

2017年,我在梅子论坛试图长篇连载一个老美对这个问题的详细解释,但是,曲高和寡,没了兴致。刚才看了看,七年过去了,不过了了的 1800 次点击,23 次下载。

我在框架的项目钩子中内置了一段程序,当然,是抄那位老美的,在正常编译完 EXE 之后,会启动那段程序,更改 VFP 的默认清单。什么效果呢?就算无论客户PC中是否开启或关闭 UAC,VFP EXE 都默认以管理员模式启动。你所需要做的,仅仅就是将 EXE 拷贝到客户的机器上而无需多余的任何操作。这样,再也不会重现 2007 年我所看到的笑话。而你,也可以有意无意的在客户那里小小的显示一下自己的“高超”技术。

当然,如果没什么追求,这就可以了。但是,如果你想物尽其用,那么,还是要好好的琢磨一下这个“清单”。专业版框架所修改的清单,已经远远超过上述的目的,它还可以使 VFP EXE “察觉”到客户 PC 的显示比例,对框架中所提供的 VFP DLL 实施免注册,当然,也有办法对 VFP EXE COM 也实施免注册,只不过,这种需求不是很急。至于 OCX,如果你用心,自然也会在其中找到解决办法。我就见过倦猫实现过......

这其中,最重要的是让 VFP EXE 自适应客户 PC 显示器的显示比例。高清大屏时代,为了解决这个问题,多少人愁眉不展。传统的解决方法,估计就是使用也不知道谁写的一个 Resize 类,然后,让自己再多更多的白发。

专业版框架,无声无息中,就解决它了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 xinjie的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档