serdargksn
Centipat
- Katılım
- 4 Temmuz 2022
- Mesajlar
- 36
Daha fazla
- Cinsiyet
- Erkek
Yok hocam aynı sonuç. Kodu sıfırdan bi yazmak istiyorum mantık hatası var. Emeğin için çok teşekkür ederimPython:subprocess.run(["shortcut", "-c", shortcut])
Sorunun kaynağı bu hocam. Shortcut kullanımını bilmediğim için bir şey diyemeyeceğim.
Python:import tkinter as tk from tkinter import messagebox import subprocess def create_shortcut(): first_key = first_key_entry.get() second_key = second_key_entry.get() app = app_entry.get() shortcut = f"{first_key}+{second_key}:{app}" print("shortcut", "-c", shortcut) messagebox.showinfo("Success", "Shortcut created successfully!") root = tk.Tk() root.title("Shortcut Creator") first_key_label = tk.Label(root, text="First key:") first_key_label.grid(row=0, column=0) first_key_entry = tk.Entry(root) first_key_entry.grid(row=0, column=1) second_key_label = tk.Label(root, text="Second key:") second_key_label.grid(row=1, column=0) second_key_entry = tk.Entry(root) second_key_entry.grid(row=1, column=1) app_label = tk.Label(root, text="Application:") app_label.grid(row=2, column=0) app_entry = tk.Entry(root) app_entry.grid(row=2, column=1) create_button = tk.Button(root, text="Create", command=create_shortcut) create_button.grid(row=3, column=1) root.mainloop()
Bu kodu çalıştırın ve çıktıyı gözden geçirin. Çünkü program bunu yürütüyor.
hocam çıkan çıktıyı inceleyeceksiniz ve olması gereken sonucu yazacaksınız. Belirttiğim gibi hatanın kaynağı 10.satır yani shortcut oluştururma işlemi hatalı çalışıyor.Yok hocam aynı sonuç. Kodu sıfırdan bi yazmak istiyorum mantık hatası var. Emeğin için çok teşekkür ederim
Biraz araştırma yapmam lazım bu olay nasıl işliyor öğrenirsem daha net bi kod yazmaya çalışabilirim. Anlık aklıma gelen bi fikirle haldır huldur giriştim koda asdafsdafhocam çıkan çıktıyı inceleyeceksiniz ve olması gereken sonucu yazacaksınız. Belirttiğim gibi hatanın kaynağı 10.satır yani shortcut oluştururma işlemi hatalı çalışıyor
Buyurun hocam taş gibi çalışan bir kod yazdım. Şimdi sadece kullanıcıdan bu verileri isteticeğim.hocam çıkan çıktıyı inceleyeceksiniz ve olması gereken sonucu yazacaksınız. Belirttiğim gibi hatanın kaynağı 10.satır yani shortcut oluştururma işlemi hatalı çalışıyor.
import keyboard
import subprocess
def run_program():
subprocess.Popen("calc.exe")
keyboard.add_hotkey('win+f1', run_program)
keyboard.wait()
CMD üzerinde shortcut diye bir komut yok kodunuz ondan hata veriyor.Kodu denedim sonuç değişti. Öncelikle success mesajı geldi ilk kodda gelmiyordu. Terminal ise şunu söyledi:
'shortcut' is not recognized as an internal or external command,
operable program or batch file.
Shortcut u tanımıyom diyor beyefendi. Shortcut'u nasıl tanımlayabilirim ki bildiğim 2 kütüphane var zaten asdafgasgagsa
Ben üst mevkilere danışacağım böyle olmayacak.. chat gpt çökmemiştir inşallah yine
büyük ihtimalle ben yanlışım hocam acemiliğimiz çıkıyor
Mis gibi çalışıyor. Bu fonksiyonu programdakiyle değiştirin.Biraz araştırma yapmam lazım bu olay nasıl işliyor öğrenirsem daha net bi kod yazmaya çalışabilirim. Anlık aklıma gelen bi fikirle haldır huldur giriştim koda asdafsdaf
Buyurun hocam taş gibi çalışan bir kod yazdım. Şimdi sadece kullanıcıdan bu verileri isteticeğim.
Dener misin?
Python:import keyboard import subprocess def run_program(): subprocess.Popen("calc.exe") keyboard.add_hotkey('win+f1', run_program) keyboard.wait()
import tkinter as tk
from tkinter import messagebox
import subprocess
import keyboard
import threading
def run_program():
subprocess.Popen(app_entry.get())
def create_shortcutter():
first_key = first_key_entry.get()
second_key = second_key_entry.get()
app = app_entry.get()
keyboard.add_hotkey(f'{first_key}+{second_key}', run_program)
messagebox.showinfo("Success", "Shortcut created successfully!")
keyboard.wait()
def create_shortcut():
threading.Thread(target=create_shortcutter, daemon=True).start()
root = tk.Tk()
root.title("Shortcut Creator")
first_key_label = tk.Label(root, text="First key:")
first_key_label.grid(row=0, column=0)
first_key_entry = tk.Entry(root)
first_key_entry.grid(row=0, column=1)
second_key_label = tk.Label(root, text="Second key:")
second_key_label.grid(row=1, column=0)
second_key_entry = tk.Entry(root)
second_key_entry.grid(row=1, column=1)
app_label = tk.Label(root, text="Application:")
app_label.grid(row=2, column=0)
app_entry = tk.Entry(root)
app_entry.grid(row=2, column=1)
create_button = tk.Button(root, text="Create", command=create_shortcut)
create_button.grid(row=3, column=1)
root.mainloop()
Hocam uygulamaya direkt aktarmadım baştan bi elden geçirdim kodun hepsini o yüzden hata almadım. Bitmiş halini buraya atmayı sabırsızlıkla bekliyorum fakat şu hotkeyleri pc nasıl kafada tutacak bilmiyorum. Sizin bir fikriniz var mı?Mis gibi çalışıyor. Bu fonksiyonu programdakiyle değiştirin.
Hocam yeni olduğunuz için büyük ihtimalle fonksiyonu ekledikten sonra program yanıt vermeyecektir. Sebebi ise tkinteri beklemeye sokmamız.
Python:import tkinter as tk from tkinter import messagebox import subprocess import keyboard import threading def run_program(): subprocess.Popen(app_entry.get()) def create_shortcutter(): first_key = first_key_entry.get() second_key = second_key_entry.get() app = app_entry.get() keyboard.add_hotkey(f'{first_key}+{second_key}', run_program) messagebox.showinfo("Success", "Shortcut created successfully!") keyboard.wait() def create_shortcut(): threading.Thread(target=create_shortcutter, daemon=True).start() root = tk.Tk() root.title("Shortcut Creator") first_key_label = tk.Label(root, text="First key:") first_key_label.grid(row=0, column=0) first_key_entry = tk.Entry(root) first_key_entry.grid(row=0, column=1) second_key_label = tk.Label(root, text="Second key:") second_key_label.grid(row=1, column=0) second_key_entry = tk.Entry(root) second_key_entry.grid(row=1, column=1) app_label = tk.Label(root, text="Application:") app_label.grid(row=2, column=0) app_entry = tk.Entry(root) app_entry.grid(row=2, column=1) create_button = tk.Button(root, text="Create", command=create_shortcut) create_button.grid(row=3, column=1) root.mainloop()
Thread kullanarak çoklu görev oluşturuyoruz bu şekilde pythonun gidişatına engel olmadan başka bir iş yapabiliyoruz. Kodu inceleyince anlayacaksınız.
Var tabi hocam. 3 seçenek sunacam.Hocam uygulamaya direkt aktarmadım baştan bi elden geçirdim kodun hepsini o yüzden hata almadım. Bitmiş halini buraya atmayı sabırsızlıkla bekliyorum fakat şu hotkeyleri pc nasıl kafada tutacak bilmiyorum. Sizin bir fikriniz var mı?
Tavsiyelerin için teşekkür ederim hocam windows ile başlatmayı ben de düşünmüştüm ama arkaplanda çalıştırmak aklıma gelmedi. Onu bilmiyorum ama öğreniriz. Ayrıca dünden beri sql bakıyorum zor bir şey değil gibi gözüküyor. Onu kullanabilirim. Teşekkürler tekrar.Var tabi hocam. 3 seçenek sunacam.
1- Sqlite3 kullanmak.
Sqlite3 bir veritabanı kütüphanesidir. Bu şekil .db dosyaların içinden veri kaydedebilir ve çekebilirsiniz.
2-JSON kullanmak.
JSON'u bilirsiniz diye tahmin ediyorum. config dosya türüdür. bu json kütüphanesi pythonda mevcut bu şekil json dosyasına veri kaydedebilir veya veri çekebilirsiniz.
3-config kullanmak.
.cfg yani config dosyaları ile aynı şekil veri alabilir veya çekebilirsiniz.
Programınızı kullanmak için tavsiye:
-Programı arkaplanda çalıştırma yapmak.
Bu şekil program görev çubuğunda gözükmese bile arkaplanda çalışacaktır
-Programı windows ile başlatma yapmak.
Programı windows ile beraber otomatik başlata koyarsanız program bilgisayar ile beraber çalışmaya başlayacaktır.
Creator yapmanın yanı sıra kayıtlı hotkeyleri yönetmek için (Silmek, işlevlerini değiştirmek, tuşları değiştirmek) bir database programı yapabilirsiniz. (Bunun için sqlite3 yani veri tabanı kullanmanız tavsiye edilir)
Kesinlikle sqlite seçmenizi öneririm. Böylece bir çok veri kaydedebilirsiniz. Ama dilerseniz yazı dosyaları şeklinde de kullanabilirsiniz ama veri çekmek için en basiti SQLite3.Tavsiyelerin için teşekkür ederim hocam windows ile başlatmayı ben de düşünmüştüm ama arkaplanda çalıştırmak aklıma gelmedi. Onu bilmiyorum ama öğreniriz. Ayrıca dünden beri sql bakıyorum zor bir şey değil gibi gözüküyor. Onu kullanabilirim. Teşekkürler tekrar.
Kesinlikle sqlite seçmenizi öneririm. Böylece bir çok veri kaydedebilirsiniz. Ama dilerseniz yazı dosyaları şeklinde de kullanabilirsiniz ama veri çekmek için en basiti SQLite3.