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

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

sanodin
как создавать демон процесс
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))
может что и пригодится
Doktopat
Огромное спасибо!
Уже изучаю винд сервисы))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB