Как сделать ярлык для программы на python

[RSS Feed]

  • Начало
  • » Python для новичков
  • » Как посредством python создать ярлык? (.lnk)

#1 Июль 13, 2016 17:10:32

Как посредством python создать ярлык? (.lnk)

Понадобилось мне с помощью питона 3 создавать, а лучше просто редактировать ярлыки. Допустим, есть у меня игра World of Warcraft. Моя задача создать ярлык этой игры. Гугл молчит, выдаёт всякую хрень, хотя я нашел 1 способ, но он для ветки 2.4+

Выкладывайте, если кто что знает, буду весьма благодарен

#2 Июль 13, 2016 18:05:07

Как посредством python создать ярлык? (.lnk)

_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

#3 Июль 13, 2016 18:13:57

Как посредством python создать ярлык? (.lnk)

Это тот самый pywin32, который я не смог поставить на 3 питон.

Python GUI tkinter #1 — Параметры окна, иконка

#4 Июль 13, 2016 18:31:07

Как посредством python создать ярлык? (.lnk)

import ctypes kdll = ctypes.windll.LoadLibrary(«kernel32.dll») kdll.CreateSymbolicLinkA(«d:\test.txt», «d:\test_link.txt», 0)
Пытаюсь разобраться. Линк вроде делается, но кривой почему то.

#5 Июль 13, 2016 19:44:09

Как посредством python создать ярлык? (.lnk)

#6 Июль 13, 2016 20:09:36

Как посредством python создать ярлык? (.lnk)

После установки winshell он требует модуль win32con, который в своё время находится в pywin32, который как было выше написано, на 3 питон не ставится. Вот же веселуха

#7 Июль 13, 2016 20:23:13

Как посредством python создать ярлык? (.lnk)

Проблема с pywin32 решилась, почему устанавливаться через pip и whl он не хочет я беспонятия. Пришлось качать exe файл и устанавливать вручную — отсюдова. Теперь думаю разберусь.

#8 Июль 14, 2016 09:46:21

Как посредством python создать ярлык? (.lnk)

Ну что же, проблема решена. Если кому интересно решение:
Использовалась библиотека 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 Firefoxfirefox.exe» # Назначаем путь к рабочей папке. wDir = r»C:Program Files (x86)Mozilla Firefox» # Путь к нужной нам иконке.

icon = r»C:Program Files (x86)Mozilla Firefoxfirefox.exe» # С помощью метода Dispatch, обьявляем работу с Wscript (работа с ярлыками, реестром и прочей системной информацией в windows) shell = Dispatch(‘WScript.Shell’) # Создаём ярлык. shortcut = shell.CreateShortCut(path) # Путь к файлу, к которому делаем ярлык. shortcut.Targetpath = target # Путь к рабочей папке. shortcut.WorkingDirectory = wDir # Тырим иконку. shortcut.IconLocation = icon # Обязательное действо, сохраняем ярлык. shortcut.save()

#9 Авг. 31, 2020 11:01:54

Как посредством python создать ярлык? (.lnk)

ВЕБ-ИНТЕРФЕЙС ЗА 15 МИНУТ | Как сделать графический интерфейс для программы на Python / JS

Читайте также:
Как с компьютера скопировать программу

import easy_shortcut as es # pip install easy_shortcut
es.shortcut(r“C:UsersUserVideomy.lnk”,r“C:UsersUserDesktopmy.exe”,r“C:UsersUserDesktop”,r“C:UsersUserImagesIcon.ico”)

Источник: python.su

Как создать ярлык запуска скрипта python?

Написал python скрипт для себя. И каждый раз запускать IDLE не хочется.
Собрать через pyinstaller не хочу, часто вношу изменения, скриптом буду пользоваться только я.
У скрипта есть свой интерфейс, консоль не используется.

Как-то можно, создать ярлык, который запустить скрипт .py ?

  • Вопрос задан более двух лет назад
  • 5438 просмотров

Комментировать
Решения вопроса 1

Создать bat (если это в windows) который будет выполнять команду вроде c:pypython.exe myscript.py и сделать ярлык для bat.

Ответ написан более двух лет назад
А скрыть консоль можно?

gscraft

paramin, чтобы скрыть консоль, создайте ярлык запуска напрямую, через pythonw.exe или свяжите pythonw.exe с файлами расширения *.pyw . При запуске из BAT не получится.

Gennady S, paramin, Чтобы скрыть консоль Python, нужно использовать pythonw, а чтобы скрыть консоль bat надо написать start pythonw test.py

Ответы на вопрос 2

gscraft

Программист, философ

Во-первых, можно ассоциировать Python-сценарии с интерпретатором (инсталлятор это делает, если не ошибаюсь). От администратора в Windows (pythonw — для запуска без консоли):

assoc .py=PythonScript ftype PythonScript=path-topython.exe «%1» %* assoc .pyw=PythonScriptWindow ftype PythonScriptWindow=path-topythonw.exe «%1» %*

5f66003cd4a26888664301.png

— в таком случае любой py / pyw будут запускаться двойным щелчком.
Во-вторых, запуск через интерпретатор можно прописать в ярлыке, в его свойствах:

В-третьих, как советуют рядом, создать bat файл, в котором будет по сути то, что в ярлыке, но это повлечет за собой окно терминала.
В-четвертых, pyinstaller — неплохой вариант в целях автономности приложения. Сборка проходит быстро, ее можно настроить под локальное размещение и в один клик.

Источник: qna.habr.com

Статья Создание ярлыков приложений и ресурсов в Интернет с помощью Python в ОС Windows

Не особенно часто, но иногда требуется создать ярлык для запуска приложения в операционной системе Windows. То есть, файл, который служит указателем на некий объект (программу, файл или команду). Наиболее частым местом для создания ярлыков служит «Рабочий стол». Давайте создадим ярлык для приложения или ссылки на «Рабочем столе» с помощью Python.

000.jpg

Ярлыки бывают нескольких типов, а соответственно имеют различные расширения. Например: ярлык, ссылающийся на ресурс в сети Интернет, имеет расширение «.url»; ярлык, привязанный к программе DOS, имеет расширение «.pif». А вот ярлыки, которые привязаны к файлу или каталогу уже являются бинарными файлами имеющими расширение «.lnk». В рамках данной статьи ярлыки имеющие привязку к программам DOS мы создавать не будем, да это и не требуется в нынешних реалиях. Рассмотрим создание ярлыков имеющих расширение «.url» и расширение «.lnk».

Что понадобиться?

Для того, чтобы можно было с легкостью определять путь к «Рабочему столу» пользователя, установим библиотеку winshell. Впрочем, на этом её функции далеко не заканчиваются, и использовать её мы будем не только с этой целью. Подробнее об этой библиотеке можно почитать в

Ссылка скрыта от гостей

. Для её установки пишем в терминале команду:

pip install winshell

Создание ярлыка для ресурса в Интернет

Для создания ярлыка на ресурс в Интернет требуется написать буквально пару строк кода. Не считая блока импорта. Как вы помните, такие ярлыки имеют расширение «.url». По сути, это обычные текстовые файлы с расширением, которое указывает операционной системе, что делать с данным типом файла. Данный файл имеет следующую структуру:

[InternetShortcut] URL=https://codeby.net/

Первой идет секция, которая указывает, что это ярлык Интернет, второй – ссылка на конкретный ресурс.
Реализуем это в коде.
Импортируем нужные библиотеки. Как видите, здесь открывается файл на запись, передается полный путь к расположению ярлыка.
Именно здесь мы используем winshell и её модуль desktop, а дальше, записываем рассмотренные выше строки.

Читайте также:
Отзывы о программах для elm327

# pip install winshell from pathlib import Path from winshell import desktop with open(Path(desktop()) / «Codeby.url», ‘w’, encoding=’utf-8′) as file: file.write(‘[InternetShortcut]nURL=https://codeby.net/’)

Таким образом, можно легко создать ярлык, у которого не будет иконка по умолчанию. В данном случае, хоть ярлык и указывает на ресурс в Интернет, если у вас не настроено приложение по умолчанию для открытия такого типа ярлыков, операционная система при каждом открытии будет запрашивать приложение, с помощью которого требуется открыть данный файл. Так как здесь нет определенной привязки.

Ярлык Интернет и его свойства

01.png

Запрос приложения для открытия ярлыка

02.png

Двигаемся дальше и рассмотрим создание ярлыка для приложения.

Создание ярлыка для приложения

Помимо уже установленной библиотеки winshell, в данном примере потребуется установить библиотеку pywin32. Именно с её помощью мы будем создавать ярлык для приложения. Для установки библиотек используем команду:

pip install pywin32 winshell

Импортируем нужные библиотеки в скрипт:

from pathlib import Path from winshell import desktop from win32com.client import Dispatch

Создадим функцию create_shortcut(path, target=»), в которую будем передавать полный путь к создаваемому ярлыку с расширением, а также путь к целевому приложению, для его открытия с помощью ярлыка. При необходимости в данную функцию можно передать рабочую директорию приложения, а также путь к иконке, которая будет установлена для ярлыка. Мы же этого делать не будем, а возьмем рабочую директорию из пути к приложению. Иконку для ярлыка мы также будем получать из исполняемого файла приложения.

Теперь вызовем Dispatch(‘WScript.Shell’), чтобы получить объект оболочки, который будет использоваться для создания ярлыка. Затем вызовем метод CreateShortCut, в который передадим полный путь к ярлыку приложения на рабочем столе. Определим путь к приложению с помощью параметра Targetpath, рабочую директорию WorkingDirectory, которую получим из полного пути к исполняемому файлу приложения и путь к иконке – IconLocation, которую будем брать из исполняемого файла, а значит, путь к иконке будет в данном случае равен target. И в конце вызовем метод save, чтобы сохранить созданный объект ярлыка.

def create_shortcut(path, target=»): shell = Dispatch(‘WScript.Shell’) shortcut = shell.CreateShortCut(str(path)) shortcut.Targetpath = target shortcut.WorkingDirectory = str(Path(target).parent) shortcut.IconLocation = target shortcut.save()

Теперь вызовем данную функцию с передачей в нее необходимых параметров. Для примера, создадим ярлык для плеера VLC.

create_shortcut(Path(desktop()) / «VLC Player.lnk», r»C:Program FilesVideoLANVLCvlc.exe»)

Таким образом, будет создан ярлык, с помощью которого можно полноценно запускать плеер.

Ярлык с расширением «.lnk» и его свойства

03.png

Полный код функции для создания ярлыка приложения

# pip install pywin32 winshell from pathlib import Path from winshell import desktop from win32com.client import Dispatch def create_shortcut(path, target=»): shell = Dispatch(‘WScript.Shell’) shortcut = shell.CreateShortCut(str(path)) shortcut.Targetpath = target shortcut.WorkingDirectory = str(Path(target).parent) shortcut.IconLocation = target shortcut.save() create_shortcut(Path(desktop()) / «VLC Player.lnk», r»C:Program FilesVideoLANVLCvlc.exe»)

Но, что делать, если нам необходимо указать для ярлыка Интернет, чтобы он открывался с помощью конкретного браузера?

Здесь все просто. Нужно задать путь к нужному браузеру, а также в качестве передаваемых аргументов ярлыка указать ссылку на нужную страницу. В этом случае, нужно уже создавать не ярлык с расширением «.url», а полноценный ярлык, указывающий на конкретное приложение, то есть имеющий расширение «.lnk». В этом случае, по сути, создание ярлыка для Интернет не будет отличаться от создания ярлыка для обычного приложения.

Создадим скрипт, который будет определять путь к браузеру по умолчанию и создавать ссылку на ресурс в Интернет уже с открытием в конкретном браузере. По сути, данная функция будет универсальной как для создания ярлыков для приложений, так и для создания ярлыков на ресурсы в Интернет.

Читайте также:
Характеристика программ разработанных претендентом

Определение браузера по умолчанию

Начнем мы с того, что напишем функцию для определения браузера, который используется в операционной системе по умолчанию. Будь то Google Chrome, Firefox или Яндекс.Браузер.

Создадим функцию browser_default(). Браузер по умолчанию устанавливается пользователем. Поэтому, заглянем в ключ реестра «HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsShellAssociationsUrlAssociationshttpsUserChoice», и заберем из параметра «ProgId» ID-браузера в реестре. Затем перейдем к ключу реестра HKEY_CLASSES_ROOT, подставим в путь полученный ID браузера. И перейдем глубже к ветке command: shellopencommand.

Заберем путь к исполняемому файлу браузера, удалим аргумент запуска «—single-argument %1», он нам не понадобиться и вернем путь к исполняемому файлу браузера по умолчанию.

def browser_default(): br_choice = wrg.OpenKeyEx(wrg.HKEY_CURRENT_USER, r»SOFTWAREMicrosoftWindowsShellAssociationsUrlAssociations» r»httpsUserChoice») br_name = wrg.QueryValueEx(br_choice, ‘ProgId’)[0] br_com = wrg.OpenKeyEx(wrg.HKEY_CLASSES_ROOT, f»\shell\open\command») return wrg.QueryValueEx(br_com, »)[0].split(‘»‘)[1]

Создание ярлыка

Создадим функцию create_shortcut(path, target=», arguments=», icon=»), в которую будем передавать полный путь к создаваемому ярлыку, путь к исполняемому файлу, путь к иконке для ярлыка. В случае с браузером по умолчанию, путь к исполняемому файлу браузера. А так как функция универсальная, для создания ярлыка для любого приложения или файла, то передать сюда можно путь к любому целевому файлу.

И аргументы, которые требуются для запуска исполняемого файла. В случае с браузером, в качестве аргумента будет передаваться ссылка на ресурс в Интернет. В случае с другими приложениями, то либо оставляем пустое значение по умолчанию, либо передаем параметры, которые необходимы.

Здесь, для создания ярлыка мы будем использовать метод CreateShortcut из библиотеки winshell. Передаем в данный метод необходимые параметры: полный путь к создаваемому ярлыку; полный путь к исполняемому файлу приложения; аргументы для запуска приложения; рабочую директорию, которая в данном случае будет равна родительской директории приложения; путь к иконке приложения, который в данном случае будет равен пути к исполняемому файлу, так как иконку мы будем брать из него. Но, вы можете задать путь к своей иконке.

def create_shortcut(path, target=», arguments=», icon=»): if not icon: icon = target CreateShortcut( Path=str(path), Target=target, Arguments=arguments, StartIn=str(Path(target).parent), Icon=(f»», 0) )
Полный код скрипта для создания ярлыка
# pip install winshell import winreg as wrg from pathlib import Path from winshell import desktop, CreateShortcut def browser_default(): br_choice = wrg.OpenKeyEx(wrg.HKEY_CURRENT_USER, r»SOFTWAREMicrosoftWindowsShellAssociationsUrlAssociations» r»httpsUserChoice») br_name = wrg.QueryValueEx(br_choice, ‘ProgId’)[0] br_com = wrg.OpenKeyEx(wrg.HKEY_CLASSES_ROOT, f»\shell\open\command») return wrg.QueryValueEx(br_com, »)[0].split(‘»‘)[1] def create_shortcut(path, target=», arguments=», icon=»): if not icon: icon = target CreateShortcut( Path=str(path), Target=target, Arguments=arguments, StartIn=str(Path(target).parent), Icon=(f»», 0) ) create_shortcut(Path(desktop()) / «VLC Player.lnk», r»C:Program FilesVideoLANVLCvlc.exe») create_shortcut(Path(desktop()) / «Codeby.lnk», browser_default(), «https://codeby.net/»)

В результате мы создадим два ярлыка. Вот как это выглядит на скриншоте:

Ярлыки и их свойства

04.png

А теперь немного подытожим. В данной статье мы рассмотрели создание ярлыков различного типа, как «.url», так и «.lnk». Для последних было рассмотрено два метода их создания. А также создали функцию для получения браузера по умолчанию из реестра операционной системы Windows.

Для примера, можно создать небольшое приложение, которое будет в запущенном состоянии проверять то, что вы копируете в буфер обмена и, если в нем будет обнаружено, что вы скопировали ссылку на ресурс, автоматически создавать ярлык в заранее определенной вами директории.

Однако, напомню еще раз, что данные функции и библиотеки будут работать только в операционной системе Windows.

А на этом, пожалуй, все.

Спасибо за внимание. Надеюсь, информация будет вам полезна

Источник: codeby.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru