블로그 이미지
kalstein

여러가지 프로그래밍 관련이나...신변잡기적인 글들을 남기는 블로그입니다. 지식은 나누는만큼 강력해집니다 ^^

Rss feed Tistory
Programming/Python 2009. 1. 25. 15:01

WINAPI를 python에서 호출하기.

뭐 ctypes 매뉴얼에 잘 나와있긴한데...
왠만한 winapi들은 python win32 expansion에 들어있다. 그런데 가끔은 없는것도 있단말이지.
그럴경우는 kernel32.dll에 있는 함수를 직접 호출해줘야한다.
하는 방법은 매우 간단하다.
(FindFirstVolume이라는 winapi 호출을 한다고 가정한다)

from ctypes import *
winapifunc = windll.kernel32.FindFirstVolumeA

그리고는 winapifunc 함수호출. 끝.
-ㅁ-;; 좀 허전하지? ㅎㅎ 여기서 반드시 주의할점. 대부분의 windows api들은 A,W로 끝나는 ANSI, Unicode 버젼이 따로 존재한다. 즉, 실제 함수명과 MSDN에 나오는 함수명은 다른것. 실제 함수명을 보고싶다...면 DLL export 가 어떻게 되어있는지 살펴보면 좋다.

http://www.nirsoft.net/utils/dll_export_viewer.html

여기 가보면 해당 유틸리티를 다운받을수 있다. 이건 꼭 kernel32.dll뿐만 아니라 다른 dll들에도 적용되므로 (다른점이라면 LoadLibrary 호출이 한줄 더 들어가는정도?) 참고하자~~~
,
TOTAL TODAY