2009-02-17 15 views
13

मैं C++ एक कार्यक्रम है, जो मैं उन खिड़कियों में यह स्वत: शुरू करने दे सकते हैं करने का विकल्प है करने में सक्षम होना चाहता हूँ बनाने हूँ कैसे बनाएं। तो जब कोई उपयोगकर्ता अपना कंप्यूटर शुरू करता है, तो विंडोज़ इस प्रोग्राम को स्वतः शुरू कर देगी। मैंने रजिस्ट्री को संशोधित करने या स्टार्टअप फ़ोल्डर में डालने के बारे में सामान पढ़ा है, लेकिन ऐसा करने के लिए सबसे अच्छा "साफ" तरीका क्या होगा?एक ऑटो स्टार्टअप C++ कार्यक्रम

+0

इस लिंक का संदर्भ लें http://ask-leo.com/auto_start_how_do_i_run_a_program_automatically_when_windows_starts.html – Vinay

उत्तर

15

स्टार्टअप फ़ोल्डर पर्याप्त साफ है।

उपयोगकर्ता इसे हटाने के लिए यदि आवश्यक हो तो संभावना देता है।

+0

जान लें कि अगर आप ऐसा कुछ करने के बजाय, एक सेवा चलाने की बजाय, एक बार में एक से अधिक उपयोगकर्ता द्वारा आपके ऐप को बेहतर तरीके से चलाने में सक्षम हो। – Eclipse

+1

हाँ, जब कुछ स्वचालित रूप से शुरू होता है तो मुझे वास्तव में इससे नफरत है और मुझे इसे फिर से चलाने से रोकने के लिए रजिस्ट्री को खोजना होगा। कुछ डेवलपर्स कार्य करते हैं जैसे कि वे आपकी मशीन के मालिक हैं। –

3

, स्थापित सभी उपयोगकर्ताओं या प्रति-उपयोगकर्ता स्टार्टअप फ़ोल्डर के लिए स्टार्टअप फ़ोल्डर में रख आप एक सभी उपयोगकर्ता को क्रियान्वित कर रहे हैं पर या प्रति-उपयोगकर्ता निर्भर करता है। मेनू में आप जो स्टार्टअप फ़ोल्डर देखते हैं वह दोनों का विलय होता है, लेकिन गैर-व्यवस्थापक उपयोगकर्ता ऑल-उपयोगकर्ता भाग से आने वाली प्रविष्टियों को नहीं हटा सकते हैं।

तुम वास्तव में, इस के लिए कुछ भी करने को हालांकि नहीं है। उपयोगकर्ता स्टार्टअप मेनू में अपने सामान्य शॉर्टकट की प्रतिलिपि बना सकते हैं। इसलिए, कोई भी प्रोग्राम एक ऑटो-स्टार्टअप प्रोग्राम हो सकता है। सी ++ बिल्कुल होने की आवश्यकता नहीं है।

9

वहाँ एक आवेदन autostart करने के लिए कई तरीके हैं, लेकिन सबसे आसान, सबसे आम और IMO सबसे अच्छा कर रहे हैं:

  1. (स्वत: प्रारंभ फ़ोल्डर
  2. में एक शॉर्टकट रखो रजिस्ट्री करने के लिए एक स्वत: प्रारंभ प्रविष्टि जोड़ें सॉफ्टवेयर \ माइक्रोसॉफ्ट \ विंडोज \ CurrentVersion \ Run)

अंतिम परिणाम दोनों के लिए समान है। मेरा मानना ​​है कि स्टार्टअप तरीके से लॉगऑन प्रक्रिया में रजिस्ट्री मार्ग पहले निष्पादित किया गया था, लेकिन मैं निश्चित नहीं हूं। यह वैसे भी ज्यादातर मामलों के लिए कोई फर्क नहीं पड़ता है। मैं रजिस्ट्री पसंद करता हूं, लेकिन यह व्यक्तिगत स्वाद है। आप अपने ऐप में रजिस्ट्री कुंजी या शॉर्टकट प्रोग्रामेटिक बना और हटा सकते हैं।

दोनों विकल्पों के साथ आप सभी उपयोगकर्ताओं (सभी उपयोगकर्ता स्टार्टअप फ़ोल्डर, या रजिस्ट्री में HKLM कुंजी के तहत) या उपयोगकर्ता विशिष्ट (उपयोगकर्ता स्टार्टअप फ़ोल्डर या HKCR कुंजी के तहत) के लिए एक सेटिंग का उपयोग कर सकते हैं।

सामान्य तौर पर यह उपयोगकर्ता विकल्प प्रति उपयोग करने के लिए है, क्योंकि आप उन क्षेत्रों में विशेषाधिकार लेखन के लिए कुछ किया जा सकता है बेहतर है; और कंप्यूटर पर हर उपयोगकर्ता की अपनी सेटिंग हो सकती है।

0

आप एक खिड़कियों service.You आसानी से खिड़कियों सेवा के रूप में आवेदन करने के लिए "क्यूटी समाधान" का उपयोग कर सकते के रूप में यह रजिस्टर कर सकते हैं।

+0

एक विंडोज सेवा किसी भी तरह से ओपी के समान नहीं है। जवाब पोस्ट करने का प्रयास करें जो वास्तव में विषय पर लागू होते हैं। –

+0

वह सेवा के रूप में आवेदन को तैनात करने या इसे पूर्ववत करने के लिए बैच फ़ाइल बना सकता है। – Qubeuc

-1
इस कोड के साथ

आप इसे

procedure TForm1.Button1Click(Sender: TObject); 
var 
    Reg:TRegistry; 
begin 
    Reg := TRegistry.Create; 
    try 
     Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',True); 
     Reg.WriteString('Program name',ParamStr(0)); 
    finally 
    Reg.Free; 
    end; 

end; 

या ऐसा कर सकते हैं:

using Microsoft.Win32; 
private void AddStartUpKey(string _name, string _path) { 
    RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Micros oft\Windows\CurrentVersion\Run", true); 
    key.SetValue(_name, _path); 
} 
private void RemoveStartUpKey(string _name) { 
    RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Micros oft\Windows\CurrentVersion\Run", true); 
    key.DeleteValue(_name, false); 
} 
+4

केवल कोड के ब्लॉक को पोस्ट करने के बजाय, कृपया * समझाएं * यह कोड समस्या को हल क्यों करता है। एक स्पष्टीकरण के बिना, यह एक जवाब नहीं है। –

+0

इसके अलावा, इनमें से कोई भी C++ नहीं है। – immibis

संबंधित मुद्दे