내 응용 프로그램이 작업에서 실행 중입니다. OpenJobObject
을 사용하여이 Jobobject에 대한 핸들을 얻고 싶습니다. 나중에이 핸들을 사용할 수 있습니다. 문제는 작업 이름을 모르며 작업 이름에 NULL을 전달하면 오류 87 (매개 변수가 잘못됨)이 반환된다는 것입니다.이름을 모르더라도 JobObject에 대한 핸들을 얻는 방법은 무엇입니까?
HANDLE handle = OpenJobObject(JOB_OBJECT_QUERY, FALSE, NULL);
if (!handle ) printf("\nError %d", GetLastError());
else printf("\nOK");
나는 또한 MSDN에서 이걸 발견 : 그것은하지 않는 한 실행되고있는 작업 개체에 대한 핸들을 얻을 수 응용 프로그램이 작업 개체의 이름이
이
내가 그것을 시도하는 방법이다 . 그러나 응용 프로그램은 QueryInformationJobObject 함수를 NULL로 호출하여 작업 개체에 대한 정보를 얻을 수 있습니다.제 질문은, 어떻게 든 내 응용 프로그램이 실행되고있는 JobObject에 대한 핸들을 얻을 수 있습니까? 또는 응용 프로그램이 실행중인 작업의 이름을 얻으시겠습니까?
감사합니다.
업데이트 : 지금까지
내 코드 : 지원되는 방법이처럼 http://pastebin.com/aJ7XMmci이 지금, 내가 SetInformation
:(
당신은 모든 명명 된 작업 개체를 열거 할 수 있습니다 : http://www.scriptinternals.com/new/ us/support/Internal/WMI_Win32_NamedJobObject.htm –
불행히도 runas는 지정된 작업 개체를 사용하지 않으므로 특정 상황에서 OpenJobObject가 도움이되지 않습니다. –