从 WSH 或其他本机 Windows 程序访问 Win32 CreateEvent/SetEvent

发布于 2024-07-20 19:32:32 字数 375 浏览 5 评论 0原文

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

我可以使用一些非常简单的 C 代码来完成此操作

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

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

有没有办法使用 Windows 脚本主机来做到这一点?

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

I need to interface with a program suite that uses named. Win32 Events (eg, CreateEvent() API) to communicate between running processes.

I'm able to do this with some very simple C code

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

However, due to policy issues, I can't install custom binaries on production machines!

Is there a way to do this with Windows Scripting Host?

I could possibly get signed binaries added to the production environment - so other scripting language might be viable. Recommendations are welcome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

不甘平庸 2024-07-27 19:32:32

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

If you just need a Win32 event for normal eventing purposes, you could use PowerShell. This will give you access to the .Net framework. This will allow you to indirectly access the API by using a managed event class such as ManualResetEvent. This is just a thin wrapper on top of the normal CreateEvent APIs.

思念满溢 2024-07-27 19:32:32

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

您自己的二进制文件进行签名。

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

I can't install custom binaries on production machines!
...
I could possibly get signed binaries added to the production environment

Sign your own binaries.

Whoever instituted such a policy that allows you to run arbitrary WSH programs but not binaries should pay for your code-signing cert.

琉璃繁缕 2024-07-27 19:32:32

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

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

Python has a PyWin32 library that allows you to use Windows API functions, including CreateEvent/SetEvent.

In general (and with different level of convenience), you could use any language that allows defining and invoking external functions (from kernel32.dll in this case).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文