क्या आप एडोब एयर से विंडोज रजिस्ट्री तक पहुंच सकते हैं?

(Y n)

संपादित करें: केवल पढ़ने के लिए उपयोग ठीक है।

0
जोड़ा संपादित
विचारों: 3
ऐप एक पृष्ठभूमि डाउनलोडर है, और मुझे उपयोगकर्ताओं का नाम और भूमिका प्राप्त करने का कोई तरीका चाहिए, जो वर्तमान में केवल रजिस्ट्री में संग्रहीत है। मुझे लगता है कि मैं रजिस्ट्री फाइलों को केवल पढ़ने के साथ प्राप्त कर सकता हूं लेकिन स्पष्ट रूप से यह कोशिश करने और पार्स करने के लिए पागल हो जाएगा (जैसा कि जरीन ने कहा था)। मैं उपयोगकर्ता निर्देशिका के नाम से उपयोगकर्ताओं के नाम को पकड़ने और सर्वर पर अपनी भूमिका वापस पाने के लिए वेब विधि लिखने पर बस गया हूं। सी # एक रचनात्मक विचार था, धन्यवाद।
जोड़ा लेखक Shawn, स्रोत
यदि आप भयभीत हो सकते हैं।
जोड़ा लेखक sparkes, स्रोत

6 उत्तर

यदि आप उपयोगकर्ता को किसी अन्य एप्लिकेशन को इंस्टॉल करने के लिए मजबूर करने के इच्छुक हैं, तो आप एक छोटी सी # या सी ++ विंडोज सेवा लिख ​​सकते हैं जो बस एक सॉकेट खोलती है जो रजिस्ट्री तक पहुंचने के लिए किसी प्रकार का प्रोटोकॉल प्रदान करती है। फिर एआईआर में आप सी # सेवा से संदेश भेजने के लिए सॉकेट क्लास का उपयोग कर सकते हैं जो एआईआर ऐप पर परिणाम लौटाएगा।

जब ऐप लोड होता है तो आप सॉकेट से कनेक्ट करने का प्रयास कर सकते हैं, और यदि कनेक्शन अस्वीकार कर दिया गया है तो आप उपयोगकर्ता को सेवा डाउनलोड / इंस्टॉल करने के लिए संकेत दे सकते हैं।

रजिस्ट्री की सीधी पहुंच के लिए मुझे यकीन है कि एडोब एआईआर से इसकी अनुमति नहीं देगा।

0
जोड़ा

क्या आप यह निर्धारित करने की कोशिश कर रहे हैं कि उपयोगकर्ता प्रशासक है या नहीं?

यदि ऐसा है तो आप उपयोगकर्ता नाम को "File.userDirectory.name" से घटा सकते हैं।

और मुझे लगता है कि उपयोगकर्ता एक व्यवस्थापक है या नहीं, तो संभवतः आप उस फ़ाइल तक पहुंचने का प्रयास कर सकते हैं जिसके लिए व्यवस्थापकीय विशेषाधिकारों की आवश्यकता होती है (शायद Windows / System32 पर फ़ाइल लिखने का प्रयास करें)। यदि फ़ाइल पहुंच विफल हो जाती है तो आप शायद यह मान सकते हैं कि उपयोगकर्ता सीमित खाते में है।

0
जोड़ा

यदि आप सॉकेट सर्वर बनाने का निर्णय लेते हैं जो रजिस्ट्री कमांड के लिए सुनता है तो बहुत सावधान रहें। आप संभावित रूप से सुरक्षा छेद बना रहे हैं और उपयोगिता के मामले में उपयोगकर्ताओं के व्यक्तिगत फ़ायरवॉल रास्ते में आ सकते हैं।

0
जोड़ा

मैंने अभी तक यह कोशिश नहीं की है, लेकिन मुझे लगता है कि मुझे एक कामकाज मिला है।

Adobe AIR cannot write to Windows Registry, but you can, however, launch a native process in AIR 2. Here's a blog post that shows how to do that: http://www.adobe.com/devnet/air/flex/quickstart/articles/interacting_with_native_process.html

अब, विंडोज़ पर, आप .reg फ़ाइलों के साथ विंडोज रजिस्ट्री को संशोधित करने में सक्षम हैं। .reg फ़ाइलें केवल सादा पाठ फ़ाइलें हैं जिन्हें regedit.exe द्वारा पढ़ा जाता है। तो सिद्धांत रूप में, आप फ़ाइल सिस्टम में एक .reg फ़ाइल लिख सकते हैं, फिर regedit.exe को .reg फ़ाइल में पास कर सकते हैं और ... TADA! आपने अभी अपने एआईआर ऐप से विंडोज रजिस्ट्री को संशोधित किया है!

To read value, you can use regedit's export function to write to a reg file and read from the reg file. Details to regedit's options: http://www.robvanderwoude.com/regedit.php

Here are some additional resources:
.reg file syntax: http://support.microsoft.com/kb/310516
write to file with AIR: http://www.adobe.com/devnet/air/flex/articles/exploring_file_capabilities.html

0
जोड़ा

यदि आप मुझे भयभीत कर सकते हैं।

आप भयभीत क्यों होंगे? वायु एक डेस्कटॉप प्लेटफ़ॉर्म है, और ओएस के एपीआई (जैसे रजिस्ट्री एक्सेस) तक पहुंच होने से बहुत सारी समझ होती है।

ऐसा कहा जा रहा है, अब यह समर्थित नहीं है (और जैसा कि एडोब बहुत मैक केंद्रित है, मुझे संदेह है कि यह कभी भी जोड़ा जाएगा)।

मैं उपयोगकर्ता नाम के नाम से उपयोगकर्ता नाम को हथियाने पर बस गया हूं

File.userDirectory.name का उपयोग अधिकांश मामलों में काम करेगा, लेकिन यह बहुत ही कमजोर कार्यान्वयन की तरह लगता है, यह यूजर को अपनी निर्देशिका के रूप में उपयोगकर्ता नाम रखने के सम्मेलन को बनाए रखने पर निर्भर करता है। मैं कुछ संभावित चीजों के बारे में सोच सकता हूं जो इसे तोड़ सकते हैं (ट्वीक्यूआई आदि के साथ खेलना)।

0
जोड़ा

आप सैद्धांतिक रूप से वास्तविक रजिस्ट्री फ़ाइलों को संशोधित कर सकते हैं, लेकिन मैं उस विचार को अत्यधिक हतोत्साहित करता हूं।

0
जोड़ा