今天就来唠唠这个叫 `*` 的玩意儿。前阵子遇到个事儿,得翻出一个好多年前的老程序来用用,那程序是个挺老的进销存,界面上好多表格。结果在我这台新装的 Win10 电脑上一跑,直接就报错,弹窗说缺个啥关键组件。
仔细看下错误提示,模模糊糊就指着这个 `*`。心里当时就“咯噔”一下,这不是那个老掉牙的微软表格控件嘛好像是 Visual Basic 时代的东西。那时候做带表格的界面,这东西挺常用的。现在的 Windows 系统,尤其 Win10、Win11 这些,默认哪还给你带这种老古董。
咋办?得解决
第一反应就是,我得找到这个 `*` 文件。光知道缺不行,得有文件才行。我就先在自己电脑上全盘搜一下,果然没有。然后就想着去哪里找。
翻箱倒柜,想起来以前有台旧电脑,上面跑这个程序是没问题的。赶紧把旧电脑的硬盘挂上,到它的 Windows 系统目录里去找。具体是哪个目录?就是那个 `System32` 文件夹。果然,在旧系统的 `C:\Windows\System32` 里面找到这个 `*` 文件。要是实在没旧电脑或者备份,那就只能去网上搜,不过网上找这种系统文件得特别小心,别下到带病毒的。
找到文件就好办多。接下来的操作是关键,得把它放到我这台新电脑的正确地方。我这台是 64 位的 Win10 系统,这种老的 32 位控件文件,不能直接扔到 64 位的 `System32` 里,得放到 `C:\Windows\SysWOW64` 这个文件夹里面。如果你用的是 32 位的 Windows 系统,那就直接放到 `C:\Windows\System32` 就行。
把文件复制粘贴进去就完事吗?还没! 这玩意儿是个 ActiveX 控件,说白就像个小插件,光把它放那儿系统不认。得让 Windows 系统正式“登记”一下,知道有这么个东西可以用。这个过程就叫“注册”。
注册这玩意儿
咋注册?得用系统自带的一个工具,通过命令行来操作。你得先用管理员权限打开那个“命令提示符”或者现在 Win10 推荐的“Windows PowerShell(管理员)”。
- 你可以在开始菜单按钮上点右键,就能看到带“管理员”字样的选项。
- 或者在搜索框里搜“cmd”,然后右键点击搜到的“命令提示符”,选“以管理员身份运行”。
打开那个黑乎乎或者蓝乎乎的命令行窗口后,就该敲命令。命令很简单,就是:
regsvr32 c:\windows\syswow64\*
注意,如果你是 32 位系统,或者你把文件放到 `System32`,那路径就要改成对应的 `system32`。输完这行命令,敲回车。
如果一切顺利,没啥意外的话,会弹出来一个小窗口,告诉你“DllRegisterServer 在 c:\windows\syswow64\* 已成功”,意思就是注册成功。
结果咋样
看到注册成功的提示,心里就有底。我赶紧关掉命令行窗口,回去重新打开那个老掉牙的进销存程序。这回顺利启动,没再报错,程序界面上那些复杂的表格也都正常显示出来。数据该咋看咋看,该咋用咋用。总算是搞定!
总的来说,碰上这个 `*` 丢失或者未注册的问题,就是个兼容性的老问题。很多以前开发的软件,特别是用 VB6 之类的工具做的,就依赖这些现在系统不自带的旧控件。解决办法也挺直接的:
- 找到 这个 `*` 文件(最好从可靠来源,比如旧系统备份)。
- 放到 正确的系统文件夹(64 位系统是 `SysWOW64`,32 位系统是 `System32`)。
- 注册 它(用管理员权限打开命令行,执行 `regsvr32` 命令)。
虽然过程稍微有点动手能力的要求,但一步步来,基本都能解决。有时候为让一些有用的老软件继续跑起来,这点折腾也值。这就是我这回对付 `*` 的整个过程,记录下来分享给大家,希望能帮到同样遇到这问题的朋友。