http://www.woodpecker.org.cn/diveintopython/
http://python.net/crew/mhammond/win32/Downloads.html
1.
import win32api # 导入win32api模块
import win32con # 导入win32con模块
# 使用RegOpenKey打开注册表项
key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,'Software',0,win32con.KEY_READ)
print key # key为打开的项的句柄
2,
from ctypes import *
user= windll.LoadLibrary("c://windows//system32//user32.dll")
h = user.GetDC(0)
gdi= windll.LoadLibrary("c://windows//system32//gdi32.dll")
xdpi = gdi.GetDeviceCaps(h, 88)
ydpi = gdi.GetDeviceCaps(h, 90)
print xdpi, ydpi
3.
import win32gui, win32con
def wndProc(hwnd, msg, wParam, lParam):
if msg == win32con.WM_CREATE: print 'message: WM_CREATE'
if msg == win32con.WM_SIZE: print 'message: WM_SIZE'
if msg == win32con.WM_PAINT: print 'message: WM_PAINT'
if msg == win32con.WM_CLOSE: print 'message: WM_CLOSE'
if msg == win32con.WM_DESTROY:
print 'message: WM_DESTROY'
win32gui.PostQuitMessage(0)
return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
wndClsStruct = win32gui.WNDCLASS()
wndClsStruct.hbrBackground = win32con.COLOR_BTNFACE + 1
wndClsStruct.hCursor = win32gui.LoadCursor(0, win32con.IDC_ARROW)
wndClsStruct.hIcon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION)
wndClsStruct.lpszClassName = "MySimpleWindow"
wndClsStruct.lpfnWndProc = wndProc
wndClassAtom = win32gui.RegisterClass(wndClsStruct)
hwnd = win32gui.CreateWindow(
wndClassAtom, 'Spark Test', win32con.WS_OVERLAPPEDWINDOW,
win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT,
win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT,
0,0, 0, None)
win32gui.ShowWindow(hwnd, win32con.SW_SHOWNORMAL)
win32gui.UpdateWindow(hwnd)
win32gui.PumpMessages()
http://python.net/crew/mhammond/win32/Downloads.html
1.
import win32api # 导入win32api模块
import win32con # 导入win32con模块
# 使用RegOpenKey打开注册表项
key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,'Software',0,win32con.KEY_READ)
print key # key为打开的项的句柄
2,
from ctypes import *
user= windll.LoadLibrary("c://windows//system32//user32.dll")
h = user.GetDC(0)
gdi= windll.LoadLibrary("c://windows//system32//gdi32.dll")
xdpi = gdi.GetDeviceCaps(h, 88)
ydpi = gdi.GetDeviceCaps(h, 90)
print xdpi, ydpi
3.
import win32gui, win32con
def wndProc(hwnd, msg, wParam, lParam):
if msg == win32con.WM_CREATE: print 'message: WM_CREATE'
if msg == win32con.WM_SIZE: print 'message: WM_SIZE'
if msg == win32con.WM_PAINT: print 'message: WM_PAINT'
if msg == win32con.WM_CLOSE: print 'message: WM_CLOSE'
if msg == win32con.WM_DESTROY:
print 'message: WM_DESTROY'
win32gui.PostQuitMessage(0)
return win32gui.DefWindowProc(hwnd, msg, wParam, lParam)
wndClsStruct = win32gui.WNDCLASS()
wndClsStruct.hbrBackground = win32con.COLOR_BTNFACE + 1
wndClsStruct.hCursor = win32gui.LoadCursor(0, win32con.IDC_ARROW)
wndClsStruct.hIcon = win32gui.LoadIcon(0, win32con.IDI_APPLICATION)
wndClsStruct.lpszClassName = "MySimpleWindow"
wndClsStruct.lpfnWndProc = wndProc
wndClassAtom = win32gui.RegisterClass(wndClsStruct)
hwnd = win32gui.CreateWindow(
wndClassAtom, 'Spark Test', win32con.WS_OVERLAPPEDWINDOW,
win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT,
win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT,
0,0, 0, None)
win32gui.ShowWindow(hwnd, win32con.SW_SHOWNORMAL)
win32gui.UpdateWindow(hwnd)
win32gui.PumpMessages()