Найти - Пользователи
Полная версия: Как посредством python создать ярлык? (.lnk)
Начало » Python для новичков » Как посредством python создать ярлык? (.lnk)
1
Apxumekmop
Понадобилось мне с помощью питона 3 создавать, а лучше просто редактировать ярлыки. Допустим, есть у меня игра World of Warcraft. Моя задача создать ярлык этой игры. Гугл молчит, выдаёт всякую хрень, хотя я нашел 1 способ, но он для ветки 2.4+

Выкладывайте, если кто что знает, буду весьма благодарен
JOHN_16
Как то гугл молчит? Вторая ссылка ведет сюда
Apxumekmop
Это тот самый pywin32, который я не смог поставить на 3 питон.
Apxumekmop
Нашел там же:
import ctypes
kdll = ctypes.windll.LoadLibrary("kernel32.dll")
kdll.CreateSymbolicLinkA("d:\\test.txt", "d:\\test_link.txt", 0)
Пытаюсь разобраться. Линк вроде делается, но кривой почему то.
Shaman
Там симлинк файловой системы, а не lnk.
Посмотрите на это:
http://winshell.readthedocs.io/en/latest/shortcuts.html
https://pypi.python.org/pypi?%3Aaction=search&term=windows+shell&submit=search
Apxumekmop
После установки winshell он требует модуль win32con, который в своё время находится в pywin32, который как было выше написано, на 3 питон не ставится. Вот же веселуха
Apxumekmop
Проблема с pywin32 решилась, почему устанавливаться через pip и whl он не хочет я беспонятия. Пришлось качать exe файл и устанавливать вручную - отсюдова. Теперь думаю разберусь.
Apxumekmop
Ну что же, проблема решена. Если кому интересно решение:
Использовалась библиотека pywin23 - взять можно тут, если вдруг не получается установить через pip или whl.
Сам пример создания ярлыка:
import os, winshell
from win32com.client import Dispatch
# Получаем путь до рабочего стола.
desktop = winshell.desktop()
# Соединяем пути, с учётом разных операционок.
path = os.path.join(desktop, "Fox.lnk")
# Задаём путь к файлу, к которому делаем ярлык.
target = r"C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
# Назначаем путь к рабочей папке.
wDir = r"C:\Program Files (x86)\Mozilla Firefox"
# Путь к нужной нам иконке.
icon = r"C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
# С помощью метода Dispatch, обьявляем работу с Wscript (работа с ярлыками, реестром и прочей системной информацией в windows)
shell = Dispatch('WScript.Shell')
# Создаём ярлык.
shortcut = shell.CreateShortCut(path)
# Путь к файлу, к которому делаем ярлык.
shortcut.Targetpath = target
# Путь к рабочей папке.
shortcut.WorkingDirectory = wDir
# Тырим иконку.
shortcut.IconLocation = icon
# Обязательное действо, сохраняем ярлык.
shortcut.save()
foton-pc
Есть модуль easy_shorcuhttps://python.su/forum/topic/30402/?page=1t

import easy_shortcut as es # pip install easy_shortcut
es.shortcut(r“C:\Users\User\Video\my.lnk”,r“C:\Users\User\Desktop\my.exe”,r“C:\Users\User\Desktop”,r“C:\Users\User\Images\Icon.ico”)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB