- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我一直在搜索 Win32 API C++ 函数的示例 TerminateProcess()但找不到。
一般来说,我对 Win32 API 不是很熟悉,所以我想问问这里是否有比我更擅长的人可以给我举个例子,
如果您不熟悉 C++,C# 等价物也会有所帮助。
最佳答案
要回答最初的问题,为了通过 PID 检索进程句柄并调用 TerminateProcess,您需要如下代码:
BOOL TerminateProcessEx(DWORD dwProcessId, UINT uExitCode)
{
DWORD dwDesiredAccess = PROCESS_TERMINATE;
BOOL bInheritHandle = FALSE;
HANDLE hProcess = OpenProcess(dwDesiredAccess, bInheritHandle, dwProcessId);
if (hProcess == NULL)
return FALSE;
BOOL result = TerminateProcess(hProcess, uExitCode);
CloseHandle(hProcess);
return result;
}
请记住,TerminateProcess 不允许其目标以有效状态清理和退出。使用前请三思。
关于C++ TerminateProcess 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2443738/
我一直在搜索 Win32 API C++ 函数的示例 TerminateProcess()但找不到。 一般来说,我对 Win32 API 不是很熟悉,所以我想问问这里是否有比我更擅长的人可以给我举个例
Windows 中的 TerminateProcess 函数真的会因为进程内的线程陷入死锁而挂起吗? 示例:进程 A 在进程 B 的控制下运行,现在进程 A 进入死锁状态,进程 B 检测到这一点并决定
我正在尝试使用 TerminateProcess 来终止由 ShellExecuteEX 启动的应用程序,如下所示: SHELLEXECUTEINFO ExecuteInfo; ExecuteInfo
我有一个备份应用程序,它将在备份之前关闭用户定义的正在运行的程序,以便可以在备份之前关闭并刷新打开的数据文件。备份完成后,它将重新启动列表中的程序。 我使用 Caption 和 PostMessage
我正在尝试使用下面的代码终止一组进程,但只有少数进程被终止,因此请建议我更好的方法来终止所有进程。 hProc = OpenProcess( PROCESS_TERMINATE, FALSE, pro
我在使用 TerminateProcess 终止子进程时遇到问题。我调用了这个函数,进程仍然存在(在任务管理器中)。这段代码被多次调用,多次启动相同的 program.exe,这些进程在任务管理器中,
我遇到了 TerminateProcess() 函数的问题。该应用程序我目前正在编写一个 JobScheduler 应用程序,它可以在特定时间安排和启 Action 业。为此,我使用 CreatePr
我的 Win32 控制台应用程序使用第三方库。在它退出 WinMain 全局对象后,破坏开始并且 AV 发生在内部深处的某个地方。我真的很想写 TerminateProcess( GetCurrent
我正在开发应该终止具有给定名称的进程的应用程序。我使用的操作系统是 Windows 7。问题是,对于任务管理器中列出的所有具有非空白用户名字段的进程,它工作正常。但是,当一个进程的用户名为空时,即使任
我正在尝试调试一个问题,但我不明白。 func BackgroundProcess(lpCommandLine string) (error) { var lpProcessAttrs win
TerminateProcess 的文档部分说: This function stops execution of all threads within the process and request
我有一个使用 SQLite3 维护数据库文件的控制台模式程序。执行需要一段时间,但假设数据库写入发生,在任何时候取消都应该是安全的。 (这都是Windows下的) 从正在运行的程序的角度来看,在控制台
免责声明:这是程序要求的一部分,因此没有任何不良意义。如果您发现任何误用,请随时指出。我是 C++ 的初学者。 基本上,我正在尝试使用 C++ 在 Windows 上重新启动 Outlook.exe。
在获得 CreateProcess 返回的句柄后,我调用 TerminateProcess,为进程退出代码传递 42。然后,我使用 WaitForSingleObject 终止进程,最后调用 GetE
我正在寻找一种简单且难以捉摸的方法来终止我的 C++ 应用程序的 Mac 端口。在我使用的 Windows 中 TerminateProcess(GetCurrentProcess, 0); 我可以在
在 Linux/POSIX 上相当于什么 TerminateProcess(GetCurrentProcess(), 0) 我希望能够突然、无序地终止程序,无论我是否在线程中。我不关心析构函数、退出处
我正在使用“TerminateProcess (procHandle, 0)”来终止线程。它适用于大多数线程,但它无法杀死某些线程。为什么?而且任务管理器也无法终止这些线程。 有没有办法强制杀死任何线
我使用 CreateProcess() 函数通过“mstsc.exe”启动 rdp 客户端应用程序。之后,我想终止它,所以我使用了 TerminateProcess() 函数,但它失败了,错误代码为
请看下面的代码: LPSTR commandBuffer = "\"C:\\Program Files (x86)\\Notepad++\\notepad++.exe\""; STARTUPINFO
我是一名优秀的程序员,十分优秀!