CasperSecurity

Current Path : /lib/python3/dist-packages/twisted/python/
Upload File :
Current File : //lib/python3/dist-packages/twisted/python/shortcut.py

# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.


"""
Creation of  Windows shortcuts.

Requires win32all.
"""

import os

import pythoncom  # type: ignore[import]
from win32com.shell import shell  # type: ignore[import]


def open(filename):
    """
    Open an existing shortcut for reading.

    @return: The shortcut object
    @rtype: Shortcut
    """
    sc = Shortcut()
    sc.load(filename)
    return sc


class Shortcut:
    """
    A shortcut on Win32.
    """

    def __init__(
        self,
        path=None,
        arguments=None,
        description=None,
        workingdir=None,
        iconpath=None,
        iconidx=0,
    ):
        """
        @param path: Location of the target
        @param arguments: If path points to an executable, optional arguments
                      to pass
        @param description: Human-readable description of target
        @param workingdir: Directory from which target is launched
        @param iconpath: Filename that contains an icon for the shortcut
        @param iconidx: If iconpath is set, optional index of the icon desired
        """
        self._base = pythoncom.CoCreateInstance(
            shell.CLSID_ShellLink,
            None,
            pythoncom.CLSCTX_INPROC_SERVER,
            shell.IID_IShellLink,
        )
        if path is not None:
            self.SetPath(os.path.abspath(path))
        if arguments is not None:
            self.SetArguments(arguments)
        if description is not None:
            self.SetDescription(description)
        if workingdir is not None:
            self.SetWorkingDirectory(os.path.abspath(workingdir))
        if iconpath is not None:
            self.SetIconLocation(os.path.abspath(iconpath), iconidx)

    def load(self, filename):
        """
        Read a shortcut file from disk.
        """
        self._base.QueryInterface(pythoncom.IID_IPersistFile).Load(
            os.path.abspath(filename)
        )

    def save(self, filename):
        """
        Write the shortcut to disk.

        The file should be named something.lnk.
        """
        self._base.QueryInterface(pythoncom.IID_IPersistFile).Save(
            os.path.abspath(filename), 0
        )

    def __getattr__(self, name):
        return getattr(self._base, name)
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY