2009-05-13 2 views
0

이름이 지정된 프로그램 제품군과 인터페이스해야합니다. 실행중인 프로세스간에 통신하려면 Win32 이벤트 (예 : CreateEvent() API)를 사용하십시오.WSH 또는 기타 기본 Windows 프로그램에서 Win32 CreateEvent/SetEvent에 액세스

나는,

h = CreateEvent(NULL, FALSE, FALSE, argv[1]); 
if (h != INVALID_HANDLE_VALUE) SetEvent(h); 

그러나 아주 간단한 C 코드와 함께이 작업을 수행 할 정책 문제로 인해, 내가 생산 시스템에서 사용자 정의 바이너리를 설치할 수 없습니다 수 있어요!

Windows Scripting Host에서이 작업을 수행 할 수있는 방법이 있습니까?

프로덕션 환경에 추가 된 서명 된 바이너리를 얻을 수 있으므로 다른 스크립팅 언어가 실행될 수 있습니다. 추천을 환영합니다.

+0

CreateEvent()는 실패 할 경우 INVALID_HANDLE_VALUE가 아닌 NULL을 반환합니다. –

답변

1

일반적인 이벤트 목적으로 Win32 이벤트가 필요하면 PowerShell을 사용할 수 있습니다. 이렇게하면 .Net 프레임 워크에 액세스 할 수 있습니다. 이렇게하면 ManualResetEvent와 같은 관리되는 이벤트 클래스를 사용하여 간접적으로 API에 액세스 할 수 있습니다. 이것은 일반적인 CreateEvent API 위에 얇은 래퍼 일뿐입니다.

0

Python에는 CreateEvent/SetEvent를 비롯한 Windows API 함수를 사용할 수있는 PyWin32 라이브러리가 있습니다.

일반적으로 (다른 수준의 편의성으로) 외부 함수를 정의하고 호출하는 데 사용할 수있는 언어 (이 경우 kernel32.dll에서)를 사용할 수 있습니다.

1

프로덕션 컴퓨터에 사용자 지정 바이너리를 설치할 수 없습니다! ... 나는 아마도 서명 된 바이너리는 자신의 바이너리 서명

생산 환경

에 추가 얻을 수 있습니다.

임의의 WSH 프로그램을 실행할 수있는 정책을 만든 사람은 누구나 이진 파일이 아닌 코드 서명 인증서를 지불해야합니다.

관련 문제