Página 1 de 1

[RESUELTO] Copiar accesos directos del escritorio para usuarios que iniciaron sesión

Publicado: 15 de enero de 2025 - 15:23
por vgrafte
Buen día,

Creé un paquete para pegar enlaces en el escritorio; aquí está el script:

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

import os
import glob

def session_setup():
  username=os.getlogin()
def install():
  chemin = (r'C:\Users\{}\Desktop'.format(username))
    filecopyto(lnk, chemin)
No puedo entender por qué no funciona.
La consola muestra este mensaje de error:

Código: Seleccionar todo

Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\common.py", line 4235, in install_wapt
    exitstatus = setup.install()
  File "C:\WINDOWS\TEMP\wapt257aezdq\setup.py", line 13, in install
  File "shutil.py", line 435, in copy2
  File "shutil.py", line 264, in copyfile
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Système\\Desktop'

2 : No such file or directory
Puedo ver que el nombre de usuario devuelve Sistema y no el usuario que inició sesión, pero el comando en Python devuelve el usuario correcto.

Gracias por su ayuda.

Re: Copiar accesos directos del escritorio para usuarios que han iniciado sesión

Publicado: 15 de enero de 2025 - 16:30
por fschelfaut
Buen día,

Si desea ejecutar código dentro de la sesión del usuario, por ejemplo, agregar un acceso directo al escritorio del usuario
Entonces necesitas ejecutar todo tu código dentro de la función configuración de sesión

Tenga en cuenta que el código ejecutado en la función instalar es como un usuario del sistema

Para lograr lo que deseas, tienes dos opciones:

Código: Seleccionar todo

def session_setup():
    # Create a desktop shortcut link for current user
    create_user_desktop_shortcut(label='', target='', arguments='')
    
def install():
    # Create a desktop shortcut link for all users
    create_desktop_shortcut(label='', target='', arguments='')
Flavien,