मेरे पास एक डेल्फी 6 एप्लिकेशन है, जो कि अधिकांश विंडोज अनुप्रयोगों की तरह है, उपयोगकर्ता के "स्थानीय एप्लिकेशन डेटा" फ़ोल्डर में डेटा पढ़ता/लिखता है। मैं उस फ़ोल्डर को निर्धारित करने के लिए नीचे दिए गए कोड का उपयोग करता हूं। अब तक, यह कोड मेरे अधिकांश उपयोगकर्ताओं के लिए काम करता है।विंडोज उपयोगकर्ता के "सच" एप्लिकेशन डेटा फ़ोल्डर ढूँढना?
C:\Users\Bob\AppData\Roaming\
आमतौर पर स्थानीय एप्लिकेशन डेटा फ़ोल्डर में निराकरण:
C:\Documents and Settings\Bob\Application Data\
क्या इस उपयोगकर्ता की विशेष स्थिति के बारे में अजीब है कि कई है मैं जिसका स्थानीय ऐप्लिकेशन डेटा की उम्मीद फ़ोल्डर में नहीं है एक उपयोगकर्ता का सामना करना पड़ा HKEY_LOCAL_MACHINE में सामान्य रूप से मिली रजिस्ट्री कुंजी वास्तव में HKEY_CURRENT_USER में स्थित होती हैं। वे विंडोज 7 पर चल रहे हैं।
बेहतर शब्द की कमी के लिए, क्या उपयोगकर्ता के लिए "सत्य" एप्लिकेशन डेटा प्राप्त करने का कोई तरीका है ताकि मैं इस स्थिति को बेहतर तरीके से नेविगेट कर सकूं? यदि यह समझदारी से CSIDL_APPDATA, CSIDL_COMMON_APPDATA और CSIDL_LOCAL_APPDATA विशेष फ़ोल्डर के बीच चयन करने का विषय है, तो ऐसा करने के लिए तर्क क्या है? जैसा कि आप बता सकते हैं कि मैं एक ऐसे उद्देश्य के लिए फ़ंक्शन ढूंढ रहा हूं जो सही एप्लिकेशन डेटा फ़ोल्डर को रूट कर सकता है चाहे उपयोगकर्ता के चल रहे विंडोज़ संस्करण या उनके विशिष्ट पीसी कॉन्फ़िगरेशन के बावजूद।
मुझे यह स्टैक ओवरफ़्लो पोस्ट मिला जो उत्तर देने लगता है लेकिन यह .NET लाइब्रेरी से फ़ंक्शन का उपयोग कर रहा है और मैं डेल्फी 6 का उपयोग कर रहा हूं। यदि यह समाधान मेरे प्रश्न का उत्तर देता है, तो क्या कोई मुझे इसे दोहराने का एक त्वरित तरीका बता सकता है डेल्फी में:
How can i get the path of the current user's "Application Data" folder?
// Function to get the app data special folder.
function GetAppdataFolder: string;
begin
Result := GetSpecialFolderLocation(CSIDL_APPDATA);
end;
@SertacAkyuz - यह पता चला कि समस्या का असली कारण यह था कि उपयोगकर्ता को अपने प्रोग्राम को व्यवस्थापक अधिकारों के साथ स्थापित करने की आवश्यकता होती है, जो कि अधिकांश उपयोगकर्ता के सिस्टम पर नहीं होता है। उन लोगों के लिए उचित होना जिन्होंने पहले ही मूल पोस्ट का जवाब दिया था, मैंने पोस्ट को मूल रूप में वापस कर दिया और नए प्रश्न के लिए एक नई पोस्ट बनाई: http://stackoverflow.com/questions/12772615/why-is-my-delphi -6-प्रोग्राम-ट्रिगरिंग-ए-अनुरोध-के लिए-admin-rights-on-install- –
GetSpecialFolderLocation कहां है? (मुझे अपने उपयोग खंड में कौन सी इकाई जोड़नी चाहिए?) – cja