2024-10-01 11:39:40 发布
网友
…对于当前用户?对所有用户?在
我在做一个小程序,需要在开始菜单中创建链接。目前我的硬编码如下,但它只适用于英语地区,例如,它应该是“Startmenü”在德语。什么是更清洁、更便携的方法?在
OUR_STARTMENU = os.environ['ALLUSERSPROFILE'] + '\Start Menu\Programs\Our Stuff'
谢谢你
一个朋友,卢克·平纳Environment.gov.au,通过电子邮件给出了一个使用核心模块(python2.5+)的解决方案。它被认为是多语种的,因为API调用返回的是unicode。在Win7上测试了日语语言环境,并在另一台美英机器上手动更改开始菜单指向%USERPROFILE%\Startmenü
''' Get windows special folders without pythonwin Example: import specialfolders start_programs = specialfolders.get(specialfolders.PROGRAMS) Code is public domain, do with it what you will. Luke Pinner - Environment.gov.au, 2010 February 10 ''' #Imports use _syntax to mask them from autocomplete IDE's import ctypes as _ctypes from ctypes.wintypes import HWND as _HWND, HANDLE as _HANDLE,DWORD as _DWORD,LPCWSTR as _LPCWSTR,MAX_PATH as _MAX_PATH, create_unicode_buffer as _cub _SHGetFolderPath = _ctypes.windll.shell32.SHGetFolderPathW #public special folder constants DESKTOP= 0 PROGRAMS= 2 MYDOCUMENTS= 5 FAVORITES= 6 STARTUP= 7 RECENT= 8 SENDTO= 9 STARTMENU= 11 MYMUSIC= 13 MYVIDEOS= 14 NETHOOD= 19 FONTS= 20 TEMPLATES= 21 ALLUSERSSTARTMENU= 22 ALLUSERSPROGRAMS= 23 ALLUSERSSTARTUP= 24 ALLUSERSDESKTOP= 25 APPLICATIONDATA= 26 PRINTHOOD= 27 LOCALSETTINGSAPPLICATIONDATA= 28 ALLUSERSFAVORITES= 31 LOCALSETTINGSTEMPORARYINTERNETFILES=32 COOKIES= 33 LOCALSETTINGSHISTORY= 34 ALLUSERSAPPLICATIONDATA= 35 def get(intFolder): _SHGetFolderPath.argtypes = [_HWND, _ctypes.c_int, _HANDLE, _DWORD, _LPCWSTR] auPathBuffer = _cub(_MAX_PATH) exit_code=_SHGetFolderPath(0, intFolder, 0, 0, auPathBuffer) return auPathBuffer.value
我听说过两种方法。第一个:
from win32com.shell import shell shell.SHGetSpecialFolderPath(0,shellcon.CSIDL_COMMON_STARTMENU)
第二,使用WScript.Shell对象(源:http://www.mail-archive.com/python-win32@python.org/msg00992.html):
另一个来源:http://blogs.msdn.com/saveenr/archive/2005/12/28/creating-a-start-menu-shortcut-with-powershell-and-python.aspx
此外,CSIDL_COMMON洇STARTMENU用于所有用户启动,CSIDL\u STARTMENU用于当前用户启动。在
一个朋友,卢克·平纳Environment.gov.au,通过电子邮件给出了一个使用核心模块(python2.5+)的解决方案。它被认为是多语种的,因为API调用返回的是unicode。在Win7上测试了日语语言环境,并在另一台美英机器上手动更改开始菜单指向%USERPROFILE%\Startmenü
我听说过两种方法。第一个:
第二,使用WScript.Shell对象(源:http://www.mail-archive.com/python-win32@python.org/msg00992.html):
^{pr2}$另一个来源:http://blogs.msdn.com/saveenr/archive/2005/12/28/creating-a-start-menu-shortcut-with-powershell-and-python.aspx
此外,CSIDL_COMMON洇STARTMENU用于所有用户启动,CSIDL\u STARTMENU用于当前用户启动。在
相关问题 更多 >
编程相关推荐