gpt4 book ai didi

windows-xp - Windows程序调用有什么区别?

转载 作者:行者123 更新时间:2023-12-03 23:17:31 26 4
gpt4 key购买 nike

我在另一个大陆的 Windows XP 计算机上有一个程序。如果我通过双击关联文件启动它,以便它根据文件类型关联运行程序,它会在某个点崩溃。如果我通过将关联文件拖到程序图标来启动它,它可以正常工作。如果我双击该图标并将关联的文件拖到窗口中,它就可以正常工作。

现场人员向我保证,他已经对文件类型关联进行了三次检查,应该是正确的。

假设图标指向与注册表相同的可执行文件,那么以这两种不同的方式启动程序会有什么区别?

编辑:作为对评论的回应,我遇到问题的机器是用日语运行的,而我的正常机器是美国英语。

最佳答案

一个可能的区别是初始工作目录:如果将文件拖到可执行文件上,初始工作目录将设置为包含可执行文件的目录,而如果双击文件,初始工作目录将设置为某个目录默认值与文件或可执行文件所在的位置无关。

如果你想在所有情况下都获得一致的行为,你可以使用 SetCurrentDirectory()将当前工作目录设置为您想要的任何内容;我推荐包含可执行文件的目录,可以通过调用 GetModuleFileName(NULL, ...) 找到。并剥离可执行文件名称,或者通过检查 main() 中的 argv[0]

关于windows-xp - Windows程序调用有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/989244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com