我明白这是做什么的,但是如下所示将ProcessHandle设置为-1是什么意思?.text:004011D283EC20subesp,20h.text:004011D58D0424leaeax,[esp+20h+TokenHandle].text:004011D850pusheax;TokenHandle.text:004011D96A28push28h;DesiredAccess.text:004011DB6AFFpush0FFFFFFFFh;ProcessHandle.text:004011DDE896040000callOpenProcessToken
先说说我的情况。我在下面描述的问题来自最终用户的机器,我所要做的只是一份Windows事件日志的拷贝。我无法访问机器本身来运行任何调试测试。现在是问题。我有一个这样创建的服务应用程序:SC_HANDLEhScService=CreateService(hScManager,L"MyServiceID",L"MyServiceName",SERVICE_ALL_ACCESS,SERVICE_WIN32_OWN_PROCESS,SERVICE_AUTO_START,SERVICE_ERROR_NORMAL,SrvcPath,NULL,NULL,NULL,NULL,_T(""));服务进程后
我读了几篇关于如何检查一个进程是否从另一个进程退出的帖子(我意识到有些人在这里对语义很感兴趣,但只是开玩笑)我试图实现它但遇到了到处都是错误代码5(“ERROR_ACCESS_DENIED”)。这是我的做法。1)进程1(P1)启动进程2并将其自己的PID写入共享内存位置。2)进程2(P2)从共享内存中读取PID3)P2使用P1的PID调用OpenProcess(...)以保存它可以稍后检查的句柄。4)P2使用P1的PID重复调用GetExitCodeProcess(...)并检查STILL_ACTIVE代码。在上述方法中,我一直在GetExitCodeProcess上收到ACCESS_
我的原型(prototype)代码在我测试过的所有Windows操作系统上都运行良好,WindowsXP除外。当我在WindowsXP上以管理员身份运行此程序时,在调用OpenProcessToken时,系统提示我访问被拒绝(5)。有什么我不知道的区别吗?#include"stdafx.h"#include#include#pragmacomment(lib,"userenv")voidDisplayError(LPWSTRpszAPI){LPVOIDlpvMessageBuffer;FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT