如何传递python lambda来赢得API函数" LPVOID"从ctypes导出的param字段?

时间:2015-01-29 09:45:52

标签: python windows winapi ctypes

WinAPI函数中有一些参数字段,如下所示:

BOOL WINAPI EnumWindows(
  _In_  WNDENUMPROC lpEnumFunc,
  _In_  LPARAM lParam
);

"LPARAM lParam"用于EnumFunc回调的传递值。 现在我想使用python ctypes模块来调用它并将“python lambda函数”传递给该回调。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我不相信你能做到这一点。 Python解释器可能不是设计为从它自己没有创建的线程调用。要创建一个线程,请使用Python自己内置的线程支持(例如。thread.start_new_threadthreading.Thread)。没有理由直接在这里使用ctypes和Windows API。