makaleler / Python Programlama / python windows api örneği

python windows api örneği

06.01.2011 15:06:04

Python windows api örneği

# -*- coding: cp1254 -*-
from ctypes import *

class Win32api():
   def __init__(self):
       self.SetWindowText = windll.user32.SetWindowTextA
       self.FindWindow    = windll.user32.FindWindowA 
       self.FindWindowEx  = windll.user32.FindWindowExA
       self.PostMessage   = windll.user32.PostMessageW
   
   def String(self,s):
       return c_char_p(s)

   def Int(self,i):
       return c_int(i)

   def Long(self,l):
       return c_long(l)

#Ufak bir örnek yapalım.
test = Win32api()

#none in python is == NULL in C(more or less)
ret = test.FindWindow(None,test.String("Adsız - Not Defteri"))

#Window formunun Caption kısmını çevirir
#test.SetWindowText(ret,test.String("Shellden prompt deneme :D"))


#Uygulamamız notepad e assci caracter setinden karakter basar
#0x0102 wm_char ve WM_KEYDOWN sistem sabitidir windows un kullandığı bir sabittir esasında
wm_char     = 0x0102
wm_keydown  = 0x0100
wm_setfocus = 0x0007
vk_return   = 13
ret1 = test.FindWindowEx(ret,0,test.String("Edit"),None)
test.PostMessage(ret, wm_setfocus, 1, 0) #Notepad e focuslanalım
test.PostMessage(ret,wm_char,1,0)
test.PostMessage(ret1,wm_char,72,0)
test.PostMessage(ret1,wm_char,85,0)
test.PostMessage(ret1,wm_char,83,0)
test.PostMessage(ret1,wm_char,79,0)
test.PostMessage(ret1,wm_char,78,0)
test.PostMessage(ret1,wm_char,69,0)
test.PostMessage(ret1,wm_char,84,0)
test.PostMessage(ret1,wm_char,46,0)
test.PostMessage(ret1,wm_char,67,0)
test.PostMessage(ret1,wm_char,79,0)
test.PostMessage(ret1,wm_char,77,0)
#buradada entera basıp send işlemini yerine getirmiş bulundum...
test.PostMessage(ret1,wm_keydown,vk_return,0)

print("yapıldı")

yazar husonet

Yorumlar

Bu içerik için sizde yorum yapabilirsiniz!
anasayfa | makaleler | haberler | dosyalar | linkler | hakkımızda