pythontr.com
# -*- 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ı")
Yorumlar