Форум сайта python.su
Понадобилось мне с помощью питона 3 создавать, а лучше просто редактировать ярлыки. Допустим, есть у меня игра World of Warcraft. Моя задача создать ярлык этой игры. Гугл молчит, выдаёт всякую хрень, хотя я нашел 1 способ, но он для ветки 2.4+
Выкладывайте, если кто что знает, буду весьма благодарен
Офлайн
Как то гугл молчит? Вторая ссылка ведет сюда
Офлайн
Это тот самый pywin32, который я не смог поставить на 3 питон.
Офлайн
Нашел там же:
import ctypes kdll = ctypes.windll.LoadLibrary("kernel32.dll") kdll.CreateSymbolicLinkA("d:\\test.txt", "d:\\test_link.txt", 0)
Офлайн
Там симлинк файловой системы, а не lnk.
Посмотрите на это:
http://winshell.readthedocs.io/en/latest/shortcuts.html
https://pypi.python.org/pypi?%3Aaction=search&term=windows+shell&submit=search
Офлайн
После установки winshell он требует модуль win32con, который в своё время находится в pywin32, который как было выше написано, на 3 питон не ставится. Вот же веселуха
Офлайн
Проблема с pywin32 решилась, почему устанавливаться через pip и whl он не хочет я беспонятия. Пришлось качать exe файл и устанавливать вручную - отсюдова. Теперь думаю разберусь.
Офлайн
Ну что же, проблема решена. Если кому интересно решение:
Использовалась библиотека 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()
Офлайн
Есть модуль 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”)
Офлайн