विंडोज स्टार्टअप में पायथन स्क्रिप्ट को जोड़ना मूल रूप से इंगित करता है कि पायथन स्क्रिप्ट विंडोज बूट होने पर चलेगी। यह दो-चरणीय प्रक्रियाओं द्वारा पूरा किया जा सकता है:
चरण #1: विंडोज स्टार्टअप फोल्डर में स्क्रिप्ट जोड़ना
विंडोज के बूट होने के बाद, यह अपने स्टार्टअप फोल्डर या डायरेक्टरी में मौजूद सभी एप्लीकेशन्स को निष्पादित करता है (डबल-क्लिक करने के बराबर)।
पता
C:\Users\current_user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
डिफ़ॉल्ट रूप से, current_user के तहत AppData डायरेक्टरी या फोल्डर छिपा होता है जो छिपी फाइलों को सक्षम करके इसे प्राप्त करें और दिए गए पते पर स्क्रिप्ट का शॉर्टकट या स्क्रिप्ट स्वयं पेस्ट करें। इसके अलावा .PY फाइल्स डिफ़ॉल्ट रूप से पायथन IDE पर सेट होनी चाहिए अन्यथा स्क्रिप्ट टेक्स्ट के रूप में खुलने के बजाय निष्पादित हो सकती है।
चरण #2: विंडोज रजिस्ट्री में स्क्रिप्ट जोड़ना
यह प्रक्रिया जोखिम भरी हो सकती है यदि ठीक से पूरा नहीं किया गया, इसमें पायथन स्क्रिप्ट से ही विंडोज रजिस्ट्री की HKEY_CURRENT_USER को संपादित करना शामिल है। इस रजिस्ट्री में उन प्रोग्राम्स की सूची होती है जिन्हें उपयोगकर्ता के लॉगिन होने पर एक बार निष्पादित करना होता है। रजिस्ट्री पथ:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
नीचे पायथन कोड है
# वर्तमान स्क्रिप्ट को रजिस्ट्री में जोड़ने के लिए पायथन कोड
# विंडोज रजिस्ट्री को संशोधित या संपादित करने के लिए मॉड्यूल
import winreg as reg1
import os
def AddToRegistry():
# पायथन में __file__ उस फाइल पथ के इंस्टेंट को दर्शाता है
# जहां इसे चलाया या निष्पादित किया गया था
# इसलिए यदि इसे डेस्कटॉप से निष्पादित किया गया था,
# तो __file__ होगा
# c:\users\current_user\desktop
pth1 = os.path.dirname(os.path.realpath(__file__))
# एक्सटेंशन के साथ पायथन फाइल नाम
s_name1 = "myScript.py"
# फाइल नाम को पथ पते के अंत में जोड़ा जाता है
address1 = os.path.join(pth1, s_name1)
# वह कुंजी जिसे हम संशोधित या बदलना चाहते हैं वह HKEY_CURRENT_USER है
# कुंजी मान है Software\Microsoft\Windows\CurrentVersion\Run
key1 = reg1.HKEY_CURRENT_USER
key_value1 = "Software\Microsoft\Windows\CurrentVersion\Run"
# संशोधन या बदलाव करने के लिए कुंजी खोलें
open = reg1.OpenKey(key1, key_value1, 0, reg1.KEY_ALL_ACCESS)
# खुली कुंजी को बदलें या संशोधित करें
reg1.SetValueEx(open, "any_name", 0, reg1.REG_SZ, address1)
# अब खुली कुंजी को बंद करें
reg1.CloseKey(open)
# ड्राइवर कोड
if __name__ == "__main__":
AddToRegistry()