Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Python для новичков
  • » Скрипт, который будет сидеть как демон процесс и исполняться при определенном сочетании нажатия клавиш [RSS Feed]

#1 Янв. 13, 2014 19:27:29

Doktopat
Зарегистрирован: 2013-06-15
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Скрипт, который будет сидеть как демон процесс и исполняться при определенном сочетании нажатия клавиш

Добрый день всем!
Работаю QA-эйщиком. Есть определенная операция ,которая выполняется по 100 раз в день. Хотелось бы ее автоматизировать. Пытаюсь увлекаться питоном.
Боевая задача:
Работаю под windows 7 64 bit
нужно написать и скомпилировать скрипт ,который будет находится в винде как ДЕМОН процесс и мирно себе сидеть ,пока не будет нажата определенная комбинация клавиш ,например: контр+алт+“какаянибудьбуква” и тогда выделенные мною файлы будут вырезаться и вставляться на флешку в определенную папку. Вот собственно и вся задача.

В общем я понимаю следующее:
необходимо понять как создавать демон процесс
необходимо понять как отслеживать в винде событие : нажатие комбинации клавиш
получить от винды путь к выделенным файлам
а также необходимо понять как узнать у винды какую букву в пути она задала флешке и соответственно как к ней обратиться.
и наконец как сделать так что бы программа работала и на винде7 64 и на 32битах и на ЭКСПИ
Буду бесконечно рад помощи…Или хотя подтолкнуть меня к решению

Офлайн

#2 Янв. 13, 2014 19:37:32

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

Скрипт, который будет сидеть как демон процесс и исполняться при определенном сочетании нажатия клавиш

как создавать демон процесс
http://iqa.com.ua/programming/python/windows-services-from-python-scripts
комбинации клавиш
PyHook
узнать выделенный файл
pywinauto
я когда то делал подобное, открывал блокнотом выделенный файл в проводнике, вот пример, но за работоспособность не ручаюсь, так как под windows 7 server работала , а под win 7 немного переделывал, и прожка в помощь http://code.google.com/p/swapy/

# -*- coding: cp1251 -*-
import pywinauto
from pywinauto import win32functions,win32defines
import win32api
import win32con
import time
import win32clipboard
import win32gui
import win32com.client
import subprocess
ms=win32functions.SendMessage
shell = win32com.client.Dispatch("WScript.Shell")
pwa_app = pywinauto.application.Application()
w=pywinauto.findwindows.find_windows(class_name='CabinetWClass')[0]
window = pwa_app.window_(handle=w)
window.SetFocus()
win32gui.ShowWindow(w,5)
win32gui.SetForegroundWindow(w)
#win32gui.SetFocus(w) 
time.sleep(1)
ms(w, shell.SendKeys("^c", 0), 0,0)#копирование
#shell.SendKeys("^a^c", 0)#выделение,копирование
time.sleep(1)
print window.Texts()[0]
 
win32clipboard.OpenClipboard()
 
try:
    data = win32clipboard.GetClipboardData(win32clipboard.CF_HDROP)
    print 'Files:'
    for i in data:
        print i
except:
    print 'No file to the clipboard'
 
win32clipboard.CloseClipboard()
try:
    PATH = data
    subprocess.Popen('notepad.exe "%s"'%(PATH))
except:
    PATH = " ".join(data).encode('cp1251')
subprocess.Popen('notepad.exe "%s"'%(PATH))
может что и пригодится

Отредактировано sanodin (Янв. 13, 2014 19:53:47)

Офлайн

#3 Янв. 13, 2014 19:48:02

Doktopat
Зарегистрирован: 2013-06-15
Сообщения: 55
Репутация: +  0  -
Профиль   Отправить e-mail  

Скрипт, который будет сидеть как демон процесс и исполняться при определенном сочетании нажатия клавиш

Огромное спасибо!
Уже изучаю винд сервисы))

Офлайн

  • Начало
  • » Python для новичков
  • » Скрипт, который будет сидеть как демон процесс и исполняться при определенном сочетании нажатия клавиш[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version