Başlangıçta çalışan Python programı

Arkadaşlar ben pythondan bir program yazdım ve pyinstaller ile exe haline getirdim. Bu program ilk çalıştırıldığında programı başlangıca (bilgisayar ilk açıldığında çalışan programlara) eklememin bir yolu var mı? Çok araştırdım ama bulamadım :frowning: (programın kodlarını değiştirebilirim, exe yapsam da kodları elimde var tabi ki. belki yanlış anlayan olur)

Bunu otomatik olarak nasıl yaparsınız bilmiyorum ama 1 kereliğine manuel olarak yapmak mümkün.Görev yöneticisine girin,ayrıntıları gösteri seçin ve “başlangıç” adlı bir başlığı bulun.Maalesef pc basında degilim ve yerini tam olarak hatırlamıyorum.Baslangic programlarını oradan duzenleyebilirsiniz.Eğer orada çıkmaz ise ctrl alt delete yapın ve çıkan 4-5 şıklık yerden bulabilirsiniz.

Otomatik olarak exe dosyasının bunu yapması lazım :frowning:

Windows ile alakalı konuşuyoruz sanırım. Uygulamayı koymanız gereken yer C:\Users\User\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

Kayıt defteri ile de yapılabiliyordu ama şimdi hatırlamıyorum.

Buldum. Kullanmanız gereken anahtarlar burada anlatılmış:
https://www.akadia.com/services/windows_registry.html
https://docs.microsoft.com/en-us/windows/win32/setupapi/run-and-runonce-registry-keys

Kayıt defterine erişmek için de winreg var.

4 Beğeni

Acaba bu koddaki hata nedir? Hata vermiyor ama dosyayı startup klasörüne taşımıyor. Winreg biraz karışıktı önceliği böyle denemeye verdim. Dosya yolunu yazdırınca istediğim yeri söylüyor ama startup’a bakınca gözükmüyor almıyor.

import os
user = os.getlogin() #kullanıcı adını alıyor
os.chdir(f"C://Users/{user}/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup") print(os.getcwd())

Ne gözükmüyor? Siz dosya kopyalamıyorsunuz ki, bulunduğunuz dizini değiştiriyorsunuz. Dosya kopyalamak için bunu kullanabilirsiniz.

Bu arada kullanıcıyı şöyle de alabilirsiniz, hatta daha garanti olur çünkü işletim sistemi C diskinde olmak zorunda değil:

>>> import os
>>> os.environ["USERPROFILE"]
'C:\\Users\\user'
>>> 
1 Beğeni

Yeni bir hata verdi.
Bu sorunu winreg kullanarak çözdüm, dosyayı gizlemek için ise aşağıdaki komudu kullandım. NOT: gizleme komudu exe halindeyken işe yaramıyor, hala denemekteyim. Şimdi --onefile ama pyw deniycem.


wingui = win32console.GetConsoleWindow()
win32gui.ShowWindow(wingui, 0)