已编译的 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 使用了兼容模式,但没有解决问题。
附加信息:
- XP 版本 - SP 2
- Windows 8 版本-8.1
- VB - VB 6.0
Windows 8 不再允许您在驱动器 C:\ 的根目录中以编程方式写入(以及许多其他 'system' 文件夹,例如 Program Files , Windows, System32, ...)。
尝试使用子文件夹。
假设你的代码是
If Dir("C:/file.txt") = "" Then...
将其更改为反斜杠 ("\")
经过一番研究,我找到了问题的答案。这在编码中不是问题;这完全是关于 windows 8 兼容性。
转到文件属性 window 的“兼容性”选项卡和“兼容性模式”下的 select “Windows XP SP2”。就这些
我通过 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 使用了兼容模式,但没有解决问题。
附加信息:
- XP 版本 - SP 2
- Windows 8 版本-8.1
- VB - VB 6.0
Windows 8 不再允许您在驱动器 C:\ 的根目录中以编程方式写入(以及许多其他 'system' 文件夹,例如 Program Files , Windows, System32, ...)。
尝试使用子文件夹。
假设你的代码是
If Dir("C:/file.txt") = "" Then...
将其更改为反斜杠 ("\")
经过一番研究,我找到了问题的答案。这在编码中不是问题;这完全是关于 windows 8 兼容性。 转到文件属性 window 的“兼容性”选项卡和“兼容性模式”下的 select “Windows XP SP2”。就这些