Доступ к Win32 CreateEvent / SetEvent из WSH или другой встроенной программы Windows - PullRequest
0 голосов
/ 13 мая 2009

Мне нужно взаимодействовать с набором программ, который использует named. События Win32 (например, CreateEvent() API) для связи между запущенными процессами.

Я могу сделать это с помощью очень простого кода C

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

Однако из-за проблем с политикой я не могу установить пользовательские двоичные файлы на рабочие машины!

Есть ли способ сделать это с помощью Windows Scripting Host?

Возможно, я добавлю подписанные двоичные файлы в производственную среду, так что другой язык сценариев может быть жизнеспособным. Рекомендации приветствуются.

Ответы [ 3 ]

1 голос
/ 31 июля 2009

Я не могу установить пользовательские двоичные файлы на производственных машинах! ... Я мог бы добавить подписанные двоичные файлы в производственную среду

Подпишите собственные двоичные файлы.

Кто бы ни ввел такую ​​политику, которая позволяет вам запускать произвольные программы WSH, но не двоичные файлы, должен платить за ваш сертификат подписи кода.

1 голос
/ 13 мая 2009

Если вам просто нужно событие Win32 для обычных событий, вы можете использовать PowerShell. Это даст вам доступ к .Net Framework. Это позволит вам получить косвенный доступ к API с помощью класса управляемых событий, такого как ManualResetEvent. Это просто тонкая оболочка поверх обычных API CreateEvent.

0 голосов
/ 14 мая 2009

Python имеет библиотеку PyWin32, которая позволяет вам использовать функции Windows API, включая CreateEvent / SetEvent.

В целом (и с различным уровнем удобства) вы можете использовать любой язык, который позволяет определять и вызывать внешние функции (в данном случае из kernel32.dll).

...