Skip to main content

York Jong's Library tagged ctypes   View Popular

14 Apr 09

Python的進步: ctypes

大部份dll使用ctypes都可以應用得很好,像是我擔心的callback,ctypes一樣可以提供方法來把python的函數包裝成c語言的callback丟給c語言的dll,運作得很好

blog.ez2learn.com/...python-evolution-ctypes - Preview

Python ctypes DLL

12 Dec 08

使用ctypes调用kernel32.dll中的函数

  • 在Python中由ctypes实现。
    class _PROCESS_INFORMATION(Structure):
    _fields_ = [('hProcess', c_void_p),
    ('hThread', c_void_p),
    ('dwProcessId', c_ulong),
    ('dwThreadId', c_ulong)]

windows下面的python扩展-win32all 和ctypes

  • import win32api   #winapi库
       import win32con   #windows常数定义


       win32api.MessageBox(win32con.NULL, "提示信息", "提示标题", win32con.MB_OK | win32con.MB_ICONINFORMATION)


       输出一个messagbox,标题为"提示标题",提示文本为"提示信息",对话框图标为提示图标

  • import ctypes     #cytpes库
      import win32con   #windows常数定义
      msgbox = ctypes.windll.user32.MessageBoxA
      msgbox(win32con.NULL, "提示信息", "提示标题", win32con.MB_OK | win32con.MB_ICONINFORMATION)
  • 2 more annotations...

Python调用windows下DLL详解

  • stdcall调用约定:两种加载方式


    Objdll = ctypes.windll.LoadLibrary("dllpath")


    Objdll = ctypes.WinDLL("dllpath")



    cdecl调用约定:也有两种加载方式


    Objdll = ctypes.cdll.LoadLibrary("dllpath")


    Objdll = ctypes.CDLL("dllpath")


    其实windll和cdll分别是WinDLL类和CDll类的对象

The ctypes package

ctypes is an advanced ffi (Foreign Function Interface) package for Python 2.3 and higher. In Python 2.5 it is already included.

python.net/ctypes - Preview

Python ctypes

1 - 6 of 6
Showing 20 items per page

Highlighter, Sticky notes, Tagging, Groups and Network: integrated suite dramatically boosting research productivity. Learn more »

Join Diigo