मैं C # सिस्टम ट्रे एप्लिकेशन से थ्रेड के रूप में C प्रोग्राम कैसे चला सकता हूं?

मेरे पास एक C सांत्वना अनुप्रयोग है जो CMD टर्मिनल में Windows में अग्रभूमि में चलाया जाता था और उपयोगकर्ता कीस्ट्रोक इनपुट लेता था। हालाँकि अब इसे पृष्ठभूमि में ले जाने की आवश्यकता है और इसके लिए किसी उपयोगकर्ता इनपुट की आवश्यकता नहीं है।

मैंने एक सिस्टम ट्रे बनाई है, जिसे राइट क्लिक एग्जिट और राइट क्लिक के साथ सही तरीके से लागू किया गया है। और एक टर्मिनल प्रोग्राम है जो कार्यक्षमता करता है।

कार्यक्रम को फिर से लिखने के बजाय मैं एक धागा बनाने में सक्षम होना चाहूंगा जो मेरे मौजूदा कार्यक्रम से उन कार्यों को कॉल करता है जिन्हें टर्मिनल की आवश्यकता नहीं है।

बस इस बिंदु पर बल देने के लिए कंसोल इंटरेक्टिव पहलुओं को कोड से हटा दिया गया है क्योंकि किस्ट्रोक्स आदि पर एप्लिकेशन की प्रतिक्रिया है। उम्मीद है कि यह थोड़ा स्पष्ट करता है।

Question: Is this possible? And how would I be able to implement this?

(मैं आमतौर पर अधिक एम्बेडेड सी का उपयोग करके पीसी प्रोग्रामर नहीं हूं। इसलिए मेरे लिए .NET काफी विदेशी है। किसी भी मदद की बहुत सराहना की जाती है)

2
उत्तर देने के लिए पर्याप्त विवरण नहीं .... लेकिन आपके .NET प्रोग्राम के लिए पृष्ठभूमि में अपना कंसोल एप्लिकेशन लॉन्च करना संभव है।
जोड़ा लेखक Keith Nicholas, स्रोत
उत्तर देने के लिए पर्याप्त विवरण नहीं .... लेकिन आपके .NET प्रोग्राम के लिए पृष्ठभूमि में अपना कंसोल एप्लिकेशन लॉन्च करना संभव है।
जोड़ा लेखक Keith Nicholas, स्रोत
उत्तर देने के लिए पर्याप्त विवरण नहीं .... लेकिन आपके .NET प्रोग्राम के लिए पृष्ठभूमि में अपना कंसोल एप्लिकेशन लॉन्च करना संभव है।
जोड़ा लेखक Keith Nicholas, स्रोत
एक ट्रे एप्लिकेशन प्रक्रिया को लॉन्च कर सकता है
जोड़ा लेखक Keith Nicholas, स्रोत
एक ट्रे एप्लिकेशन प्रक्रिया को लॉन्च कर सकता है
जोड़ा लेखक Keith Nicholas, स्रोत
एक ट्रे एप्लिकेशन प्रक्रिया को लॉन्च कर सकता है
जोड़ा लेखक Keith Nicholas, स्रोत
@rodrigogq - माफ करना यार। मैंने आपको बुरी सलाह दी होगी। यह सिर्फ उसके सवाल से लग रहा था, कि वह सी कार्यक्रम से कार्यों को कॉल करने में सक्षम होना चाहता था। यदि आपका उत्तर उसके लिए काम करता है, तो निश्चित रूप से सरल है और आप उत्तर क्रेडिट के योग्य हैं। मैंने किसी भी मामले में आपके जवाब को गलत ठहराया।
जोड़ा लेखक Icemanind, स्रोत
@HarryJohnston - उसे DLL के रूप में पुनर्निर्माण करने की आवश्यकता नहीं होगी। आप अभी भी किसी EXE फ़ाइल में फ़ंक्शन निर्यात कर सकते हैं। लेकिन यह एक DLL के रूप में अधिक समझ में आता है
जोड़ा लेखक Icemanind, स्रोत
@HarryJohnston - उसे DLL के रूप में पुनर्निर्माण करने की आवश्यकता नहीं होगी। आप अभी भी किसी EXE फ़ाइल में फ़ंक्शन निर्यात कर सकते हैं। लेकिन यह एक DLL के रूप में अधिक समझ में आता है
जोड़ा लेखक Icemanind, स्रोत
@HarryJohnston - उसे DLL के रूप में पुनर्निर्माण करने की आवश्यकता नहीं होगी। आप अभी भी किसी EXE फ़ाइल में फ़ंक्शन निर्यात कर सकते हैं। लेकिन यह एक DLL के रूप में अधिक समझ में आता है
जोड़ा लेखक Icemanind, स्रोत
मुझे लगता है कि ऐसा करने के लिए, आपके C प्रोग्राम में फ़ंक्शंस को _declspec (dllexport) जैसे कुछ का उपयोग करके निर्यात किया जाना चाहिए।
जोड़ा लेखक Icemanind, स्रोत
मुझे लगता है कि ऐसा करने के लिए, आपके C प्रोग्राम में फ़ंक्शंस को _declspec (dllexport) जैसे कुछ का उपयोग करके निर्यात किया जाना चाहिए।
जोड़ा लेखक Icemanind, स्रोत
मुझे लगता है कि ऐसा करने के लिए, आपके C प्रोग्राम में फ़ंक्शंस को _declspec (dllexport) जैसे कुछ का उपयोग करके निर्यात किया जाना चाहिए।
जोड़ा लेखक Icemanind, स्रोत
@rodrigogq - अपने सवाल से, उन्होंने कहा कि "मैं एक धागा बनाने में सक्षम होना चाहूंगा जो मेरे मौजूदा कार्यक्रम से कार्यों को कॉल करता है"।
जोड़ा लेखक Icemanind, स्रोत
@rodrigogq - माफ करना यार। मैंने आपको बुरी सलाह दी होगी। यह सिर्फ उसके सवाल से लग रहा था, कि वह सी कार्यक्रम से कार्यों को कॉल करने में सक्षम होना चाहता था। यदि आपका उत्तर उसके लिए काम करता है, तो निश्चित रूप से सरल है और आप उत्तर क्रेडिट के योग्य हैं। मैंने किसी भी मामले में आपके जवाब को गलत ठहराया।
जोड़ा लेखक Icemanind, स्रोत
@rodrigogq - माफ करना यार। मैंने आपको बुरी सलाह दी होगी। यह सिर्फ उसके सवाल से लग रहा था, कि वह सी कार्यक्रम से कार्यों को कॉल करने में सक्षम होना चाहता था। यदि आपका उत्तर उसके लिए काम करता है, तो निश्चित रूप से सरल है और आप उत्तर क्रेडिट के योग्य हैं। मैंने किसी भी मामले में आपके जवाब को गलत ठहराया।
जोड़ा लेखक Icemanind, स्रोत
@rodrigogq - अपने सवाल से, उन्होंने कहा कि "मैं एक धागा बनाने में सक्षम होना चाहूंगा जो मेरे मौजूदा कार्यक्रम से कार्यों को कॉल करता है"।
जोड़ा लेखक Icemanind, स्रोत
@rodrigogq - अपने सवाल से, उन्होंने कहा कि "मैं एक धागा बनाने में सक्षम होना चाहूंगा जो मेरे मौजूदा कार्यक्रम से कार्यों को कॉल करता है"।
जोड़ा लेखक Icemanind, स्रोत
हां, जाने का सबसे अच्छा तरीका निश्चित रूप से एक डीएलएल के रूप में अपने सी प्रोग्राम का पुनर्निर्माण करना है जो एक या अधिक कार्यों का निर्यात करता है। मुझे पूरा यकीन है कि आप C# से मनमाने ढंग से DLL कह सकते हैं, हालाँकि मैं इस विधि से परिचित नहीं हूँ।
जोड़ा लेखक Harry Johnston, स्रोत
हां, जाने का सबसे अच्छा तरीका निश्चित रूप से एक डीएलएल के रूप में अपने सी प्रोग्राम का पुनर्निर्माण करना है जो एक या अधिक कार्यों का निर्यात करता है। मुझे पूरा यकीन है कि आप C# से मनमाने ढंग से DLL कह सकते हैं, हालाँकि मैं इस विधि से परिचित नहीं हूँ।
जोड़ा लेखक Harry Johnston, स्रोत
हां, जाने का सबसे अच्छा तरीका निश्चित रूप से एक डीएलएल के रूप में अपने सी प्रोग्राम का पुनर्निर्माण करना है जो एक या अधिक कार्यों का निर्यात करता है। मुझे पूरा यकीन है कि आप C# से मनमाने ढंग से DLL कह सकते हैं, हालाँकि मैं इस विधि से परिचित नहीं हूँ।
जोड़ा लेखक Harry Johnston, स्रोत
@rodrigogq ऐसा लगता है कि मैं एक DLL के रूप में पुनर्निर्माण करूंगा। रोड्रिगॉग ने आपने उल्लेख किया कि मैं प्रक्रिया को शुरू करने और उससे बाहर निकलने में सक्षम हो सकता हूं, मैं इसे कैसे सबसे सरल विकल्प की तरह लगता है? या यह एक अच्छा विचार नहीं है?
जोड़ा लेखक Luke, स्रोत
@icemanind हाय मैं शायद DLL को निर्यात करूंगा। हालाँकि, इस प्रक्रिया को शुरू करने और बाहर निकलने में सक्षम नहीं होने का कोई कारण नहीं है। मैंने कहा कि मैं अपने कार्य को एक थ्रेड से कॉल करना चाह रहा था, हालांकि अगर पृष्ठभूमि में सी एप्लिकेशन (टर्मिनल को खोले बिना) शुरू करना संभव है, और सिस्टम एप्लिकेशन के साथ इसे बंद कर सकता हूं तो मैं नहीं देख सकता कि मैं क्यों करूंगा 'यह इस तरह से नहीं है ... धन्यवाद
जोड़ा लेखक Luke, स्रोत
@icemanind हाय मैं शायद DLL को निर्यात करूंगा। हालाँकि, इस प्रक्रिया को शुरू करने और बाहर निकलने में सक्षम नहीं होने का कोई कारण नहीं है। मैंने कहा कि मैं अपने कार्य को एक थ्रेड से कॉल करना चाह रहा था, हालांकि अगर पृष्ठभूमि में सी एप्लिकेशन (टर्मिनल को खोले बिना) शुरू करना संभव है, और सिस्टम एप्लिकेशन के साथ इसे बंद कर सकता हूं तो मैं नहीं देख सकता कि मैं क्यों करूंगा 'यह इस तरह से नहीं है ... धन्यवाद
जोड़ा लेखक Luke, स्रोत
@icemanind हाय मैं शायद DLL को निर्यात करूंगा। हालाँकि, इस प्रक्रिया को शुरू करने और बाहर निकलने में सक्षम नहीं होने का कोई कारण नहीं है। मैंने कहा कि मैं अपने कार्य को एक थ्रेड से कॉल करना चाह रहा था, हालांकि अगर पृष्ठभूमि में सी एप्लिकेशन (टर्मिनल को खोले बिना) शुरू करना संभव है, और सिस्टम एप्लिकेशन के साथ इसे बंद कर सकता हूं तो मैं नहीं देख सकता कि मैं क्यों करूंगा 'यह इस तरह से नहीं है ... धन्यवाद
जोड़ा लेखक Luke, स्रोत
किसी को भी दिलचस्पी लें: मैंने कृतिगोक और इकामाइंड दोनों समाधानों को लागू किया; प्रक्रिया का उपयोग करने के लिए -rodrigogq समाधान। कार्ट को लागू करने के लिए अविश्वसनीय रूप से आसान था (एक सहायक संबंधित लिंक है stackoverflow.com/questions/3847330/… ) से होती है, लेकिन जब यह प्रक्रिया को सही ढंग से बंद करने की बात आती है, तब तक सीमित रहती है। -इमाइंडइंड समाधान को लागू करना कठिन था, नियंत्रण के संदर्भ में फायदे थे (उदाहरण के लिए अगर फाइल करने के लिए लिखने की जरूरत है) तो मैंने इस उदाहरण में रॉडरिगॉगक घोल का इस्तेमाल किया लेकिन निश्चित रूप से डीएलएल का उपयोग करने वाली ऐसी ही स्थिति अधिक उपयुक्त है
जोड़ा लेखक Luke, स्रोत
किसी को भी दिलचस्पी लें: मैंने कृतिगोक और इकामाइंड दोनों समाधानों को लागू किया; प्रक्रिया का उपयोग करने के लिए -rodrigogq समाधान। कार्ट को लागू करने के लिए अविश्वसनीय रूप से आसान था (एक सहायक संबंधित लिंक है stackoverflow.com/questions/3847330/… ) से होती है, लेकिन जब यह प्रक्रिया को सही ढंग से बंद करने की बात आती है, तब तक सीमित रहती है। -इमाइंडइंड समाधान को लागू करना कठिन था, नियंत्रण के संदर्भ में फायदे थे (उदाहरण के लिए अगर फाइल करने के लिए लिखने की जरूरत है) तो मैंने इस उदाहरण में रॉडरिगॉगक घोल का इस्तेमाल किया लेकिन निश्चित रूप से डीएलएल का उपयोग करने वाली ऐसी ही स्थिति अधिक उपयुक्त है
जोड़ा लेखक Luke, स्रोत
icemanind और rodrigogq दोनों ने अच्छे जवाब दिए हैं जो प्रतीत होता है कि वे मेरी समस्या का समाधान होंगे। मैं सोमवार को अपडेट करूंगा और कहूंगा कि मैं किस विकल्प के साथ गया और उन्हें लागू करना कितना आसान था।
जोड़ा लेखक Luke, स्रोत
icemanind और rodrigogq दोनों ने अच्छे जवाब दिए हैं जो प्रतीत होता है कि वे मेरी समस्या का समाधान होंगे। मैं सोमवार को अपडेट करूंगा और कहूंगा कि मैं किस विकल्प के साथ गया और उन्हें लागू करना कितना आसान था।
जोड़ा लेखक Luke, स्रोत
icemanind और rodrigogq दोनों ने अच्छे जवाब दिए हैं जो प्रतीत होता है कि वे मेरी समस्या का समाधान होंगे। मैं सोमवार को अपडेट करूंगा और कहूंगा कि मैं किस विकल्प के साथ गया और उन्हें लागू करना कितना आसान था।
जोड़ा लेखक Luke, स्रोत
@rodrigogq ऐसा लगता है कि मैं एक DLL के रूप में पुनर्निर्माण करूंगा। रोड्रिगॉग ने आपने उल्लेख किया कि मैं प्रक्रिया को शुरू करने और उससे बाहर निकलने में सक्षम हो सकता हूं, मैं इसे कैसे सबसे सरल विकल्प की तरह लगता है? या यह एक अच्छा विचार नहीं है?
जोड़ा लेखक Luke, स्रोत
@rodrigogq यह किसी भी तरह के उपयोगकर्ता इनपुट की उम्मीद नहीं करता है
जोड़ा लेखक Luke, स्रोत
@rodrigogq यह किसी भी तरह के उपयोगकर्ता इनपुट की उम्मीद नहीं करता है
जोड़ा लेखक Luke, स्रोत
@rodrigogq यह किसी भी तरह के उपयोगकर्ता इनपुट की उम्मीद नहीं करता है
जोड़ा लेखक Luke, स्रोत
मुझे इसे और स्पष्ट करने के लिए फिर से लिखना चाहिए। क्षमा याचना।
जोड़ा लेखक Luke, स्रोत
मुझे इसे और स्पष्ट करने के लिए फिर से लिखना चाहिए। क्षमा याचना।
जोड़ा लेखक Luke, स्रोत
सी कार्यक्रम बहुत अधिक अस्पष्ट है। मैं आपको अनुमान लगा रहा हूं कि C में लिखा एक कंसोल एप्लिकेशन, जिसका उत्तर है नहीं , एक कंसोल एप्लिकेशन को बिना संशोधन के ट्रे एप्लिकेशन के रूप में नहीं चलाया जा सकता है; सूचनाओं को प्राप्त करने के लिए इसमें कम से कम एक विंडो हैंडल और एक संदेश लूप होना चाहिए, जो कि कंसोल अनुप्रयोगों के पास नहीं है।
जोड़ा लेखक Ken White, स्रोत
सी कार्यक्रम बहुत अधिक अस्पष्ट है। मैं आपको अनुमान लगा रहा हूं कि C में लिखा एक कंसोल एप्लिकेशन, जिसका उत्तर है नहीं , एक कंसोल एप्लिकेशन को बिना संशोधन के ट्रे एप्लिकेशन के रूप में नहीं चलाया जा सकता है; सूचनाओं को प्राप्त करने के लिए इसमें कम से कम एक विंडो हैंडल और एक संदेश लूप होना चाहिए, जो कि कंसोल अनुप्रयोगों के पास नहीं है।
जोड़ा लेखक Ken White, स्रोत
@ कीथ: यह एक ट्रे एप्लिकेशन नहीं है, हालांकि, जो सवाल पूछता है।
जोड़ा लेखक Ken White, स्रोत
@ कीथ: यह एक ट्रे एप्लिकेशन नहीं है, हालांकि, जो सवाल पूछता है।
जोड़ा लेखक Ken White, स्रोत
@ कीथ: यह एक ट्रे एप्लिकेशन नहीं है, हालांकि, जो सवाल पूछता है।
जोड़ा लेखक Ken White, स्रोत
यदि वह प्रक्रिया को शुरू करना और उससे बाहर निकलना चाहता है, तो मैं नहीं देखता कि उसे इतनी दूर जाने की आवश्यकता क्यों है .. बस प्रारंभ करें .. और बाहर निकलें जब उपयोगकर्ता बाहर निकलने के लिए कहता है। क्या मुझसे कोई चूक हो रही है? बॉक्स के बारे में टर्मिनल संस्करण या कुछ और के लिए पूछना होगा। वे अलग सामान हैं।
जोड़ा लेखक rodrigogq, स्रोत
ल्यूक, क्या आपका सी प्रोग्राम कीस्ट्रोके, उपयोगकर्ता इनपुट के किसी भी राजा से उम्मीद करता है?
जोड़ा लेखक rodrigogq, स्रोत
ल्यूक, क्या आपका सी प्रोग्राम कीस्ट्रोके, उपयोगकर्ता इनपुट के किसी भी राजा से उम्मीद करता है?
जोड़ा लेखक rodrigogq, स्रोत
यदि वह प्रक्रिया को शुरू करना और उससे बाहर निकलना चाहता है, तो मैं नहीं देखता कि उसे इतनी दूर जाने की आवश्यकता क्यों है .. बस प्रारंभ करें .. और बाहर निकलें जब उपयोगकर्ता बाहर निकलने के लिए कहता है। क्या मुझसे कोई चूक हो रही है? बॉक्स के बारे में टर्मिनल संस्करण या कुछ और के लिए पूछना होगा। वे अलग सामान हैं।
जोड़ा लेखक rodrigogq, स्रोत
यदि वह प्रक्रिया को शुरू करना और उससे बाहर निकलना चाहता है, तो मैं नहीं देखता कि उसे इतनी दूर जाने की आवश्यकता क्यों है .. बस प्रारंभ करें .. और बाहर निकलें जब उपयोगकर्ता बाहर निकलने के लिए कहता है। क्या मुझसे कोई चूक हो रही है? बॉक्स के बारे में टर्मिनल संस्करण या कुछ और के लिए पूछना होगा। वे अलग सामान हैं।
जोड़ा लेखक rodrigogq, स्रोत
@icindind कभी बुरा नहीं मानता! मैंने आपके कोड से भी सीखा! :)
जोड़ा लेखक rodrigogq, स्रोत
@icemanind धन्यवाद। फिर मैंने अपना जवाब हटा दिया। वैसे भी निर्यात एक अच्छा विकल्प है।
जोड़ा लेखक rodrigogq, स्रोत
@icemanind धन्यवाद। फिर मैंने अपना जवाब हटा दिया। वैसे भी निर्यात एक अच्छा विकल्प है।
जोड़ा लेखक rodrigogq, स्रोत
@ मुझे संदर्भ के लिए अपने उत्तर को मिटा दिया गया। अगर आप कुछ नहीं कह रहे हैं, तो बस दौड़ें, कोशिश करें।
जोड़ा लेखक rodrigogq, स्रोत
@ मुझे संदर्भ के लिए अपने उत्तर को मिटा दिया गया। अगर आप कुछ नहीं कह रहे हैं, तो बस दौड़ें, कोशिश करें।
जोड़ा लेखक rodrigogq, स्रोत
@ मुझे संदर्भ के लिए अपने उत्तर को मिटा दिया गया। अगर आप कुछ नहीं कह रहे हैं, तो बस दौड़ें, कोशिश करें।
जोड़ा लेखक rodrigogq, स्रोत
@icindind कभी बुरा नहीं मानता! मैंने आपके कोड से भी सीखा! :)
जोड़ा लेखक rodrigogq, स्रोत
@icindind कभी बुरा नहीं मानता! मैंने आपके कोड से भी सीखा! :)
जोड़ा लेखक rodrigogq, स्रोत

7 उत्तर

मुझे यकीन नहीं है कि यह वही है जो आप पूछ रहे हैं, लेकिन यदि आप पूछ रहे हैं कि क्या आप अपने C प्रोग्राम से C# एप्लिकेशन से फ़ंक्शन कॉल कर सकते हैं, तो आप कर सकते हैं। जब तक आप अपने C प्रोग्राम में सोर्स कोड रखते हैं। सी में कार्यों के लिए सी # कार्यक्रम के लिए उपलब्ध होने के लिए, उन्हें निर्यात किया जाना चाहिए। मैं आपको एक उदाहरण दिखाऊंगा:

MyAddDll.h

#include 

extern "C"
{
    __declspec(dllexport) int Add(int a, int b);
}

यहां महत्वपूर्ण यह है कि आपका फ़ंक्शन extern "C" ब्लॉक में लिपटा है। मूल रूप से, यह संकलक को आपके कार्य के नाम को बताने के लिए नहीं कहता है। अन्य महत्वपूर्ण टुकड़ा है __ घोषणापत्र (dllexport) । यह संकलक को बताता है कि आप इस फ़ंक्शन को निर्यात करना चाहते हैं इसलिए इसे दूसरे प्रोग्राम (जैसे आपका C# प्रोग्राम) से कॉल किया जा सकता है।

MyAddDll.cpp

#include 
#include "MyAddDll.h"

extern "C"
{
    __declspec(dllexport) int Add(int a, int b)
    {
        return (a + b);
    }
}

फिर से, आपका कोड एक extern "C" ब्लॉक में लिपट जाता है और आपको फ़ंक्शन में __ घोषणा (dllexport) जोड़ना होगा। अब आप इसे DLL फ़ाइल या EXE फ़ाइल में संकलित कर सकते हैं। अब इसे C# से कॉल करने के लिए, इसके बहुत सीधे आगे:

MyProgram.cs

class Program
{
    [DllImport("c:\\PathToMyDllOrExeFile\\MyAddDll.dll")]
    public static extern int Add(int val1, int val2);

    static void Main(string[] args)
    {
        int val1 = 12;
        int val2 = 4;
        Console.WriteLine("{0} + {1} = {2}", val1, val2, Add(val1, val2));
    }
}

बस इतना ही है!

एक "गोटा" हालांकि यह सुनिश्चित करता है कि आपका C प्रोग्राम और आपका C# प्रोग्राम दोनों ही 32-बिट या 64-बिट के रूप में संकलित हैं। आप अपने C प्रोग्राम को 64-बिट और अपने C# प्रोग्राम को 32-बिट के रूप में संकलित नहीं कर सकते। वे दोनों एक ही बिट लंबाई का उपयोग करना चाहिए।

4
जोड़ा
@ ल्यूक - कोई भी सी फाइल जिसमें ऐसे कार्य हैं जिन्हें आप C# में कॉल करने में सक्षम होना चाहते हैं, को लिपटे रहने की आवश्यकता है
जोड़ा लेखक Icemanind, स्रोत
@ ल्यूक - एक और बात। मैंने यह अनुमान लगाया कि आपका सी प्रोग्राम माइक्रोसॉफ्ट के विज़ुअल स्टूडियो का उपयोग करके संकलित किया गया था। यदि यह सही नहीं है, तो मुझे बताएं और मैं अपना उत्तर अपडेट करूंगा। __ घोषणापत्र (dllexport) केवल Microsoft के संकलक में मौजूद है। किसी अन्य संकलक के लिए, हमें एक Export.def फ़ाइल बनानी होगी।
जोड़ा लेखक Icemanind, स्रोत
हाय धन्यवाद, जो बहुत मददगार है। अगर मेरे पास कई सी फाइलें हैं, तो क्या उन्हें सभी को डीएलएल में लपेटने की आवश्यकता होगी या यदि मैं मुख्य को डीएलएल के रूप में लपेटता हूं तो क्या इसे अन्य सी फाइलें कह सकते हैं?
जोड़ा लेखक Luke, स्रोत
धन्यवाद। यह बदलाव को लागू करने में मददगार होना चाहिए। चियर्स
जोड़ा लेखक Luke, स्रोत
मैं Microsoft Visual Studio के नवीनतम मुक्त संस्करण का उपयोग कर रहा हूं।
जोड़ा लेखक Luke, स्रोत

जैसा कि पहले ही पोस्ट किया गया है, आप अपने C# एप्लिकेशन ट्रे से Process.Start का उपयोग कर सकते हैं।

   //Uses the ProcessStartInfo class to start new processes, 
   //both in a minimized mode. 
    void OpenWithStartInfo()
    {
        ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
        startInfo.WindowStyle = ProcessWindowStyle.Minimized;

        Process.Start(startInfo);

        startInfo.Arguments = "www.northwindtraders.com";

        Process.Start(startInfo);
    }

http://msdn.microsoft.com/en- हमें/पुस्तकालय/53ezey2s (v = vs.110) .aspx

You could try launching it on a hidden state: http://msdn.microsoft.com/en-us/library/system.diagnostics.processwindowstyle(v=vs.110).aspx

कुछ प्रोग्रामर सावधान रहना बता रहे हैं। यदि कोई इनपुट अपेक्षित है, तो संभवतः आपकी प्रक्रिया रुक सकती है। सुनिश्चित करें कि कुछ भी नहीं वास्तव में बंद हो जाता है अपने कार्यक्रम।

आप एक cmd कमांड को Process.Start के साथ शुरू करने का प्रयास कर सकते हैं, लेकिन मैं कहूंगा कि यह बहुत अधिक है। यह आपके C# ट्रे एप्लिकेशन नियंत्रण के बिना एक और प्रक्रिया शुरू करेगा:

 Process.Start("start /min cmd /c mycommand");
3
जोड़ा
मुझे 100% यकीन नहीं है कि वह अपने निष्पादन योग्य को कॉल करना चाहता है। मुझे लगता है कि वह एक विशिष्ट फ़ंक्शन या विशिष्ट फ़ंक्शन को कॉल करना चाहता है जो उसके निष्पादन योग्य में संकलित है।
जोड़ा लेखक Icemanind, स्रोत
@rodrigogq मुझे लगता है कि मेरी समस्या के लिए एक बेहतर समाधान एक धागा बनाना है जो DLL फ़ंक्शन को कॉल करता है। हालांकि आपका जवाब मुझे थोड़ा अलग आवेदन के लिए उपयोग करने में सक्षम हो सकता है मुझे भी स्वचालित करने की आवश्यकता है। चियर्स
जोड़ा लेखक Luke, स्रोत

जैसा कि पहले ही पोस्ट किया गया है, आप अपने C# एप्लिकेशन ट्रे से Process.Start का उपयोग कर सकते हैं।

   //Uses the ProcessStartInfo class to start new processes, 
   //both in a minimized mode. 
    void OpenWithStartInfo()
    {
        ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
        startInfo.WindowStyle = ProcessWindowStyle.Minimized;

        Process.Start(startInfo);

        startInfo.Arguments = "www.northwindtraders.com";

        Process.Start(startInfo);
    }

http://msdn.microsoft.com/en- हमें/पुस्तकालय/53ezey2s (v = vs.110) .aspx

You could try launching it on a hidden state: http://msdn.microsoft.com/en-us/library/system.diagnostics.processwindowstyle(v=vs.110).aspx

कुछ प्रोग्रामर सावधान रहना बता रहे हैं। यदि कोई इनपुट अपेक्षित है, तो संभवतः आपकी प्रक्रिया रुक सकती है। सुनिश्चित करें कि कुछ भी नहीं वास्तव में बंद हो जाता है अपने कार्यक्रम।

आप एक cmd कमांड को Process.Start के साथ शुरू करने का प्रयास कर सकते हैं, लेकिन मैं कहूंगा कि यह बहुत अधिक है। यह आपके C# ट्रे एप्लिकेशन नियंत्रण के बिना एक और प्रक्रिया शुरू करेगा:

 Process.Start("start /min cmd /c mycommand");
3
जोड़ा
मुझे 100% यकीन नहीं है कि वह अपने निष्पादन योग्य को कॉल करना चाहता है। मुझे लगता है कि वह एक विशिष्ट फ़ंक्शन या विशिष्ट फ़ंक्शन को कॉल करना चाहता है जो उसके निष्पादन योग्य में संकलित है।
जोड़ा लेखक Icemanind, स्रोत
@rodrigogq मुझे लगता है कि मेरी समस्या के लिए एक बेहतर समाधान एक धागा बनाना है जो DLL फ़ंक्शन को कॉल करता है। हालांकि आपका जवाब मुझे थोड़ा अलग आवेदन के लिए उपयोग करने में सक्षम हो सकता है मुझे भी स्वचालित करने की आवश्यकता है। चियर्स
जोड़ा लेखक Luke, स्रोत

जैसा कि पहले ही पोस्ट किया गया है, आप अपने C# एप्लिकेशन ट्रे से Process.Start का उपयोग कर सकते हैं।

   //Uses the ProcessStartInfo class to start new processes, 
   //both in a minimized mode. 
    void OpenWithStartInfo()
    {
        ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
        startInfo.WindowStyle = ProcessWindowStyle.Minimized;

        Process.Start(startInfo);

        startInfo.Arguments = "www.northwindtraders.com";

        Process.Start(startInfo);
    }

http://msdn.microsoft.com/en- हमें/पुस्तकालय/53ezey2s (v = vs.110) .aspx

You could try launching it on a hidden state: http://msdn.microsoft.com/en-us/library/system.diagnostics.processwindowstyle(v=vs.110).aspx

कुछ प्रोग्रामर सावधान रहना बता रहे हैं। यदि कोई इनपुट अपेक्षित है, तो संभवतः आपकी प्रक्रिया रुक सकती है। सुनिश्चित करें कि कुछ भी नहीं वास्तव में बंद हो जाता है अपने कार्यक्रम।

आप एक cmd कमांड को Process.Start के साथ शुरू करने का प्रयास कर सकते हैं, लेकिन मैं कहूंगा कि यह बहुत अधिक है। यह आपके C# ट्रे एप्लिकेशन नियंत्रण के बिना एक और प्रक्रिया शुरू करेगा:

 Process.Start("start /min cmd /c mycommand");
3
जोड़ा
मुझे 100% यकीन नहीं है कि वह अपने निष्पादन योग्य को कॉल करना चाहता है। मुझे लगता है कि वह एक विशिष्ट फ़ंक्शन या विशिष्ट फ़ंक्शन को कॉल करना चाहता है जो उसके निष्पादन योग्य में संकलित है।
जोड़ा लेखक Icemanind, स्रोत
@rodrigogq मुझे लगता है कि मेरी समस्या के लिए एक बेहतर समाधान एक धागा बनाना है जो DLL फ़ंक्शन को कॉल करता है। हालांकि आपका जवाब मुझे थोड़ा अलग आवेदन के लिए उपयोग करने में सक्षम हो सकता है मुझे भी स्वचालित करने की आवश्यकता है। चियर्स
जोड़ा लेखक Luke, स्रोत

आप अपने C प्रोग्राम को .NET कोड से System.Diagnostics.Process के माध्यम से शुरू कर सकते हैं। इसे एक अलग प्रक्रिया में चलाया जाएगा।

आप .NET कोड से भी इस प्रक्रिया को मार सकते हैं

1
जोड़ा
प्रश्न सिस्टम ट्रे एप्लिकेशन के बारे में पूछता है, जो प्रक्रिया </कोड> के माध्यम से लॉन्च कंसोल कंसोल के समान नहीं है।
जोड़ा लेखक Ken White, स्रोत

आप अपने C प्रोग्राम को .NET कोड से System.Diagnostics.Process के माध्यम से शुरू कर सकते हैं। इसे एक अलग प्रक्रिया में चलाया जाएगा।

आप .NET कोड से भी इस प्रक्रिया को मार सकते हैं

1
जोड़ा
प्रश्न सिस्टम ट्रे एप्लिकेशन के बारे में पूछता है, जो प्रक्रिया </कोड> के माध्यम से लॉन्च कंसोल कंसोल के समान नहीं है।
जोड़ा लेखक Ken White, स्रोत

आप अपने C प्रोग्राम को .NET कोड से System.Diagnostics.Process के माध्यम से शुरू कर सकते हैं। इसे एक अलग प्रक्रिया में चलाया जाएगा।

आप .NET कोड से भी इस प्रक्रिया को मार सकते हैं

1
जोड़ा
प्रश्न सिस्टम ट्रे एप्लिकेशन के बारे में पूछता है, जो प्रक्रिया </कोड> के माध्यम से लॉन्च कंसोल कंसोल के समान नहीं है।
जोड़ा लेखक Ken White, स्रोत