相关疑难解决方法(0)

如何获取控制台应用程序窗口的句柄

有人能告诉我如何在C#中获取Windows控制台应用程序的句柄吗?在Windows窗体应用程序中,我通常会尝试this.Handle.

c# console hwnd window-handles

43
推荐指数
4
解决办法
4万
查看次数

subprocess:删除Windows中的子进程

在Windows上,subprocess.Popen.terminate调用win32 TerminalProcess.但是,我看到的行为是我尝试终止的进程的子进程仍在运行.这是为什么?如何确保进程启动的所有子进程都被终止?

python windows subprocess process kill-process

38
推荐指数
5
解决办法
2万
查看次数

如何优雅地终止进程?

我想终止一些进程,但我希望每个进程都有机会保存其数据,询问用户是否保存文件,甚至忽略关闭请求.

所以TerminateProcess不可能,因为它立即杀死了这个过程.另一种方法是使用SendMessage/ PostMessage发送WM_CLOSE到主窗口,不幸的是我不知道进程的窗户什么,我只有进程ID,所以FindWindow没有帮助的.有没有其他方法可以找到进程的主窗口?

换句话说: 有没有办法像任务管理器点击" 结束任务 " 时那样优雅地终止任何进程?(而不是"结束过程")

winapi process

37
推荐指数
4
解决办法
4万
查看次数

如何获取subprocess.run启动的进程的pid并杀死它

我使用的是 Windows 10 和 Python 3.7。

我运行了以下命令。

import subprocess
exeFilePath = "C:/Users/test/test.exe"
subprocess.run(exeFilePath)
Run Code Online (Sandbox Code Playgroud)

使用此命令启动的 .exe 文件,我想在单击按钮或执行函数时强制退出。

查看过去的问题,有人指出强制退出的方法是获取PID并执行OS.kill,如下所示。

import signal
os.kill(self.p.pid, signal.CTRL_C_EVENT)
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何获取在 subprocess.run 中启动的进程的 PID。

我应该怎么办?

python windows subprocess

5
推荐指数
1
解决办法
9242
查看次数