gpt4 book ai didi

c++ - 程序不运行 - 它打开和关闭

转载 作者:太空宇宙 更新时间:2023-11-04 05:58:51 26 4
gpt4 key购买 nike

我的主程序有问题,在我运行该程序后进行的所有调用之后,它只是打开然后关闭。它没有在我的代码或任何东西中发现任何错误,所以我尝试创建一个新项目,它没有错误地做了同样的事情。

我什至试过示例代码:

int APIENTRY WinMain (HINSTANCE ...)
ShellExecute(NULL, (LPCWSTR)"open", (LPCWSTR)"cmd.exe", NULL, NULL, SW_SHOW);

它仍然只是打开和关闭。这里的问题是什么?如有必要,我可以提供输出日志,但我不知道。

最佳答案

我不确定我是否理解您所说的打开和关闭的意思。但是这段代码是非常错误的:

ShellExecute(NULL, (LPCWSTR)"open", (LPCWSTR)"cmd.exe", 
NULL, NULL, SW_SHOW);

类型转换不好。这两个字符串文字是指向 char 数组的指针,将它们转换为 const wchar_t* 不会改变它们的本质。它只是要求编译器相信您比它更了解。你不知道。它们实际上不是 const wchar_t*。您的所有转换都是为了让您能够破坏类型安全并将信息丰富的编译时错误转换为神秘的运行时故障。在你对语言有深刻的理解之前,你应该避免转换。

你需要使用宽字面量:

ShellExecute(NULL, L"open", L"cmd.exe", NULL, NULL, SW_SHOW);

您似乎也没有进行任何错误检查。使用 ShellExecute 很难做到这一点。请尝试使用 ShellExecuteEx 并注意它返回的值。

关于c++ - 程序不运行 - 它打开和关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22365695/

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