为何终止不了进程啊(附源程序)?在线等...

wqssqw 2005-03-27 11:57:34
void OnBUTTONCtrl()
{ static fin;
BOOL ret;
PROCESS_INFORMATION pi={0};
STARTUPINFO si = {sizeof(si)};
if(!fin)
{
ret=CreateProcess(NULL, "speech.exe", NULL, NULL, TRUE, 0, NULL,
NULL, &si, &pi);
if(!ret) {MessageBox("无法执行功能文件,请与作者联系!","出错
信息...",MB_OK);
return ;
}
GetDlgItem(IDC_BUTTON_Ctrl)->SetWindowText("********");
fin=1;
}
else
{
HANDLE hProcess;
HANDLE hCurrentProcess;
HANDLE hProcessToken;
TOKEN_PRIVILEGES tp;
LUID luid;
hCurrentProcess=GetCurrentProcess();
OpenProcessToken(hCurrentProcess,TOKEN_ALL_ACCESS,&hProcessToken);
LookupPrivilegeValue(NULL,"SeDebugPrivilege",&luid);
tp.PrivilegeCount=1;
tp.Privileges[0].Luid=luid;
tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(
hProcessToken,
FALSE,
&tp,
sizeof(TOKEN_PRIVILEGES),
(PTOKEN_PRIVILEGES)NULL,
(PDWORD)NULL);
UpdateData(TRUE);
if((pi.hProcess==NULL)&&(pi.hProcess!=0))
::MessageBox(NULL,"错误,无法打开进程!","信息提示",MB_OK);
if(::TerminateProcess(pi.hProcess,0))
::MessageBox(NULL,"成功杀死进程!:)","信息提示",MB_OK);
::CloseHandle(pi.hProcess);
GetDlgItem(IDC_BUTTON_Ctrl)->SetWindowText("^^^^^^^");
fin=0;
}
...全文
61 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
大熊猫侯佩 2005-03-27
  • 打赏
  • 举报
回复
用 自带或其他调试工具单步调试一下 ~~~ 或用 Getlasterror
看看错误在哪里?

21,499

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧