Fixed unicode decoding bug of window title. This bug may cause crashing on exit randomly. Usually with console output:
TypeError: MouseSwitch() takes exactly 9 arguments (1 given)
or
TypeError: KeyboardSwitch() takes exactly 9 arguments (1 given)
import subprocess
subprocess.call("d:\\2014.xlsx", shell=True)
import subprocess
subprocess.Popen("d:\\2014.xlsx", shell=True)
Для запуска команд системы используется две функции subprocess.call() и subprocess.Popen(). Основное отличие этих функций между собой: функция subprocess.call() блокирует выполнение сценария до получения ответа, в то время как функция subprocess.Popen() - нет.
subprocess.call() - используется, если нужно просто запустить команду, а вывод от нее сохранять не требуется.
subprocess.Popen() - используется, если требуется захватить вывод команды
os.startfile('recomendations.log')
import win32com.client
shell = win32com.client.Dispatch("WScript.Shell")
shell.Run('d:\meridian.jpg')
import os
os.system(r'd:\2014.xlsx')
import win32api
import pythoncom
import pyHook
def OnKeyboardEvent(event):
# проверяем статусы клавиш-модификаторов
# возвращаемые значения:
# 0 или 1 - клавиша отжата
# (-127) или (-128) - клавиша нажата
ALT = win32api.GetKeyState(0x12) #
CTRL = win32api.GetKeyState(0x11)
SHIFT = win32api.GetKeyState(0x10)
LWIN = win32api.GetKeyState(0x5B)
HOME = win32api.GetKeyState(0x24)
if event.Key=='Home' and event.MessageName == 'key down':
if CTRL<0 and SHIFT<0 and ALT<0:
print('Нажата комбинация клавиш CTRL+SHIFT+ALT+HOME')
elif CTRL<0 and SHIFT<0:
print('Нажата комбинация клавиш CTRL+SHIFT+HOME')
elif ALT<0 and SHIFT<0:
print('Нажата комбинация клавиш SHIFT+ALT+HOME')
elif CTRL<0 and ALT<0:
print('Нажата комбинация клавиш CTRL+ALT+HOME')
elif CTRL<0:
print('Нажата комбинация клавиш CTRL+HOME')
elif SHIFT<0:
print('Нажата комбинация клавиш SHIFT+HOME')
else:
print('Нажата клавиша HOME')
return True
hm = pyHook.HookManager() # создание экземпляра класса HookManager
hm.KeyAll = OnKeyboardEvent # отслеживаем нажатия клавиш
hm.HookKeyboard() # вешаем хук
pythoncom.PumpMessages() # ловим сообщения
from PIL import Image, ImageGrab
import win32api, time
#задаем координаты прямоугольника скриншота
def get_coordinates():
#задаем верхний левый угол
time.sleep(3)
x0, y0=win32api.GetCursorPos()
#задаем правый нижний угол
time.sleep(3)
x_max, y_max=win32api.GetCursorPos()
return(x0,y0,x_max,y_max)
def main():
x0,y0,x_max,y_max=get_coordinates()
img = ImageGrab.grab((x0, y0, x_max, y_max))
img.save(("01.png"), "PNG")
if __name__=='__main__':
main()