अपने प्रश्न का त्वरित जवाब "ठीक है, नहीं, तुम एक आवेदन निष्पादित किया जा रहा से नहीं रोका जा सकता है।" यदि यह निष्पादन योग्य है, तो इसे निष्पादित किया जा सकता है। इसे रोकने का कोई तरीका नहीं है।
और, यदि आप एप्लिकेशन को नियंत्रित नहीं कर सकते हैं (जैसा कि आपकी टिप्पणियां इंगित होती हैं) तो जीएस का उत्कृष्ट सुझाव काम नहीं करेगा, है ना? आपके पास ऐप क्या करता है इसे नियंत्रित करने का कोई तरीका नहीं है और आप अपनी विशेष कमांड लाइन पर इसकी प्रतिक्रिया को नियंत्रित नहीं कर सकते हैं।
तो यह एक दिलचस्प स्थिति को पेश करता है।
एक ही रास्ता है कि मैं इस के आसपास देखने के लिए पूरी तरह से कम से कम EXE के लिए उपयोग को रोकने के लिए, या यह यह मुश्किल बनाने के लिए है।
आप ऐसा कर सकता है: एक संसाधन
के रूप में अपने मेजबान EXE में
- एम्बेड EXE समय EXE चलाने की बात आती है, तो यह से TResourceStream बाहर का उपयोग कर
- लिखें यह निकालने TFileStream का उपयोग कर TResourceStream
- इसे निष्पादित करें
- जब आप पूरा कर लें तो इसे हटाएं।
सुंदर नहीं है, लेकिन यह एकमात्र तरीका है जिसे मैं EXE को अपनी शर्तों और आपकी शर्तों पर चलने से रोकने के बारे में सोच सकता हूं।
स्रोत
2009-12-07 00:42:24
मुझे SysInternals ProcessExplorer मिला है, जो मुझे वर्तमान में चल रही सभी प्रक्रियाओं का पेड़ दिखाता है और प्रत्येक को किसके द्वारा लॉन्च किया गया था, इसलिए जानकारी निश्चित रूप से उपलब्ध है। प्रश्न यह है कि इसे कैसे पहुंचाया जाए, जिसे मैं नहीं जानता, दुर्भाग्य से। मैं आपकी पोस्ट में "winapi" टैग जोड़ूंगा और इसे थोड़ा स्पष्ट कर दूंगा कि आप यही खोज रहे हैं। –
मैंने देखा है कि सबसे अच्छा जवाब है http://stackoverflow.com/a/3346055/647492 –