【发布时间】:2012-08-06 17:58:29
【问题描述】:
细节: VC++ 7;程序在 XP 上运行,但在 Win7 上崩溃;使用 VS2003.NET 开发(老我知道,但这是我必须使用的,它工作得很好,非常感谢)
我有一个在 XP(32 位)上运行良好的程序。但是,我最近用 Win7 对其进行了测试,各种杂乱无章。我强烈怀疑我的程序如何处理注册表项。
注意:程序不会创建或销毁键,只会查询键并返回有趣的值。 (“有趣”如下所述)
在最简单的形式中,程序从 SCSI 连接设备读取数据,并将数据保存到主机 PC 上的文件中。程序查询 SCSI 适配器的注册表并返回程序用来访问设备的适配器 ID。
在我看来,从 XP 到 Win7 的注册表结构并没有改变,但不是 100% 确定的。任何对此的见解都会很棒:)
另外,我读到:http://www.techsupportalert.com/content/how-windows7-vista64-support-32bit-applications.htm Win7 做事的方式就像一种反射。这会改变我应该如何查询密钥吗?如果是这样,任何有关如何构造查询的信息都会很棒。
我想我需要知道的是:
- 是否像在 RegQueryValueEx 方法中更改 hKey(或 lpValueName)一样简单?
- 或者这是否意味着我需要更改 RegQueryValueEx 方法的其他方面?
- 或者完全是别的什么?
提前谢谢你!
【问题讨论】:
-
你没有更多信息然后“它崩溃了”吗?您应该能够(至少在 Win7 机器上进行调试构建)更好地了解它在何处以及如何表现不同。具体哪些 API 调用失败。
-
啊。我已经放弃了那部分......截至目前,我只允许在 Windows 7 盒子上进行测试......>:|我的困境的一部分,但我正在努力让开发人员获得特权。繁文缛节 sigh 因此,我没有真正的调试权限......而且由于我们的管理员处理事情的方式,我无法在机器上运行调试版本,嗯?
-
至于用户在程序中点击 SCSI 设备时“崩溃”,windows 抱怨出现错误,想知道我是否要报告它...lol 如果只有我居然可以让它向我报告!哈哈。无论如何......程序只是关闭。 ...而且我通常必须重新登录才能让程序再次打开...
-
@rene 我喜欢 - MiniDumpWriteDump 方法看起来会是一个非常有用的工具。谢谢你。不过,我仍在寻找有关注册表的更多信息。
标签: visual-c++ windows-7 32bit-64bit visual-studio-2003 registrykey