मैं एक (Win32 कंसोल) प्रोग्राम है जो किसी अन्य प्रक्रिया लपेटता लिख रहा हूँ करने के लिए argv परिवर्तित वापस; यह निम्न उदाहरण में पैरामीटर लेता है:एक एकल स्ट्रिंग
runas.exe user notepad foo.txt
यही कारण है: runas
user
पार्स करता है और फिर नोटपैड चलाया जाएगा, शेष पैरामीटर प्रदान करने के।
मेरी समस्या यह है कि argv
अलग-अलग मानकों में विभाजित है, लेकिन CreateProcessAsUser
को एक lpszCommandLine
पैरामीटर की आवश्यकता है।
इस कमांड लाइन का निर्माण शायद सिर्फ वापस एक साथ argv
में शामिल होने के रिक्त स्थान के साथ के रूप में सरल नहीं है। कोई संकेतक?
यह सिर्फ एक उदाहरण है। मेरा पहला तर्क वास्तव में उपयोगकर्ता नाम नहीं है, और इसमें रिक्त स्थान हो सकते हैं। यह मैन्युअल रूप से GetCommandLine
के परिणाम को पार्स कर देता है।
इसी प्रकार, argv
का एक बेवकूफ संगतता काम नहीं करेगा, क्योंकि इसे उस मामले से निपटने की आवश्यकता है जहां मूल तर्क उद्धृत किए गए थे और उनमें रिक्त स्थान हो सकते थे।
मैं कहना चाहता हूँ "argv रिक्तियों के साथ वापस एक साथ शामिल होने के" ठीक होगा। आपको अन्यथा क्या लगता है? –
बेनोइट, क्योंकि यह 'runas.exe उपयोगकर्ता नोटपैड" foo bat.txt "के लिए काम नहीं करेगा। – avakar
रिक्त स्थान – Hasturkun