Форум сайта python.su
вот собрал все до кучи, не стал ничего делать с оптимизацией и просто оставил все как есть(быдлокодерство), два модуля и сама прожка, она работает, но с прожкой в трее все было бы намного меньше (в плане кода) и лучше, но я сам пока не могу работать с PyQt4
и еще, можно было бы просто , без нажатия клавиш, сделать, выделил файлы, вставил флешку и все…файлы ушли сами на флешку
клавиши win+F3
Отредактировано sanodin (Янв. 19, 2014 19:41:31)
Прикреплённый файлы: copy_to_flash.zip (3,5 KБ)
Офлайн
Огромное тебе спасибо за помощь.
Прошу заметить ,что без нажатия клавиш не интересно. Ведь я сам для себя придумал это занятие и по большей части именно для того ,что бы научиться всяким интересным вещам.
Постараюсь на днях посидеть и въехать во все ,что ты прислал.
ты написал ,что можно без нажатия - выделил файлы и они улетели на флешку!!! Но пардон получается ,что не выделишь в винде оно будет на флешку лететь…. Мне так не надо
Я просто хочу освоить эти техники:
выделение файлов,
работа с окнами,
с флешкой итд…
В будущем я смогу попривязывать кучу таких сочетаний клавиш и каждая будет ,что нибудь прикольное выполнять(полезное в той или иной степени для работы) и может когда нибудь я смогу таки проползти в автоматизацию в нашей фирме…..
на счет клавиш: клавиши win+F3
это в коде прописано,что при нажатии win+F3 ,что то делать?
хотелось бы найти как можно любое желанное мною сочетание клавиш привязывать к определенным событиям(к исполнению определенной логики)
Офлайн
Doktopatв цикле проверяется наличие флешки, и как только обнаруживается, выделенные файлы копи-пасте на флешку, но вот если допустим, флешку вставишь, файлы скопировались, то потом уже, что бы повторить, только по клавишам придется, либо флешку передергивать
получается ,что не выделишь в винде оно будет на флешку лететь…. Мне так не надо
Doktopatпри нажатии этих клавиш, в этой программе, выделенные файлы, отправляются на флеш
это в коде прописано,что при нажатии win+F3 ,что то делать
Отредактировано sanodin (Янв. 19, 2014 21:47:11)
Офлайн
Thank you very much!!!
Офлайн
DoktopatСкорее гуглу, так как я не программист
Thank you very much!!!
Отредактировано sanodin (Янв. 20, 2014 08:54:56)
Офлайн
Net ne gygly, a tebe.
Ti ved' ydelil mne stol'ko vremeni,a ne google
Офлайн
Я скачал твои файлы.
хотел сперва проверить без переноса на флэшку:
#driv = flash.drive()
#print driv
#for i in files:
# copyFile(i, driv)
закоментил эти 4 строки и запускаю:
Пишет так:
Registering id 1 for key 114
Registering id 2 for key 115
Вроде все хорошо! Затем захожу в одну из папок на компе и выделяю пару файлов. Жму ВИН+Ф3 и вот что получаю:
Traceback (most recent call last):
File “CUsers/Doktopat/PycharmProjects/copy_paste/copy_to_flash.py”, line 78, in <module>
action_to_take ()
File “CUsers/Doktopat/PycharmProjects/copy_paste/copy_to_flash.py”, line 38, in handle_win_f3
files = hnd.hndlt()
File “C:\Users\Doktopat\PycharmProjects\copy_paste\hnd.py”, line 15, in hndlt
if GetClassName ( shellwindow . HWND ) == ‘CabinetWClass’ :
TypeError: The object is not a PyHANDLE object
что то тут не так. Да и я не совсем понимаю зачем мы это :
GetClassName ( shellwindow . HWND ) сравниваем с ‘CabinetWClass’
если мы вроде для этого top переменную определяли ,которая должна была главное окно отслеживать, а сейчас эта переменная ничего не делает….
В общем не хочет работать код
Офлайн
Я вернул в работу top:
def hndlt(): ShellWindowsCLSID = '{9BA05972-F6A8-11CF-A442-00A0C90A8F39}' ShellWindows = Dispatch(ShellWindowsCLSID) top = win32gui.GetForegroundWindow() print type(top) print "Top is = " + str(top) for shellwindow in ShellWindows: shellwindow_to_int = int(shellwindow.HWND) print shellwindow_to_int #print GetClassName ( shellwindow . HWND ) if shellwindow_to_int == top: print "DADADADADADADADA!!!!!!!!!" #print shellwindow . LocationName #print shellwindow . LocationURL #print 50 * '-' for j in range(shellwindow.Document.SelectedItems().Count): lis.append(shellwindow.Document.SelectedItems().Item(j).Path) try: return lis except: pass
Офлайн