小编use*_*053的帖子

Java uint32(存储为long)到4字节数组

我正在写入具有 uint32 的存储格式,最大允许值为“4294967295”。

当然,Java 中的整数仅不到“2147483647”的一半。所以在内部,我必须使用 Long 或 Guava 的 UnsignedInteger。

要写入这种格式,字节数组长度需要为 4,这正好适合 Integer,但将 Long 转换为字节数组需要长度为 8 的数组。

如何将表示最大值“4294967295”的 Long 或 UnsignedInteger 转换为 4 字节数组?

java byte uint32

4
推荐指数
1
解决办法
1万
查看次数

SetWinEventHook 与 CreateProcess,C++

我正在使用 CreateProcess 打开一个窗口,但在理解 SetWinEventHook 时遇到了很多麻烦。

在调用函数中,我有:

HWINEVENTHOOK hook = SetWinEventHook(EVENT_OBJECT_CREATE, EVENT_OBJECT_CREATE, NULL, WinEventProc, 0, 0, WINEVENT_OUTOFCONTEXT );

BOOL result = CreateProcess(0, arguments,
                    NULL, NULL, FALSE, 0, NULL,
                    NULL, &StartupInfo, &ProcessInfo)

if (hook) {
    UnhookWinEvent(hook);
}
Run Code Online (Sandbox Code Playgroud)

create Process 顺利启动,但没有调用链接到 SetWinEventHook 的 WinEventProc 函数。为了让 WinEventProc 被调用,我尝试过这样的事情:

MSG msg;
while (GetMessage(&msg, NULL, 0, 0) > 0);
Run Code Online (Sandbox Code Playgroud)

在 createProcess 调用之后,但我不知道如何结束 while 循环,以便它持续运行。

我已经做了很多阅读,但我不明白如何使用 SetWinEventHook 来捕获由 CreateProcess 启动的进程。任何帮助表示赞赏!

c++ createprocess

2
推荐指数
1
解决办法
3004
查看次数

标签 统计

byte ×1

c++ ×1

createprocess ×1

java ×1

uint32 ×1