WiFi 坏了 咋整啊呵呵?

1435人阅读
计算机系统(2)
今天写了个自动升级程序, & 该程序从服务器下载客户端最新版本, 然后通过查找客户端进程的方式, 使用TerminateProcess终止进程, 代码如下:
void KillProcess(
CString strProName )
PROCESSENTRY32 pe32;
pe32.dwSize = sizeof(pe32);
HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hProcessSnap == INVALID_HANDLE_VALUE)
BOOL bMore = ::Process32First(hProcessSnap, &pe32);
CString strProcessName = _T(&&);
strProName.MakeUpper();
while(bMore)
bMore = ::Process32Next(hProcessSnap, &pe32);
strProcessName = pe32.szExeF
strProcessName.MakeUpper();
if(strProcessName.Find( strProName ) != -1)
HANDLE hdl = OpenProcess(PROCESS_ALL_ACCESS,TRUE,pe32.th32ProcessID);
TerminateProcess(hdl,0);
::CloseHandle(hProcessSnap);
::CloseHandle(hProcessSnap);
在win7上面正常, &但是在xp系统上,却发现,升级程序终止客户端进程失败,跟踪了下代码,发现执行
&span style=&font-size:32&&OpenProcess(PROCESS_ALL_ACCESS,TRUE,pe32.th32ProcessID)&/span&
失败, &错误码 5,,
后来上网查询了一番,终于发现是因为权限问题,并找到一段代码
BOOL EnableDebugPrivilege()
BOOL fOk=FALSE;
if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken))
TOKEN_PRIVILEGES
tp.PrivilegeCount=1;
LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&tp.Privileges[0].Luid);
tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(tp),NULL,NULL);
fOk=(GetLastError()==ERROR_SUCCESS);
CloseHandle(hToken);
return fOk;
经测试,一切ok。
现在贴出完整代码:
void KillProcess(
CString strProName )
PROCESSENTRY32 pe32;
pe32.dwSize = sizeof(pe32);
HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hProcessSnap == INVALID_HANDLE_VALUE)
BOOL bMore = ::Process32First(hProcessSnap, &pe32);
CString strProcessName = _T(&&);
strProName.MakeUpper();
while(bMore)
bMore = ::Process32Next(hProcessSnap, &pe32);
strProcessName = pe32.szExeF
strProcessName.MakeUpper();
if(strProcessName.Find( strProName ) != -1)
HANDLE hdl = OpenProcess(PROCESS_ALL_ACCESS,TRUE,pe32.th32ProcessID);
if ( !hdl )
EnableDebugPrivilege();
hdl = OpenProcess(PROCESS_ALL_ACCESS,TRUE,pe32.th32ProcessID);
TerminateProcess(hdl,0);
::CloseHandle(hProcessSnap);
::CloseHandle(hProcessSnap);
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:73859次
积分:1377
积分:1377
排名:千里之外
原创:50篇
评论:25条
欢迎关注微信公众号:
&&&音视频开发训练营公众号
音视频开发训练营QQ群:
(1)(1)(1)(2)(2)(1)(1)(6)(7)(6)(11)(1)(1)(4)(1)(1)(1)(1)(1)(2)(1)(1)(1)(1)(1)

我要回帖

更多关于 这可咋整啊表情包 的文章

 

随机推荐