shell – Shell functionality

Wrappers around standard functionality from the semi-independent Windows Shell subsystem which powers the desktop, shortcuts, special folders, property sheets &c.

Implemented so far:

  • Shortcuts: use the shortcut() function to edit or create desktop shortcuts

  • [EXPERIMENTAL] Properties: use the properties() function to expose property sheet data

  • Standard folders: commonly-accessed shell folders are exposed at module level, eg desktop(),

    startup(), recent()

Functions

shell.shortcut(source=<Unset>)[source]
shell.properties(source)[source]

Classes

class shell.Shortcut(filepath=<Unset>, **kwargs)[source]

Constants

shell.CSIDL = <Constants: {'COMMON_ADMINTOOLS': 47, 'MYMUSIC': 13, 'NETWORK': 18, 'COMMON_TEMPLATES': 45, 'WINDOWS': 36, 'DESKTOPDIRECTORY': 16, 'SENDTO': 9, 'COMMON_FAVORITES': 31, 'COMMON_PROGRAMS': 23, 'DESKTOP': 0, 'PROGRAM_FILES': 38, 'PROGRAM_FILES_COMMONX86': 44, 'COMMON_DESKTOPDIRECTORY': 25, 'COMMON_STARTMENU': 22, 'TEMPLATES': 21, 'COMMON_STARTUP': 24, 'SYSTEMX86': 41, 'RESOURCES_LOCALIZED': 57, 'PROGRAM_FILESX86': 42, 'COMMON_VIDEO': 55, 'CONNECTIONS': 49, 'COMMON_PICTURES': 54, 'COMMON_APPDATA': 35, 'FAVORITES': 6, 'PRINTERS': 4, 'RECENT': 8, 'COMPUTERSNEARME': 61, 'ALTSTARTUP': 29, 'COMMON_OEM_LINKS': 58, 'BITBUCKET': 10, 'COMMON_ALTSTARTUP': 30, 'MYPICTURES': 39, 'FONTS': 20, 'MYVIDEO': 14, 'DRIVES': 17, 'MYDOCUMENTS': 12, 'NETHOOD': 19, 'ADMINTOOLS': 48, 'INTERNET': 1, 'PROGRAM_FILES_COMMON': 43, 'RESOURCES': 56, 'HISTORY': 34, 'PROFILE': 40, 'COOKIES': 33, 'PRINTHOOD': 27, 'APPDATA': 26, 'PROGRAMS': 2, 'PERSONAL': 5, 'STARTUP': 7, 'SYSTEM': 37, 'CONTROLS': 3, 'LOCAL_APPDATA': 28, 'CDBURN_AREA': 59, 'INTERNET_CACHE': 32, 'COMMON_MUSIC': 53, 'STARTMENU': 11, 'COMMON_DOCUMENTS': 46}>
Name Val Win32
DESKTOP 0x000 CSIDL_DESKTOP
INTERNET 0x001 CSIDL_INTERNET
PROGRAMS 0x002 CSIDL_PROGRAMS
CONTROLS 0x003 CSIDL_CONTROLS
PRINTERS 0x004 CSIDL_PRINTERS
PERSONAL 0x005 CSIDL_PERSONAL
FAVORITES 0x006 CSIDL_FAVORITES
STARTUP 0x007 CSIDL_STARTUP
RECENT 0x008 CSIDL_RECENT
SENDTO 0x009 CSIDL_SENDTO
BITBUCKET 0x00A CSIDL_BITBUCKET
STARTMENU 0x00B CSIDL_STARTMENU
MYDOCUMENTS 0x00C CSIDL_MYDOCUMENTS
MYMUSIC 0x00D CSIDL_MYMUSIC
MYVIDEO 0x00E CSIDL_MYVIDEO
DESKTOPDIRECTORY 0x010 CSIDL_DESKTOPDIRECTORY
DRIVES 0x011 CSIDL_DRIVES
NETWORK 0x012 CSIDL_NETWORK
NETHOOD 0x013 CSIDL_NETHOOD
FONTS 0x014 CSIDL_FONTS
TEMPLATES 0x015 CSIDL_TEMPLATES
COMMON_STARTMENU 0x016 CSIDL_COMMON_STARTMENU
COMMON_PROGRAMS 0x017 CSIDL_COMMON_PROGRAMS
COMMON_STARTUP 0x018 CSIDL_COMMON_STARTUP
COMMON_DESKTOPDIRECTORY 0x019 CSIDL_COMMON_DESKTOPDIRECTORY
APPDATA 0x01A CSIDL_APPDATA
PRINTHOOD 0x01B CSIDL_PRINTHOOD
LOCAL_APPDATA 0x01C CSIDL_LOCAL_APPDATA
ALTSTARTUP 0x01D CSIDL_ALTSTARTUP
COMMON_ALTSTARTUP 0x01E CSIDL_COMMON_ALTSTARTUP
COMMON_FAVORITES 0x01F CSIDL_COMMON_FAVORITES
INTERNET_CACHE 0x020 CSIDL_INTERNET_CACHE
COOKIES 0x021 CSIDL_COOKIES
HISTORY 0x022 CSIDL_HISTORY
COMMON_APPDATA 0x023 CSIDL_COMMON_APPDATA
WINDOWS 0x024 CSIDL_WINDOWS
SYSTEM 0x025 CSIDL_SYSTEM
PROGRAM_FILES 0x026 CSIDL_PROGRAM_FILES
MYPICTURES 0x027 CSIDL_MYPICTURES
PROFILE 0x028 CSIDL_PROFILE
SYSTEMX86 0x029 CSIDL_SYSTEMX86
PROGRAM_FILESX86 0x02A CSIDL_PROGRAM_FILESX86
PROGRAM_FILES_COMMON 0x02B CSIDL_PROGRAM_FILES_COMMON
PROGRAM_FILES_COMMONX86 0x02C CSIDL_PROGRAM_FILES_COMMONX86
COMMON_TEMPLATES 0x02D CSIDL_COMMON_TEMPLATES
COMMON_DOCUMENTS 0x02E CSIDL_COMMON_DOCUMENTS
COMMON_ADMINTOOLS 0x02F CSIDL_COMMON_ADMINTOOLS
ADMINTOOLS 0x030 CSIDL_ADMINTOOLS
CONNECTIONS 0x031 CSIDL_CONNECTIONS
COMMON_MUSIC 0x035 CSIDL_COMMON_MUSIC
COMMON_PICTURES 0x036 CSIDL_COMMON_PICTURES
COMMON_VIDEO 0x037 CSIDL_COMMON_VIDEO
RESOURCES 0x038 CSIDL_RESOURCES
RESOURCES_LOCALIZED 0x039 CSIDL_RESOURCES_LOCALIZED
COMMON_OEM_LINKS 0x03A CSIDL_COMMON_OEM_LINKS
CDBURN_AREA 0x03B CSIDL_CDBURN_AREA
COMPUTERSNEARME 0x03D CSIDL_COMPUTERSNEARME
shell.STGM = <Constants: {'NOSCRATCH': 1048576, 'SHARE_DENY_NONE': 64, 'FAILIFTHERE': 0, 'SHARE_EXCLUSIVE': 16, 'TRANSACTED': 65536, 'READ': 0, 'DELETEONRELEASE': 67108864, 'CONVERT': 131072, 'DIRECT': 0, 'PRIORITY': 262144, 'READWRITE': 2, 'WRITE': 1, 'SHARE_DENY_WRITE': 32, 'SIMPLE': 134217728, 'NOSNAPSHOT': 2097152, 'SHARE_DENY_READ': 48, 'CREATE': 4096}>
Name Val Win32
FAILIFTHERE 0x00000000 STGM_READ
READ 0x00000000 STGM_READ
DIRECT 0x00000000 STGM_READ
WRITE 0x00000001 STGM_WRITE
READWRITE 0x00000002 STGM_READWRITE
SHARE_EXCLUSIVE 0x00000010 STGM_SHARE_EXCLUSIVE
SHARE_DENY_WRITE 0x00000020 STGM_SHARE_DENY_WRITE
SHARE_DENY_READ 0x00000030 STGM_SHARE_DENY_READ
SHARE_DENY_NONE 0x00000040 STGM_SHARE_DENY_NONE
CREATE 0x00001000 STGM_CREATE
TRANSACTED 0x00010000 STGM_TRANSACTED
CONVERT 0x00020000 STGM_CONVERT
PRIORITY 0x00040000 STGM_PRIORITY
NOSCRATCH 0x00100000 STGM_NOSCRATCH
NOSNAPSHOT 0x00200000 STGM_NOSNAPSHOT
DELETEONRELEASE 0x04000000 STGM_DELETEONRELEASE
SIMPLE 0x08000000 STGM_SIMPLE
shell.STGFMT = <Constants: {'STORAGE': 0, 'DOCFILE': 5, 'FILE': 3, 'DOCUMENT': 0, 'ANY': 4, 'NATIVE': 1}>
Name Val Win32
STORAGE 0x000 STGFMT_STORAGE
DOCUMENT 0x000 STGFMT_STORAGE
NATIVE 0x001 STGFMT_NATIVE
FILE 0x003 STGFMT_FILE
ANY 0x004 STGFMT_ANY
DOCFILE 0x005 STGFMT_DOCFILE
shell.FMTID = <Constants: {'SummaryInformation': IID('{F29F85E0-4FF9-1068-AB91-08002B27B3D9}'), 'DocSummaryInformation': IID('{D5CDD502-2E9C-101B-9397-08002B2CF9AE}'), 'Displaced': IID('{9B174B33-40FF-11D2-A27E-00C04FC30871}'), 'ImageProperties': IID('{14B81DA1-0135-4D31-96D9-6CBFC9671A99}'), 'Briefcase': IID('{328D8B21-7729-4BFC-954C-902B329D56B0}'), 'Intshcut': IID('{000214A0-0000-0000-C000-000000000046}'), 'Misc': IID('{9B174B34-40FF-11D2-A27E-00C04FC30871}'), 'MediaFileSummaryInformation': IID('{64440492-4C8B-11D1-8B70-080036B11A03}'), 'Storage': IID('{B725F130-47EF-101A-A5F1-02608C9EEBAC}'), 'Volume': IID('{9B174B35-40FF-11D2-A27E-00C04FC30871}'), 'ImageSummaryInformation': IID('{6444048F-4C8B-11D1-8B70-080036B11A03}'), 'UserDefinedProperties': IID('{D5CDD505-2E9C-101B-9397-08002B2CF9AE}'), 'Query': IID('{49691C90-7E17-101A-A91C-08002B2ECDA9}'), 'WebView': IID('{F2275480-F782-4291-BD94-F13693513AEC}'), 'ShellDetails': IID('{28636AA6-953D-11D2-B5D6-00C04FD918D0}'), 'InternetSite': IID('{000214A1-0000-0000-C000-000000000046}'), 'AudioSummaryInformation': IID('{64440490-4C8B-11D1-8B70-080036B11A03}')}>
Name Val Win32
Intshcut {000214A0-0000-0000-C000-000000000046} Intshcut
InternetSite {000214A1-0000-0000-C000-000000000046} InternetSite
ImageProperties {14B81DA1-0135-4D31-96D9-6CBFC9671A99} ImageProperties
ShellDetails {28636AA6-953D-11D2-B5D6-00C04FD918D0} ShellDetails
Briefcase {328D8B21-7729-4BFC-954C-902B329D56B0} Briefcase
Query {49691C90-7E17-101A-A91C-08002B2ECDA9} Query
ImageSummaryInformation {6444048F-4C8B-11D1-8B70-080036B11A03} ImageSummaryInformation
AudioSummaryInformation {64440490-4C8B-11D1-8B70-080036B11A03} AudioSummaryInformation
MediaFileSummaryInformation {64440492-4C8B-11D1-8B70-080036B11A03} MediaFileSummaryInformation
Displaced {9B174B33-40FF-11D2-A27E-00C04FC30871} Displaced
Misc {9B174B34-40FF-11D2-A27E-00C04FC30871} Misc
Volume {9B174B35-40FF-11D2-A27E-00C04FC30871} Volume
Storage {B725F130-47EF-101A-A5F1-02608C9EEBAC} Storage
DocSummaryInformation {D5CDD502-2E9C-101B-9397-08002B2CF9AE} FMTID_DocSummaryInformation
UserDefinedProperties {D5CDD505-2E9C-101B-9397-08002B2CF9AE} FMTID_UserDefinedProperties
WebView {F2275480-F782-4291-BD94-F13693513AEC} WebView
SummaryInformation {F29F85E0-4FF9-1068-AB91-08002B27B3D9} SummaryInformation
shell.PIDSI = <Constants: {'PAGECOUNT': 14, 'REVNUMBER': 9, 'LASTAUTHOR': 8, 'SUBJECT': 3, 'CREATE_DTM': 12, 'AUTHOR': 4, 'CHARCOUNT': 16, 'APPNAME': 18, 'WORDCOUNT': 15, 'COMMENTS': 6, 'TITLE': 2, 'TEMPLATE': 7, 'LASTSAVE_DTM': 13, 'KEYWORDS': 5, 'LASTPRINTED': 11, 'DOC_SECURITY': 19, 'THUMBNAIL': 17, 'EDITTIME': 10}>
Name Val Win32
TITLE 0x002 PIDSI_TITLE
SUBJECT 0x003 PIDSI_SUBJECT
AUTHOR 0x004 PIDSI_AUTHOR
KEYWORDS 0x005 PIDSI_KEYWORDS
COMMENTS 0x006 PIDSI_COMMENTS
TEMPLATE 0x007 PIDSI_TEMPLATE
LASTAUTHOR 0x008 PIDSI_LASTAUTHOR
REVNUMBER 0x009 PIDSI_REVNUMBER
EDITTIME 0x00A PIDSI_EDITTIME
LASTPRINTED 0x00B PIDSI_LASTPRINTED
CREATE_DTM 0x00C PIDSI_CREATE_DTM
LASTSAVE_DTM 0x00D PIDSI_LASTSAVE_DTM
PAGECOUNT 0x00E PIDSI_PAGECOUNT
WORDCOUNT 0x00F PIDSI_WORDCOUNT
CHARCOUNT 0x010 PIDSI_CHARCOUNT
THUMBNAIL 0x011 PIDSI_THUMBNAIL
APPNAME 0x012 PIDSI_APPNAME
DOC_SECURITY 0x013 PIDSI_DOC_SECURITY
shell.PIDDSI = <Constants: {'CATEGORY': 2, 'SCALE': 11, 'SLIDECOUNT': 7, 'MMCLIPCOUNT': 10, 'LINKSDIRTY': 16, 'NOTECOUNT': 8, 'COMPANY': 15, 'HIDDENCOUNT': 9, 'PARCOUNT': 6, 'HEADINGPAIR': 12, 'BYTECOUNT': 4, 'LINECOUNT': 5, 'PRESFORMAT': 3, 'MANAGER': 14, 'DOCPARTS': 13}>
Name Val Win32
CATEGORY 0x002 PIDDSI_CATEGORY
PRESFORMAT 0x003 PIDDSI_PRESFORMAT
BYTECOUNT 0x004 PIDDSI_BYTECOUNT
LINECOUNT 0x005 PIDDSI_LINECOUNT
PARCOUNT 0x006 PIDDSI_PARCOUNT
SLIDECOUNT 0x007 PIDDSI_SLIDECOUNT
NOTECOUNT 0x008 PIDDSI_NOTECOUNT
HIDDENCOUNT 0x009 PIDDSI_HIDDENCOUNT
MMCLIPCOUNT 0x00A PIDDSI_MMCLIPCOUNT
SCALE 0x00B PIDDSI_SCALE
HEADINGPAIR 0x00C PIDDSI_HEADINGPAIR
DOCPARTS 0x00D PIDDSI_DOCPARTS
MANAGER 0x00E PIDDSI_MANAGER
COMPANY 0x00F PIDDSI_COMPANY
LINKSDIRTY 0x010 PIDDSI_LINKSDIRTY
shell.PIDMSI = <Constants: {'STATUS': 7, 'RATING': 9, 'COPYRIGHT': 11, 'SEQUENCE_NO': 5, 'PROJECT': 6, 'SOURCE': 4, 'PRODUCTION': 10, 'EDITOR': 2, 'OWNER': 8, 'SUPPLIER': 3}>
Name Val Win32
EDITOR 0x002 PIDMSI_EDITOR
SUPPLIER 0x003 PIDMSI_SUPPLIER
SOURCE 0x004 PIDMSI_SOURCE
SEQUENCE_NO 0x005 PIDMSI_SEQUENCE_NO
PROJECT 0x006 PIDMSI_PROJECT
STATUS 0x007 PIDMSI_STATUS
OWNER 0x008 PIDMSI_OWNER
RATING 0x009 PIDMSI_RATING
PRODUCTION 0x00A PIDMSI_PRODUCTION
COPYRIGHT 0x00B PIDMSI_COPYRIGHT
shell.PIDASI = <Constants: {'STREAM_NAME': 9, 'COMPRESSION': 10, 'FORMAT': 2, 'AVG_DATA_RATE': 4, 'CHANNEL_COUNT': 7, 'SAMPLE_SIZE': 6, 'TIMELENGTH': 3, 'SAMPLE_RATE': 5, 'STREAM_NUMBER': 8}>
Name Val Win32
FORMAT 0x002 PIDASI_FORMAT
TIMELENGTH 0x003 PIDASI_TIMELENGTH
AVG_DATA_RATE 0x004 PIDASI_AVG_DATA_RATE
SAMPLE_RATE 0x005 PIDASI_SAMPLE_RATE
SAMPLE_SIZE 0x006 PIDASI_SAMPLE_SIZE
CHANNEL_COUNT 0x007 PIDASI_CHANNEL_COUNT
STREAM_NUMBER 0x008 PIDASI_STREAM_NUMBER
STREAM_NAME 0x009 PIDASI_STREAM_NAME
COMPRESSION 0x00A PIDASI_COMPRESSION
shell.PID_VOLUME = <Constants: {'CAPACITY': 3, 'FREE': 2, 'FILESYSTEM': 4}>
Name Val Win32
FREE 0x002 PID_VOLUME_FREE
CAPACITY 0x003 PID_VOLUME_CAPACITY
FILESYSTEM 0x004 PID_VOLUME_FILESYSTEM
shell.SHCONTF = <Constants: {'FOLDERS': 32, 'STORAGE': 2048, 'NONFOLDERS': 64, 'SHAREABLE': 1024, 'INCLUDEHIDDEN': 128, 'NETPRINTERSRCH': 512, 'INIT_ON_FIRST_NEXT': 256}>
Name Val Win32
FOLDERS 0x0020 SHCONTF_FOLDERS
NONFOLDERS 0x0040 SHCONTF_NONFOLDERS
INCLUDEHIDDEN 0x0080 SHCONTF_INCLUDEHIDDEN
INIT_ON_FIRST_NEXT 0x0100 SHCONTF_INIT_ON_FIRST_NEXT
NETPRINTERSRCH 0x0200 SHCONTF_NETPRINTERSRCH
SHAREABLE 0x0400 SHCONTF_SHAREABLE
STORAGE 0x0800 SHCONTF_STORAGE
shell.SHGDN = <Constants: {'INFOLDER': 1, 'NORMAL': 0, 'INCLUDE_NONFILESYS': 8192, 'FORPARSING': 32768, 'FORADDRESSBAR': 16384, 'FOREDITING': 4096}>
Name Val Win32
NORMAL 0x0000 SHGDN_NORMAL
INFOLDER 0x0001 SHGDN_INFOLDER
FOREDITING 0x1000 SHGDN_FOREDITING
INCLUDE_NONFILESYS 0x2000 SHGDN_INCLUDE_NONFILESYS
FORADDRESSBAR 0x4000 SHGDN_FORADDRESSBAR
FORPARSING 0x8000 SHGDN_FORPARSING
shell.SLGP = <Constants: {'RAWPATH': 4, 'SHORTPATH': 1, 'UNCPRIORITY': 2}>
Name Val Win32
SHORTPATH 0x001 SLGP_SHORTPATH
UNCPRIORITY 0x002 SLGP_UNCPRIORITY
RAWPATH 0x004 SLGP_RAWPATH

Exceptions

exception shell.x_shell(errno=None, errctx=None, errmsg=None)[source]

References

See also

cookbook/shell
Cookbook examples of using the shell module

Table Of Contents

Previous topic

security

Next topic

Miscellaneous

This Page