commit d10715c81fc655dc5f2617a5cab0ba2e322fb1da Author: Akamaru Date: Fri Nov 1 19:48:18 2024 +0100 Erster Testcode diff --git a/README.md b/README.md new file mode 100644 index 0000000..f1cdc0e --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# Programm-Öffner + +## Beschreibung +Programm-Öffner ist ein einfaches Python-Projekt, das als Test für ein Shortcut-Programm dient. Mit dieser Anwendung kannst du "schnell" installierte Programme auf deinem Computer öffnen. + +## Funktionen +- Öffnen von installierten Programmen über einen Shortcut. + +## Anforderungen +- Python 3.x \ No newline at end of file diff --git a/program_list.json b/program_list.json new file mode 100644 index 0000000..25e9369 --- /dev/null +++ b/program_list.json @@ -0,0 +1,14 @@ +[ + { + "Name": "Crunchyroll Downloader", + "Pfad": "C:\\Users\\Akamaru\\AppData\\Local\\Programs\\crunchyroll-downloader\\Crunchyroll Downloader.exe" + }, + { + "Name": "clrmamepro", + "Pfad": "D:\\Portable\\clrmamepro\\cmpro64.exe" + }, + { + "Name": "Programm 3", + "Pfad": "E:\\Pfad\\zum\\Programm3.exe" + } +] diff --git a/run.py b/run.py new file mode 100644 index 0000000..30f08ad --- /dev/null +++ b/run.py @@ -0,0 +1,43 @@ +import tkinter as tk +import json +import subprocess + +def open_program(program_path): + print(f"Attempting to open: {program_path}") + subprocess.Popen(program_path) + +def load_programs(): + with open('program_list.json') as f: + data = json.load(f) + return data + +def program_clicked(program_path): + open_program(program_path) + +def populate_listbox(programs): + for program in programs: + program_name = program['Name'] + program_path = program['Pfad'] + listbox.insert(tk.END, program_name) + listbox.bind('<>', on_select) + +def on_select(event): + index = listbox.curselection()[0] + selected_program = programs[index] + program_clicked(selected_program['Pfad']) + +# Erstelle das Hauptfenster +root = tk.Tk() + +# Erstelle eine Listbox +listbox = tk.Listbox(root) +listbox.pack() + +# Lade die Programme aus der JSON-Datei +programs = load_programs() + +# Fülle die Listbox mit den Programmen +populate_listbox(programs) + +# Starte die GUI-Schleife +root.mainloop() \ No newline at end of file