| Server IP : 123.56.80.60 / Your IP : 216.73.216.78 Web Server : Apache/2.4.54 (Win32) OpenSSL/1.1.1s PHP/7.4.33 mod_fcgid/2.3.10-dev System : Windows NT iZhx3sob14hnz7Z 10.0 build 14393 (Windows Server 2016) i586 User : SYSTEM ( 0) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Program Files/python/Lib/site-packages/win32comext/shell/demos/ |
Upload File : |
from win32com.shell import shell, shellcon
import pythoncom
import time
website='https://github.com/mhammond/pywin32/'
iad=pythoncom.CoCreateInstance(shell.CLSID_ActiveDesktop, None, pythoncom.CLSCTX_INPROC_SERVER, shell.IID_IActiveDesktop)
opts=iad.GetDesktopItemOptions()
if not (opts['ActiveDesktop'] and opts['EnableComponents']):
print('Warning: Enabling Active Desktop')
opts['ActiveDesktop']=True
opts['EnableComponents']=True
iad.SetDesktopItemOptions(opts)
iad.ApplyChanges(0xffff)
iad=None
## apparently takes a short while for it to become active
time.sleep(2)
iad=pythoncom.CoCreateInstance(shell.CLSID_ActiveDesktop, None, pythoncom.CLSCTX_INPROC_SERVER, shell.IID_IActiveDesktop)
cnt=iad.GetDesktopItemCount()
print('Count:', cnt)
for i in range(cnt):
print(iad.GetDesktopItem(i))
component={
'ID': cnt+1,
'ComponentType': shellcon.COMP_TYPE_WEBSITE,
'CurItemState': shellcon.IS_NORMAL,
'SubscribedURL': website,
'Source' : website,
'FriendlyName' : 'Pywin32 on SF',
'Checked' : True, ## this controls whether item is currently displayed
'NoScroll' : False,
'Dirty': False,
'Pos': {'Top':69, 'Left':69, 'Height': 400, 'Width': 400, 'zIndex': 1002,
'CanResize': True, 'CanResizeX': True, 'CanResizeY': True,
'PreferredLeftPercent': 0, 'PreferredTopPercent': 0},
'Original': {'Top': 33, 'Left': 304, 'Height': 362, 'Width': 372, 'ItemState': shellcon.IS_NORMAL},
'Restored': {'Top': 33, 'Left': 304, 'Height': 362, 'Width': 372, 'ItemState': shellcon.IS_NORMAL}
}
try:
existing_item=iad.GetDesktopItemBySource(website)
except pythoncom.com_error:
pass
else:
iad.RemoveDesktopItem(existing_item)
iad.ApplyChanges(0xffff)
iad.AddDesktopItem(component)
iad.ApplyChanges(0xffff) ## need to check which AD_APPLY constants are actually needed