Как создать ярлык программы, который будет запускаться без отображения окна приложения?

  • 17 августа 2023 г. 17:36
Ответы на вопрос 2
Для создания ярлыка программы, который будет запускаться без отображения окна приложения, вам потребуется использовать модуль `pywin32`. Ниже приведен пример кода, который выполняет указанную задачу:

```python
import win32com.client

def create_shortcut(target_path, shortcut_path, hide_window=True):
    shell = win32com.client.Dispatch("WScript.Shell")
    shortcut = shell.CreateShortcut(shortcut_path)
    shortcut.TargetPath = target_path
    shortcut.WindowStyle = 0 if hide_window else 1
    shortcut.Save()

# Пример использования
target_path = "путь_к_программе/mynote.exe"
shortcut_path = "путь_к_директории_проекта/ярлык.lnk"
create_shortcut(target_path, shortcut_path, hide_window=True)
```

Что касается добавления ярлыка в автозагрузку, то вам нужно будет создать ярлык в следующей директории:

```
C:\Users\<Имя пользователя>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
```

Вы можете использовать тот же код, что и выше, чтобы создать ярлык в указанной директории. Обратите внимание, что автозагрузка настраивается на уровне пользовательского профиля, поэтому ярлык будет добавлен только для текущего пользователя.
1. Запишите скрипт, который создаст ярлык для указанного приложения.
2. Измените скрипт так, чтобы указанное приложение запускалось без появления окна консоли.
3. Измените настройки запущенного приложения так, чтобы оно не появлялось в трее.
4. Добавьте приложение в список автозагрузки, чтобы оно запускалось при каждом включении компьютера.
5. Если вы используете Windows, можно воспользоваться VDS скриптом для тихого запуска приложения. Создайте файл с расширением .vbs, скопируйте следующий код и указывайте путь к вашему приложению: Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "путь_к_приложению" & Chr(34), 0 Set WshShell = Nothing
6. Если вы предпочитаете использовать Python, можете воспользоваться следующим кодом для запуска приложения и добавления его в автозагрузку: import os import winshell def create_autostart_link_for_vbs(application_path, link_name, start_directory="", icon_directory=None): # Автозагрузка startup_folder = winshell.startup() link_path = os.path.join(startup_folder, f"{link_name}.lnk") # Ярлык with winshell.shortcut(link_path) as link: link.path = script_path link.description = f"Link for {script_path}" link.working_directory = start_directory if icon_directory: link.icon_location = (icon_directory, 0) return link_path # Использование path_to_vbs = r"путь_к_vbs_скрипту" create_autostart_link_for_vbs(path_to_vbs, "AutostartAppWithoutWindow") Важно! Учтите, что различные приложения могут по-разному реагировать на запуск в тихом режиме.
Похожие вопросы