
Очень жду код…
насколько я понимаю pywinauto это библиотека питона , а не какая нибудь внешняя утилита или прога
с тэгами разобрались!

from win32com . client import Dispatch from win32gui import GetClassName import win32gui ShellWindowsCLSID = '{9BA05972-F6A8-11CF-A442-00A0C90A8F39}' ShellWindows = Dispatch ( ShellWindowsCLSID ) top = win32gui.GetForegroundWindow() #Получаем хэндл окна которое сейчас онТОП print top for shellwindow in ShellWindows : print shellwindow.HWND print GetClassName ( shellwindow . HWND ) if GetClassName ( shellwindow . HWND ) == 'CabinetWClass' : print shellwindow . LocationName print shellwindow . LocationURL print 50 * '-' for j in range(shellwindow.Document.SelectedItems().Count): #Бежим по количеству выбранных файлов в главном окне print shellwindow.Document.SelectedItems().Item(j).Path #Печатаем путь к выделенному файлу
from win32com.client import Dispatch import win32gui from win32gui import GetClassName import pyHook import pythoncom import sys import win32com.client ShellWindowsCLSID = '{9BA05972-F6A8-11CF-A442-00A0C90A8F39}' ShellWindows = Dispatch(ShellWindowsCLSID) def OnKeyboardEvent(event): if event.Ascii == 25: top = win32gui.GetForegroundWindow() print top for shellwindow in ShellWindows: print shellwindow.HWND print GetClassName(shellwindow.HWND) #for i in range(int(ShellWindows.Count)): # if int(ShellWindows[i].HWND) == top: # for j in range(ShellWindows[i].Document.SelectedItems().Count): # print ShellWindows[i].Document.SelectedItems().Item(j).Path elif event.Ascii == 17: sys.exit() hm = pyHook.HookManager() hm.KeyDown = OnKeyboardEvent hm.HookKeyboard() while True: pythoncom.PumpMessages()
Doktopatвторая ссылка была есесно на win32api
Fix me if I am wrong ,but the code from this link:http://timgolden.me.uk/python/win32_how_do_i/catch_system_wide_hotkeys.htmlcan work without PyQt4…..Have I just take the necessary parts of the code and use it in my code?
import sys import win32com.client try: strComputer = sys.argv[1] except IndexError: strComputer = "." objWMIService = win32com.client.Dispatch( "WbemScripting.SWbemLocator" ) objSWbemServices = objWMIService.ConnectServer( strComputer, "root/CIMV2" ) colItems = objSWbemServices.ExecQuery( "SELECT * FROM Win32_LogicalDisk" ) if colItems.Count == 1: print( "1 instance:" ) else: print( str( colItems.Count ) + " instances:" ) print( ) for objItem in colItems: if objItem.Description == 'Removable Disk': if objItem.BlockSize != None: print( "BlockSize : " + str( objItem.BlockSize ) ) if objItem.Caption != None: print( "Caption : " + str( objItem.Caption ) ) if objItem.Description != None: print( "Description : " + str( objItem.Description ) ) if objItem.DeviceID != None: print( "DeviceID : " + str( objItem.DeviceID ) ) if objItem.DriveType != None: print( "DriveType : " + str( objItem.DriveType ) ) if objItem.FileSystem != None: print( "FileSystem : " + str( objItem.FileSystem ) ) if objItem.Name != None: print( "Name : " + str( objItem.Name ) ) strList = " " try: for objElem in objItem.PowerManagementCapabilities : strList = strList + str( objElem ) + "," except: strList = strList + 'null' if objItem.Size != None: print( "Size : " + str( objItem.Size ) ) if objItem.VolumeSerialNumber != None: print( "VolumeSerialNumber : " + str( objItem.VolumeSerialNumber ) ) print( )