home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import win32console
- import win32con
- import traceback
- import time
- virtual_keys = { }
- for k, v in win32con.__dict__.items():
- if k.startswith('VK_'):
- virtual_keys[v] = k
- continue
-
- free_console = True
-
- try:
- win32console.AllocConsole()
- except win32console.error:
- err_tuple = None
- if err_tuple[0] != 5:
- raise
- err_tuple[0] != 5
- free_console = False
-
- stdout = win32console.GetStdHandle(win32console.STD_OUTPUT_HANDLE)
- stdin = win32console.GetStdHandle(win32console.STD_INPUT_HANDLE)
- newbuffer = win32console.CreateConsoleScreenBuffer()
- newbuffer.SetConsoleActiveScreenBuffer()
- newbuffer.SetConsoleTextAttribute(win32console.FOREGROUND_RED | win32console.FOREGROUND_INTENSITY | win32console.BACKGROUND_GREEN | win32console.BACKGROUND_INTENSITY)
- newbuffer.WriteConsole('This is a new screen buffer\n')
- window_size = newbuffer.GetConsoleScreenBufferInfo()['Window']
- coord = win32console.PyCOORDType(X = window_size.Right + 20, Y = window_size.Bottom + 20)
- newbuffer.SetConsoleScreenBufferSize(coord)
- window_size.Right += 10
- window_size.Bottom += 10
- newbuffer.SetConsoleWindowInfo(Absolute = True, ConsoleWindow = window_size)
- x = win32console.PyINPUT_RECORDType(win32console.KEY_EVENT)
- x.Char = u'X'
- x.KeyDown = True
- x.RepeatCount = 1
- x.VirtualKeyCode = 88
- x.ControlKeyState = win32con.SHIFT_PRESSED
- z = win32console.PyINPUT_RECORDType(win32console.KEY_EVENT)
- z.Char = u'Z'
- z.KeyDown = True
- z.RepeatCount = 1
- z.VirtualKeyCode = 90
- z.ControlKeyState = win32con.SHIFT_PRESSED
- stdin.WriteConsoleInput([
- x,
- z,
- x])
- newbuffer.SetConsoleTextAttribute(win32console.FOREGROUND_RED | win32console.FOREGROUND_INTENSITY | win32console.BACKGROUND_GREEN | win32console.BACKGROUND_INTENSITY)
- newbuffer.WriteConsole('Press some keys, click some characters with the mouse\n')
- newbuffer.SetConsoleTextAttribute(win32console.FOREGROUND_BLUE | win32console.FOREGROUND_INTENSITY | win32console.BACKGROUND_RED | win32console.BACKGROUND_INTENSITY)
- newbuffer.WriteConsole('Hit "End" key to quit\n')
- breakout = False
- while not breakout:
- input_records = stdin.ReadConsoleInput(10)
- for input_record in input_records:
- if input_record.EventType == win32console.KEY_EVENT:
- if input_record.KeyDown:
- if input_record.VirtualKeyCode == win32con.VK_END:
- breakout = True
- break
-
-
- input_record.KeyDown
- if input_record.EventType == win32console.MOUSE_EVENT:
- if input_record.EventFlags == 0:
- if input_record.ButtonState != 0:
- pos = input_record.MousePosition
- attr = newbuffer.ReadConsoleOutputAttribute(Length = 1, ReadCoord = pos)[0]
- new_attr = attr
- if attr & win32console.FOREGROUND_RED:
- new_attr = new_attr & ~(win32console.FOREGROUND_RED) | win32console.BACKGROUND_RED
-
- if attr & win32console.FOREGROUND_GREEN:
- new_attr = new_attr & ~(win32console.FOREGROUND_GREEN) | win32console.BACKGROUND_GREEN
-
- if attr & win32console.BACKGROUND_BLUE:
- new_attr = new_attr & ~(win32console.BACKGROUND_BLUE) | win32console.FOREGROUND_BLUE
-
- if attr & win32console.BACKGROUND_RED:
- new_attr = new_attr & ~(win32console.BACKGROUND_RED) | win32console.FOREGROUND_RED
-
- if attr & win32console.BACKGROUND_GREEN:
- new_attr = new_attr & ~(win32console.BACKGROUND_GREEN) | win32console.FOREGROUND_GREEN
-
- newbuffer.WriteConsoleOutputAttribute((new_attr,), pos)
-
-
- input_record.EventFlags == 0
- newbuffer.WriteConsole(str(input_record))
-
- time.sleep(0.1)
- continue
- window_size
- stdout.SetConsoleActiveScreenBuffer()
- newbuffer.Close()
- if free_console:
- win32console.FreeConsole()
-
-