Python win32com.shell.shell.SHGetSpecialFolderLocation() Examples
The following are 14
code examples of win32com.shell.shell.SHGetSpecialFolderLocation().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
win32com.shell.shell
, or try the search function
.
Example #1
Source File: BackgroundProcess.py From p2ptv-pi with MIT License | 6 votes |
def gui_webui_save_download(self, d2save, path): try: if sys.platform == 'win32': from win32com.shell import shell pidl = shell.SHGetSpecialFolderLocation(0, 5) defaultpath = shell.SHGetPathFromIDList(pidl) else: defaultpath = os.path.expandvars('$HOME') except: defaultpath = '' filename = 'test.mkv' if globalConfig.get_mode() == 'client_wx': import wx dlg = wx.FileDialog(None, message='Save file', defaultDir=defaultpath, defaultFile=filename, wildcard='All files (*.*)|*.*', style=wx.SAVE) dlg.Raise() result = dlg.ShowModal() dlg.Destroy() if result == wx.ID_OK: path = dlg.GetPath() d2save.save_content(path)
Example #2
Source File: directories.py From GDMC with ISC License | 6 votes |
def win32_appdata(): # try to use win32 api to get the AppData folder since python doesn't populate os.environ with unicode strings. try: import win32com.client objShell = win32com.client.Dispatch("WScript.Shell") return objShell.SpecialFolders("AppData") except Exception, e: print "Error while getting AppData folder using WScript.Shell.SpecialFolders: {0!r}".format(e) try: from win32com.shell import shell, shellcon return shell.SHGetPathFromIDListEx( shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_APPDATA) ) except Exception, e: print "Error while getting AppData folder using SHGetSpecialFolderLocation: {0!r}".format(e) return os.environ['APPDATA'].decode(sys.getfilesystemencoding())
Example #3
Source File: fs.py From Fastir_Collector with GNU General Public License v3.0 | 6 votes |
def json_recycle_bin(self): if self.destination == 'local': with open(self.output_dir + self.computer_name + '_recycle_bin' + self.rand_ext, 'wb') as output: json_writer = get_json_writer(output) header = ["COMPUTER_NAME", "TYPE", "NAME_1", "NAME_2"] idl = shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_BITBUCKET) desktop = shell.SHGetDesktopFolder() files = desktop.BindToObject(idl, None, shell.IID_IShellFolder) for bin_file in files: write_to_json(header, [self.computer_name, 'recycle_bin', files.GetDisplayNameOf(bin_file, shellcon.SHGDN_NORMAL), files.GetDisplayNameOf(bin_file, shellcon.SHGDN_FORPARSING)], json_writer) close_json_writer(json_writer) record_sha256_logs(self.output_dir + self.computer_name + '_recycle_bin' + self.rand_ext, self.output_dir + self.computer_name + '_sha256.log')
Example #4
Source File: shellexecuteex.py From Email_My_PC with MIT License | 6 votes |
def ExplorePIDL(): pidl = shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_DESKTOP) print "The desktop is at", shell.SHGetPathFromIDList(pidl) shell.ShellExecuteEx(fMask=shellcon.SEE_MASK_NOCLOSEPROCESS, nShow=win32con.SW_NORMAL, lpClass="folder", lpVerb="explore", lpIDList=pidl) print "Done!"
Example #5
Source File: directories.py From MCEdit-Unified with ISC License | 6 votes |
def win32_appdata(): # try to use win32 api to get the AppData folder since python doesn't populate os.environ with unicode strings. try: import win32com.client objShell = win32com.client.Dispatch("WScript.Shell") return objShell.SpecialFolders("AppData") except Exception as e: print "Error while getting AppData folder using WScript.Shell.SpecialFolders: {0!r}".format(e) try: from win32com.shell import shell, shellcon return shell.SHGetPathFromIDListEx( shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_APPDATA) ) except Exception as e: print "Error while getting AppData folder using SHGetSpecialFolderLocation: {0!r}".format(e) return os.environ['APPDATA'].decode(sys.getfilesystemencoding())
Example #6
Source File: shellexecuteex.py From ironpython2 with Apache License 2.0 | 5 votes |
def ExplorePIDL(): pidl = shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_DESKTOP) print "The desktop is at", shell.SHGetPathFromIDList(pidl) shell.ShellExecuteEx(fMask=shellcon.SEE_MASK_NOCLOSEPROCESS, nShow=win32con.SW_NORMAL, lpClass="folder", lpVerb="explore", lpIDList=pidl) print "Done!"
Example #7
Source File: testShellItem.py From ironpython2 with Apache License 2.0 | 5 votes |
def test_idlist_roundtrip(self): pidl = shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_DESKTOP) item = shell.SHCreateItemFromIDList(pidl, shell.IID_IShellItem) pidl_back = shell.SHGetIDListFromObject(item) self.assertEqual(pidl, pidl_back)
Example #8
Source File: testShellItem.py From ironpython2 with Apache License 2.0 | 5 votes |
def test_parsing_relative(self): desktop_pidl = shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_DESKTOP) desktop_item = shell.SHCreateItemFromIDList(desktop_pidl, shell.IID_IShellItem) sf = shell.SHGetDesktopFolder() flags = shellcon.SHCONTF_FOLDERS | shellcon.SHCONTF_NONFOLDERS children = sf.EnumObjects(0, flags) child_pidl = children.next() name_flags = shellcon.SHGDN_FORPARSING | shellcon.SHGDN_INFOLDER name = sf.GetDisplayNameOf(child_pidl, name_flags) item = shell.SHCreateItemFromRelativeName(desktop_item, name, None, shell.IID_IShellItem) # test the name we get from the item is the same as from the folder. self.assertEqual(name, item.GetDisplayName(name_flags))
Example #9
Source File: testShellItem.py From ironpython2 with Apache License 2.0 | 5 votes |
def test_create_item_with_parent(self): desktop_pidl = shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_DESKTOP) desktop_item = shell.SHCreateItemFromIDList(desktop_pidl, shell.IID_IShellItem) sf = shell.SHGetDesktopFolder() flags = shellcon.SHCONTF_FOLDERS | shellcon.SHCONTF_NONFOLDERS children = sf.EnumObjects(0, flags) child_pidl = children.next() item1 = shell.SHCreateItemWithParent(desktop_pidl, None, child_pidl, shell.IID_IShellItem) item2 = shell.SHCreateItemWithParent(None, sf, child_pidl, shell.IID_IShellItem) self.assertShellItemsEqual(item1, item2)
Example #10
Source File: windows.py From marsnake with GNU General Public License v3.0 | 5 votes |
def get_recycle_bin(): """Yield a list of files in the recycle bin""" pidl = shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_BITBUCKET) desktop = shell.SHGetDesktopFolder() h = desktop.BindToObject(pidl, None, shell.IID_IShellFolder) for item in h: path = h.GetDisplayNameOf(item, shellcon.SHGDN_FORPARSING) if os.path.isdir(path): for child in file_op.children_in_directory(path, True): yield child yield path else: yield path
Example #11
Source File: fs.py From Fastir_Collector with GNU General Public License v3.0 | 5 votes |
def csv_recycle_bin(self): """Exports the filenames contained in the recycle bin""" with open(self.output_dir + self.computer_name + '_recycle_bin' + self.rand_ext, 'wb') as output: csv_writer = get_csv_writer(output) write_to_csv(("COMPUTER_NAME", "TYPE", "NAME_1", "NAME_2"), csv_writer) idl = shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_BITBUCKET) desktop = shell.SHGetDesktopFolder() files = desktop.BindToObject(idl, None, shell.IID_IShellFolder) for bin_file in files: write_to_csv( [self.computer_name, 'recycle_bin', files.GetDisplayNameOf(bin_file, shellcon.SHGDN_NORMAL), files.GetDisplayNameOf(bin_file, shellcon.SHGDN_FORPARSING)], csv_writer) record_sha256_logs(self.output_dir + self.computer_name + '_recycle_bin' + self.rand_ext, self.output_dir + self.computer_name + '_sha256.log')
Example #12
Source File: testShellItem.py From Email_My_PC with MIT License | 5 votes |
def test_idlist_roundtrip(self): pidl = shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_DESKTOP) item = shell.SHCreateItemFromIDList(pidl, shell.IID_IShellItem) pidl_back = shell.SHGetIDListFromObject(item) self.assertEqual(pidl, pidl_back)
Example #13
Source File: testShellItem.py From Email_My_PC with MIT License | 5 votes |
def test_parsing_relative(self): desktop_pidl = shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_DESKTOP) desktop_item = shell.SHCreateItemFromIDList(desktop_pidl, shell.IID_IShellItem) sf = shell.SHGetDesktopFolder() flags = shellcon.SHCONTF_FOLDERS | shellcon.SHCONTF_NONFOLDERS children = sf.EnumObjects(0, flags) child_pidl = children.next() name_flags = shellcon.SHGDN_FORPARSING | shellcon.SHGDN_INFOLDER name = sf.GetDisplayNameOf(child_pidl, name_flags) item = shell.SHCreateItemFromRelativeName(desktop_item, name, None, shell.IID_IShellItem) # test the name we get from the item is the same as from the folder. self.assertEqual(name, item.GetDisplayName(name_flags))
Example #14
Source File: testShellItem.py From Email_My_PC with MIT License | 5 votes |
def test_create_item_with_parent(self): desktop_pidl = shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_DESKTOP) desktop_item = shell.SHCreateItemFromIDList(desktop_pidl, shell.IID_IShellItem) sf = shell.SHGetDesktopFolder() flags = shellcon.SHCONTF_FOLDERS | shellcon.SHCONTF_NONFOLDERS children = sf.EnumObjects(0, flags) child_pidl = children.next() item1 = shell.SHCreateItemWithParent(desktop_pidl, None, child_pidl, shell.IID_IShellItem) item2 = shell.SHCreateItemWithParent(None, sf, child_pidl, shell.IID_IShellItem) self.assertShellItemsEqual(item1, item2)