如何使用退出功能使c控制台程序退出? #包括 #包括 void main(){ 出口(0); }
这是我在c语言中的代码如何使控制台退出?我曾尝试使用退出功能,但它似乎不起作用如何使用退出功能使c控制台程序退出? #包括 #包括 void main(){ 出口(0); },c,C,这是我在c语言中的代码如何使控制台退出?我曾尝试使用退出功能,但它似乎不起作用退出导致程序退出,而不是从运行它的shell退出。您的程序相当于: #include<stdio.h> #include<stdlib.h> void main(){ exit(0); } 你可能想调查一下 编辑说明:main应该返回int,而不是voidexit导致程序退出,而不是运行它的shell。您的程序相当于: #include<stdio.h> #inclu
退出
导致程序退出,而不是从运行它的shell退出。您的程序相当于:
#include<stdio.h>
#include<stdlib.h>
void main(){
exit(0);
}
你可能想调查一下
编辑说明:main
应该返回int
,而不是void
exit
导致程序退出,而不是运行它的shell。您的程序相当于:
#include<stdio.h>
#include<stdlib.h>
void main(){
exit(0);
}
你可能想调查一下
编辑说明:
main
应返回int
,而不是void
如果您试图退出启动进程的控制台,则必须获取父进程id(),然后发送信号
在Windows中,您必须通过调用和Process32Next来复制
getppid
的行为。Kill变为假设试图退出启动进程的控制台,则必须获取父进程id(),然后发送信号
在Windows中,您必须通过调用和Process32Next来复制
getppid
的行为。Kill变为您不能…程序以exit(0)结束;将exitcode返回给调用者…通常是命令解释器shell…通常在终端内部运行
如果终端中的程序终止,终端将关闭……您可以直接在终端内运行程序,或者使用shell仅执行一个命令,但不能执行。……程序以退出(0)结束;将exitcode返回给调用者…通常是命令解释器shell…通常在终端内部运行
如果终端中的程序终止,终端将关闭……您可以直接在终端内运行程序,或者使用shell仅执行一个命令似乎无法跟踪线程,但多年前,我在usenet论坛上试图通过建议
系统(“退出”)
来回答这个问题(当然,这不起作用)。但当时(20世纪90年代中期)的正确答案是发送软件中断以重新启动。受保护模式的DOS(Windows窗口中的DOS)将拦截它并关闭窗口
如果您希望程序总是在退出时关闭,您可以编辑快捷方式属性。似乎无法跟踪线程,但几年前,我在usenet论坛上试图通过建议
系统(“退出”)
来回答这个问题(当然,这不起作用)。但当时(20世纪90年代中期)的正确答案是发送软件中断以重新启动。受保护模式的DOS(Windows窗口中的DOS)将拦截它并关闭窗口
int main(void)
{
return 0;
}
如果希望程序始终在退出时关闭,可以编辑快捷方式属性。\define\u WIN32\u WINNT 0x500
int main(void)
{
return 0;
}
#包括
...
PostMessage(GetConsoleWindow(),WM_CLOSE,0,0);
我不确定这是否有效,但这是我想到的第一件事。您可以将WM_CLOSE替换为WM_DESTROY。\define\u WIN32\u WINNT 0x500
#包括
...
PostMessage(GetConsoleWindow(),WM_CLOSE,0,0);
我不确定这是否有效,但这是我想到的第一件事。您可以用WM\u CLOSE代替WM\u DESTROY。您不能使用退出关闭父应用程序<代码>退出仅导致程序退出 如果要退出父应用程序:
- 在UNIX系统上,可以结合使用
- 在windows上,您可以使用。下面是一个关于如何使用的示例。
但在Windows上,我不确定您是否可以,我认为您无权终止父进程。看这里:
您似乎可以获得终止windows进程的权限:
描述如何执行此操作。首先调用
以获得终止进程的权限,然后使用SeDebugPrivilege()
标志调用以获取要终止的进程的句柄,最后调用以终止进程 编辑: [由于系统启动一个子shell而无法工作]似乎您可以通过简单地调用PROCESS\u terminate
系统(“exit”)来实现它代码>
- 在UNIX系统上,可以结合使用
- 在windows上,您可以使用。下面是一个关于如何使用的示例。
但在Windows上,我不确定您是否可以,我认为您无权终止父进程。看这里:
您似乎可以获得终止windows进程的权限:
描述如何执行此操作。首先调用
以获得终止进程的权限,然后使用SeDebugPrivilege()
标志调用以获取要终止的进程的句柄,最后调用以终止进程 编辑: [由于系统启动一个子shell而无法工作]似乎您可以通过简单地调用PROCESS\u terminate
系统(“exit”)来实现它代码>
#define _WIN32_WINNT 0x500
#include <windows.h>
...
PostMessage(GetConsoleWindow(), WM_CLOSE, 0, 0);
#包括
#包括
int main()
{
系统(“taskkill/IM cb_console_runner.exe”);
{
这里,cb_console_runner.exe是进程名
资源:要退出控制台,您必须进行系统调用。这将是
#define _WIN32_WINNT 0x500
#include <windows.h>
...
PostMessage(GetConsoleWindow(), WM_CLOSE, 0, 0);
#包括
#包括
int main()
{
系统(“taskkill/IM cb_console_runner.exe”);
{
这里,cb_console_runner.exe是进程名
参考资料:我认为
kill
只适用于Unix。询问“控制台”而不是“shell”意味着Windows。你知道如何在Windows上操作吗?不知道。我只是认为