已编译的 Visual Basic 应用程序在 Windows 8 中出现运行时错误 52

Compiled Visual Basic Application gets Runtime Error 52 in Windows 8

我通过 Visual Basic 6 编译的应用程序可以 运行 在我的 Windows XP 计算机上。但是当我在我的另一台计算机上执行 运行s Windows 8 的相同可执行文件时,我总是得到 Runtime Error 52-Bad File name or number我启动它。即使该程序中没有 "Shell command" 导致 "Bad file name" 错误,我也无法 运行 该程序。

打包过程我用了"Package and Deployment wizard"。 我还通过 regsvr32 命令行实用程序在 Windows 8 PC 上手动注册了所需的 DLL。

我还通过注册表清理器 (Wise Registry Cleaner) 清理了整个注册表。我为 Windows XP 使用了兼容模式,但没有解决问题。

附加信息:

Windows 8 不再允许您在驱动器 C:\ 的根目录中以编程方式写入(以及许多其他 'system' 文件夹,例如 Program Files , Windows, System32, ...)。

尝试使用子文件夹。

假设你的代码是

If Dir("C:/file.txt") = "" Then...

将其更改为反斜杠 ("\")

经过一番研究,我找到了问题的答案。这在编码中不是问题;这完全是关于 windows 8 兼容性。 转到文件属性 window 的“兼容性”选项卡和“兼容性模式”下的 select “Windows XP SP2”。就这些