Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 18, 2014 00:27:44

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

создание Windows Service и его работа

суть то в том ,что у меня файлы на рабочем столе ,допустим.
А я нажимаю на комбинацию кнопок и выделенные файлы уходят на флешку.
Мне нужно поймать событие нажатия клавиш……

Офлайн

#2 Янв. 18, 2014 00:31:08

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

создание Windows Service и его работа

да я понял…

Офлайн

#3 Янв. 18, 2014 00:33:38

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

создание Windows Service и его работа

Да я понял…..
Хотя хоть убей не пойму почему
Нужен другой способ решения задачи

Офлайн

#4 Янв. 18, 2014 00:37:21

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

создание Windows Service и его работа

можно скрипт запихнуть в автозагрузку, со скрытым ком.окном, расширение .pyw и пусть висит, ловит хуки и копи-пасте файлы, без сервиса

Отредактировано sanodin (Янв. 18, 2014 00:38:32)

Офлайн

#5 Янв. 18, 2014 01:02:35

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

создание Windows Service и его работа

Если честно ,то я не понял ,что ты тут сказал
С другой стороны очень хотелось бы сделать именно сервис ибо красиво и вроде как правильно так.
Нужен совет от БОГОВ ПИТОНА

Офлайн

#6 Янв. 18, 2014 01:32:21

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

создание Windows Service и его работа

Я хоть и не бог, но посмотрите в сторону приложения в трей-области.
Это так же красиво, особенно если создавать взрослый рабочий инструмент, а не писькомерку.
А инструмент он такой - он должен подчиняться пользователю, легко устанавливаться, запускаться и закрываться. Чего не скажешь про сервис.
Элегантная трей-утилита - наше все.



Офлайн

#7 Янв. 18, 2014 09:33:10

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

создание Windows Service и его работа

Я был бы рад узнать побольше о том как такую аппликацию создать и особенно как сделать так что бы она УСТАНАВЛИВАЛАСЬ итд…

Офлайн

#8 Янв. 18, 2014 09:53:40

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

создание Windows Service и его работа

как пример, моргает светодиодом Caps Lock, в трее запуск, останова
примеры взяты из http://python.su/forum/topic/21735/
http://www.sql.ru/forum/987529/python-qt-otobrazhenie-kontekstnogo-podmenu

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import time
import win32api
import win32con
from PyQt4 import QtGui, QtCore
 
def led():
    
    print "Caps Locking...", time.asctime()
    win32api.keybd_event(win32con.VK_CAPITAL, 0, 0, 0)
    win32api.keybd_event(win32con.VK_CAPITAL, 0, win32con.KEYEVENTF_KEYUP, 0)
    
	
class WorkerThread(QtCore.QThread):
    def __init__(self, tray_icon):
        QtCore.QThread.__init__(self)
        self.tray_icon = tray_icon
        self._need_to_stop = False
 
    def run(self):
        self._need_to_stop = False
        self.tray_icon.showMessage('Test', 'Test message ')
        while not self._need_to_stop:
            print 'Doing work'
            
            led()
            
            time.sleep(1)
        print 'exiting'
        
        #QtGui.QApplication.quit()
 
    def stop(self):
        self._need_to_stop = True
    def st(self):
        QtGui.QApplication.quit()
def create_note(*args, **kw):
    worker.start()
def stoped(*args, **kw):
    worker.stop()
    
   
app = QtGui.QApplication(sys.argv)
tray = QtGui.QSystemTrayIcon(
    QtGui.QIcon(":/trolltech/styles/commonstyle/images/standardbutton-open-128.png")
)
worker = WorkerThread(tray)
menu = QtGui.QMenu()
menu.addAction("Caps Lock", create_note)
menu.addAction("Stop", stoped)
quit_action = menu.addAction('Quit')
quit_action.triggered.connect(worker.st)
tray.setContextMenu(menu)
tray.show()
app.exec_()
а что бы устанавливалась на компьютере с windows но без установленного python, надо собрать проект в exe
например с помощью cx_Freze
и затем либо в sfx архив упаковать либо есть утилиты-инсталяторы
если же не надо сборка в exe, берете скрипт, переименовываете расширение в .pyw (script.pyw), и помещаете в автозагрузку и при запуске windows сама запустит ваш скрипт, с учетом того, что на машине установлен python
ну или сами запускаете двойным кликом по скрипту

Отредактировано sanodin (Янв. 18, 2014 10:35:38)

Офлайн

#9 Янв. 18, 2014 11:23:23

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

создание Windows Service и его работа

Не пойму как с помощью pywinauto узнать какие файлы выделены…
Все остальное уже скомпоновал
если кто может дать пример ,буду очень рад.
Мне нужно выделить файлы (мышкой допустим) на рабочем столе и получить имена этих файлов ,потому что потом их я переношу в другое место

Офлайн

#10 Янв. 18, 2014 12:10:52

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

создание Windows Service и его работа

win api смотреть

Отредактировано sanodin (Янв. 18, 2014 12:11:03)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version