0

我需要与使用命名的程序套件交互。Win32 事件(例如,CreateEvent()API)在正在运行的进程之间进行通信。

我可以用一些非常简单的 C 代码来做到这一点

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

但是,由于政策问题,我无法在生产机器上安装自定义二进制文件!

有没有办法用 Windows Scripting Host 做到这一点?

我可能会将签名的二进制文件添加到生产环境中——因此其他脚本语言可能是可行的。欢迎提出建议。

4

3 回答 3

1

我无法在生产机器上安装自定义二进制文件!...我可能会将签名的二进制文件添加到生产环境中

签署您自己的二进制文件。

谁制定了允许您运行任意 WSH 程序而不是二进制文件的政策,都应该为您的代码签名证书付费。

于 2009-07-30T23:40:04.980 回答
1

如果您只需要一个 Win32 事件来进行正常事件,您可以使用 PowerShell。这将使您能够访问 .Net 框架。这将允许您通过使用托管事件类(例如 ManualResetEvent)间接访问 API。这只是普通 CreateEvent API 之上的一个薄包装器。

于 2009-05-13T16:04:36.110 回答
0

Python 有一个 PyWin32 库,允许您使用 Windows API 函数,包括 CreateEvent/SetEvent。

通常(并且具有不同程度的便利),您可以使用任何允许定义和调用外部函数的语言(在本例中来自 kernel32.dll)。

于 2009-05-14T00:22:05.593 回答