控件名称不可用怎么解决
ChatGPT 问世的这半年,我们目睹了许多由它掀起的变革和争议,见证了越来越多大模型的崛起,同时推测着未来的发展趋势……但万万没想到,这股名为 ChatGPT 的风,还能吹到 30 年前的操作系统中!
近来,一位开发者 @dialupdotnet 掏出了他 30 年前——即 1993 年入手的“古董电脑” Gateway 4DX2-66,并表示:“我不想让我 1993 年的 Gateway 4DX2-66 被排除在 AI 革命之外,所以我基于 OpenAI API,为 Windows 3.1 建立了一个 AI 助手,名为 WinGPT。”
也就是说,WinGPT 能让 30 年前推出的 Windows 3.1 也用上 ChatGPT!
这是怎么做到的?
诞生于 1992 年的 Windows 3.1,是微软在 31 年前发布的操作系统,如今早已被时代淘汰并遗忘,因而想要让 Windows 3.1 接入 ChatGPT,在 30 年前的电脑上实现和 AI 聊天的功能,听起来就像是“天方夜谭”——所以,@dialupdotnet 究竟是如何做到的?
根据 @dialupdotnet 介绍,WinGPT 是用 C 语言编写的,使用标准的 Windows API,此外:“我用 Open Watcom v2 作为编译器(Open Watcom v2 可以在从 Windows 3.1 开始的任何 16 位或 32 位版本的 Windows 上运行),非常方便,因为它甚至支持从 Windows 11 交叉编译到 16 位 Windows。”
值得一提的是,WinGPT 还使用 2018 年发布的加密标准 TLS 1.3 来原生连接到 OpenAI API 服务器,因此不需要用具有现代操作系统的代理机器来建立和维护通信。不过 @dialupdotnet 也坦诚道:“这种实现方法并不安全。”
“艰难”地构建 UI
作为一名如今生活在 2023 年的开发者,@dialupdotnet 早已习惯用 Delphi 来构建像 Windle 这样的 Windows 应用程序,因此猛然间只能用内置的 Windows API 时,他深感不便:“我很惊讶 Windows 3.1 的 UI 构建功能竟会如此原始。”
为此,@dialupdotnet 直接用 C 语言构建了大部分 UI,即每个 UI 组件都必须用代码手动构建,更要手动调整逻辑大小,以确保每个组件在窗口被调整时都能保持其适当的大小。
这还不是最难的。当 @dialupdotnet 试图弄清如何在 WinGPT 中添加状态栏时,他发现 Windows 3.1 上可供程序使用的标准控件集也非常之有限:“除了按钮、复选框、单选按钮、编辑框,另外一些你可能需要的其他控件,包括那些在操作系统本身中使用的控件,都是不可用的。”
例如,明明状态栏在 Windows 3.1 中随处出现,文件管理器和控制面板中都有,但微软并未将其作为可用控件提供给开发者。直到 Windows 95,微软才将这些控件与进度条、工具条和树形视图等其他一些有用控件,广泛地提供给应用开发人员。
对于这个问题,@dialupdotnet 问了 ChatGPT 如何在 Windows 3.1 程序中添加状态栏,但它的回答是一个只存在于 Windows 后期版本中的头文件。就算 @dialupdotnet 继续追问,ChatGPT 也只是“编造”出了一个不存在的 UI 库的名字。
好在最后状态栏的问题,@dialupdotnet 还是自己想办法解决了:Philip J. Erdelsky 有一个 1997 年的状态栏实现,并且代码是开源的,@dialupdotnet 对其进行了修改,使其看起来更贴近 Windows 3.1 应用中的状态栏。
在构建 WinGPT 的 UI 过程中,还有一个有趣的点:在 Borland 图像编辑器中设计图标,它实际上是微软 Paint 的一个克隆,只不过恰好可以制作 ICO 文件。通过 Borland 图像编辑器,@dialupdotnet 共设计了两种规格的图标:32x32 的,该规格图标才能在 Windows 3.1 的程序管理器和任务切换器中显示;16x16 的,用于在后来的 Windows 版本上显示。
WinGPT 有一定限制
一些准备就绪后,WinGPT 就创建完成了。不过毕竟 @dialupdotnet 的“古董电脑” Gateway 4DX2-66 购于 30 年前,尽管 WinGPT 能在 Windows 3.1 上运行,电脑内存也相当有限。
“我试图减少 WinGPT 所需的内存,特别是在发送和接收 OpenAI API 的查询和响应时。”但 @dialupdotnet 指出现代 API 的 JSON 响应在大小上并没有特别优化,OpenAI API 也不例外:“我已经要求模型尽量简短,以使响应尽可能的少,我还选择在 API 调用中不发送前一轮的文本。但这也就意味着,聊天机器人无法使用先前的对话背景。”
简单来说:由于内存支持有限,WinGPT 只能接收简短的回复,聊天内容也无法联系上下文。
尽管如此,对此感兴趣的网友也可以像 @dialupdotnet 一样,翻出家中蒙尘已久的 Windows 3.1 电脑,前往 https://www.dialup.net/ 网站下载 WinGPT,尝试一场跨越 30 年的 AI 对话。
需要注意的是,虽然 WinGPT 可以在 Windows 3.1 之后的任何 16 位或 32 位版本的 Windows 上运行,但它需要通过 Winsock 实现,也不支持 64 位版本的 Windows。此外,用户还需要输入自己的 OpenAI API 密钥才能运行 WinGPT。
参考链接:
https://www.dialup.net/wingpt/
https://www.theregister.com/2023/06/27/retro_chatgpt_for_windows/
","gnid":"9dcab402f93d7631a","img_data":[{"flag":2,"img":[{"desc":"","height":"80","s_url":"https://p0.ssl.img.360kuai.com/t013d73ffee4a20366b_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t013d73ffee4a20366b.gif","width":"640"},{"desc":"","height":"691","title":"","url":"https://p0.ssl.img.360kuai.com/t0100388d7ed91ad2f0.jpg","width":"1080"},{"desc":"","height":"367","title":"","url":"https://p0.ssl.img.360kuai.com/t01f49e0310b0c33a81.jpg","width":"360"},{"desc":"","height":"1006","title":"","url":"https://p0.ssl.img.360kuai.com/t01410712de13c45a6a.jpg","width":"1080"},{"desc":"","height":"443","title":"","url":"https://p0.ssl.img.360kuai.com/t01bc03cdd9b31693e6.jpg","width":"728"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1688106306000,"pure":"","rawurl":"http://zm.news.so.com/f60fda9d4075fdd415e64cda86bb0aed","redirect":0,"rptid":"e1a99c49645ec1dc","rss_ext":[],"s":"t","src":"CSDN","tag":[{"clk":"kdigital_1:ui","k":"ui","u":""},{"clk":"kdigital_1:ows","k":"ows","u":""}],"title":"30 岁“古董”电脑,因 ChatGPT 被迫“复工”:在 Windows 3.1 里用上 ChatGPT!
管差克3968空间打不开 显示控件名称不可用 应用程序发生异常 求解
汤波亚19394422646 ______ 360修复
管差克3968建行个人网银签名通控件不可用怎么办 -
汤波亚19394422646 ______ 根据你的网银检测控件来看,你的驱动已经安装的没有问题了.你有可能是在安装过程中未加载数字签名(就是弹出一个框,说了一大堆,让你点是和否,你点了否) 建议你先删除驱动,从控制面板里直接删掉,然后重新安装,点是,然后看一下好了没有,如果没有你再追加提问.
管差克3968偶用的是IE8,已经下载了工行的安全控件,打开管理加载项,工行的控件提示:控件名称不可用,偶已启用该项,可是工行输入密码和验证码的框里还是有小叉,有望高手指点啊…
汤波亚19394422646 ______ 进行如下操作: (1)打开IE浏览器,选择“工具”菜单-->“Internet选项”-->“高级”标签-->点击“还原默认设置”,点击“确定”后关闭所有IE浏览器窗口; (2)打开IE浏览器,选择“工具”菜单-->“Internet选项”-->“常规”标签-->...
管差克3968建设银行个人网银签名通控件不可用怎么办 -
汤波亚19394422646 ______ 因为使用的个人交易签名控件不是最新版本;1、首先退出网上银行系统;2、然后在网站首页点击“个人贵宾版登录” ;3、在登录页面上点击“个人交易签名控件 下载” ;4、下载安装后即可.
管差克3968工行的网银控件无法使用是怎么回事? -
汤波亚19394422646 ______ 工行的网银控件无法使用是因为安装失败,安装网银安全控件需注意: 1、一定要根据银行网站上的要求选择浏览器.目前,我国各大银行一般都要求使用IE浏览器,才能进行网上银行安全控件安装操作,如果强行使用其他浏览器,安全系数全大大降低; 2、一定要在银行主页上下载.不要使用一些辅助下载工具下载网银安全控件,以免出现下载不成功的情况; 3、安装安全控件时,必须关闭当前所有浏览器窗口,等安装完成后,再打开浏览器,以免安装失败.
管差克3968校内网上方有 此网站需要运行以下加载项:未知发行者中的控件名称不可用 提示怎么 -
汤波亚19394422646 ______ 你必须点.这可能是你校内网需要的一个插件.不点怕影响你校内网的使用.
管差克3968"建设银行签名通控件不可用"求解决 -
汤波亚19394422646 ______ 卸了重下一个,或者换台电脑检测一下
管差克3968打开每个网页都会出现:“此网站需要运行以下加载项:"未知发行者"中的"控件名称不可用"” -
汤波亚19394422646 ______ 一号方案【新P】 注意【原创】: 1.安全模式下,效果更好! 2. 以下所要使用的软件,都要安装或升级到最新版本,以保证使用的效果. 3. 不杀毒,直接使用以下方法也可以 .若效果不好,就在安全模式下用优质杀毒软件(如:卡巴斯基)杀...
管差克3968工行的网银控件无法使用是怎么回事?
汤波亚19394422646 ______ 若您使用IE6 sp2及以上版本的浏览器时,因控件被拦截,请按照以下步骤进行控件安装: 第一步 方法1:鼠标左键点击密码输入框内的小图标,在弹出的菜单内选择“安装ActiveX控件(C)…” 方法2:鼠标左键点击信息栏(地址栏下方),...
管差克3968access中窗体控件名称错误时什么意思
汤波亚19394422646 ______ 您引用的控件不存在或名称错误.