【问题标题】:Type Library correct datatypes for process Handle and PID类型库为进程句柄和 PID 正确的数据类型
【发布时间】:2014-01-14 18:03:13
【问题描述】:

如果我需要转换为 Delphi 框架中的类型,我会使用:

  • 对于 DWORD:Cardinal 类型,用于标识进程的 PID。 (tagPROCESSENTRY32)
WinAPI DataType | Delphi Translated DataType | Automation Object Compatible DataType

DWORD           | Cardinal                   | ?????
  • 对于 HANDLE,HWND 类型,用于映射从 AllocatedHWND 返回的句柄。这将在后面用于进程间通信 (IPC)
WinAPI DataType | Delphi Translated DataType | Automation Object Compatible DataType

HANDLE(HWND)    | HWND                       | ?????

但是,我需要翻译这些类型以通过 COM(类型库)接口传递它们。

我应该使用哪些正确的类型?

注意:类型需要与自动化对象 100% 兼容。

【问题讨论】:

    标签: windows delphi delphi-6


    【解决方案1】:

    Automation-compatible types中选择一个。

    SYSUINT(即VT_UINTunsigned int)如果目标平台同时包含 32 位和 64 位架构,似乎是您最好的选择。对于仅限 32 位,您可以选择 LongWord (VT_UI4)。

    如果您不需要自动化兼容的 COM 库,您也可以选择 Pointer 代替 THandle

    【讨论】:

    • 我只需要一个自动化兼容的
    • 那么就不能使用Pointer,因为它不是自动化兼容的类型。
    • 能否请您解决问题的 HWND 类型部分?
    • 在您编辑后,此答案似乎适合您的需求。 (您可以将Longword 用于PIDHWND。)
    • 感谢您的宝贵时间。
    猜你喜欢
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    • 2021-05-27
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多