Agar C dasturini C # tizim tepsisi ilovasidan qanday qilib ishlating?

Windows CMD terminalida oldingi o'rinni egallagan C konsol ilovasi bor va menimcha foydalanuvchi tugmachalarini bosib olasiz. Ammo endi fonga ko'chirilishi kerak va foydalanuvchi kiritish talab qilinmaydi.

Men to'g'ri sekin urish va o'ng tugmasini bosish bilan to'g'ridan-to'g'ri amalga oshirilgan tizim tepsisi yaratdim. Va funksionallikni amalga oshiradigan terminal dasturiga ega bo'ling.

Dasturni qayta yozishdan ko'ra, terminalni talab qilmaydigan mavjud dasturlardan funksiyalarni chaqiradigan ish zarrachasini yaratishni xohlayman.

Faqat konsol interaktiv jihatlari koddan olib tashlangani kabi tugmachalarni urg'ulash uchun tugmani bosish va hokazolarga javob beradigan dasturlarga javob berishi mumkin. Umid qilamanki, bu narsalarni biroz tushuntiradi.

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

(Men odatda ko'proq katıştırılmış C foydalanib, bir PC dasturchi emasman, shuning uchun .NET men uchun juda ham begona, har qanday yordam juda katta qadrlaydi)

2
javob berish uchun yetarli ma'lumot yo'q ... lekin sizning. NET dasturida konsol ilovasini fonda ishga tushirish mumkin.
qo'shib qo'ydi muallif Keith Nicholas, manba
javob berish uchun yetarli ma'lumot yo'q ... lekin sizning. NET dasturida konsol ilovasini fonda ishga tushirish mumkin.
qo'shib qo'ydi muallif Keith Nicholas, manba
javob berish uchun yetarli ma'lumot yo'q ... lekin sizning. NET dasturida konsol ilovasini fonda ishga tushirish mumkin.
qo'shib qo'ydi muallif Keith Nicholas, manba
laganda ilovasi jarayonni boshlashi mumkin
qo'shib qo'ydi muallif Keith Nicholas, manba
laganda ilovasi jarayonni boshlashi mumkin
qo'shib qo'ydi muallif Keith Nicholas, manba
laganda ilovasi jarayonni boshlashi mumkin
qo'shib qo'ydi muallif Keith Nicholas, manba
Kechirasiz. Sizga yomon maslahat berardim. Uning savoliga ko'ra, u C dasturidan funksiyalarni chaqirishni xohlagan edi. Agar sizning javobingiz unga ishonsa, uning aniqligi soddadir va siz javob kreditiga loyiqsiz. Har qanday holatda sizning javobingizni oshirdim.
qo'shib qo'ydi muallif Icemanind, manba
@HarryJohnston - U hatto uni DLL sifatida qayta tiklash kerak emas edi. Siz yana EXE faylida funktsiyalarni eksport qilishingiz mumkin. Lekin bu DLL sifatida mantiqiyroq bo'ladi
qo'shib qo'ydi muallif Icemanind, manba
@HarryJohnston - U hatto uni DLL sifatida qayta tiklash kerak emas edi. Siz yana EXE faylida funktsiyalarni eksport qilishingiz mumkin. Lekin bu DLL sifatida mantiqiyroq bo'ladi
qo'shib qo'ydi muallif Icemanind, manba
@HarryJohnston - U hatto uni DLL sifatida qayta tiklash kerak emas edi. Siz yana EXE faylida funktsiyalarni eksport qilishingiz mumkin. Lekin bu DLL sifatida mantiqiyroq bo'ladi
qo'shib qo'ydi muallif Icemanind, manba
Buning uchun C dasturidagi funktsiyalarni _declspec (dllexport)
qo'shib qo'ydi muallif Icemanind, manba
Buning uchun C dasturidagi funktsiyalarni _declspec (dllexport)
qo'shib qo'ydi muallif Icemanind, manba
Buning uchun C dasturidagi funktsiyalarni _declspec (dllexport)
qo'shib qo'ydi muallif Icemanind, manba
@rodrigogq - "Men mavjud dasturdan funktsiyalarni chaqiradigan bir mavzu yaratmoqchi edim".
qo'shib qo'ydi muallif Icemanind, manba
Kechirasiz. Sizga yomon maslahat berardim. Uning savoliga ko'ra, u C dasturidan funksiyalarni chaqirishni xohlagan edi. Agar sizning javobingiz unga ishonsa, uning aniqligi soddadir va siz javob kreditiga loyiqsiz. Har qanday holatda sizning javobingizni oshirdim.
qo'shib qo'ydi muallif Icemanind, manba
Kechirasiz. Sizga yomon maslahat berardim. Uning savoliga ko'ra, u C dasturidan funksiyalarni chaqirishni xohlagan edi. Agar sizning javobingiz unga ishonsa, uning aniqligi soddadir va siz javob kreditiga loyiqsiz. Har qanday holatda sizning javobingizni oshirdim.
qo'shib qo'ydi muallif Icemanind, manba
@rodrigogq - "Men mavjud dasturdan funktsiyalarni chaqiradigan bir mavzu yaratmoqchi edim".
qo'shib qo'ydi muallif Icemanind, manba
@rodrigogq - "Men mavjud dasturdan funktsiyalarni chaqiradigan bir mavzu yaratmoqchi edim".
qo'shib qo'ydi muallif Icemanind, manba
Ha, eng yaxshi usul, C dasturini bir yoki bir necha funktsiyalarni eksport qiluvchi DLL sifatida qayta qurishdir. Men usuldan xabardor bo'lmasam-da, C# -dan tasodifiy DLLlarni chaqirishingiz mumkinligiga aminman.
qo'shib qo'ydi muallif Harry Johnston, manba
Ha, eng yaxshi usul, C dasturini bir yoki bir necha funktsiyalarni eksport qiluvchi DLL sifatida qayta qurishdir. Men usuldan xabardor bo'lmasam-da, C# -dan tasodifiy DLLlarni chaqirishingiz mumkinligiga aminman.
qo'shib qo'ydi muallif Harry Johnston, manba
Ha, eng yaxshi usul, C dasturini bir yoki bir necha funktsiyalarni eksport qiluvchi DLL sifatida qayta qurishdir. Men usuldan xabardor bo'lmasam-da, C# -dan tasodifiy DLLlarni chaqirishingiz mumkinligiga aminman.
qo'shib qo'ydi muallif Harry Johnston, manba
@rodrigogq DLL sifatida qayta tiklanadigan ko'rinadi. Rodrigogq, men bu jarayonni boshlashim va uni tark etishim mumkinligini eslatib qoldingiz, men buni sintaktik ravishda qanday qilib amalga oshirishim mumkin? Yoki bu yaxshi fikr emasmi?
qo'shib qo'ydi muallif Luke, manba
@icemanind Salom ehtimol DLLga eksport qilmoqchiman. Shu bilan birga, jarayonni boshlash va undan chiqish uchungina emas. Men o'z vazifamni ish zarrachasidan qidirishga urinayotganimni aytdim, ammo agar C dasturini (terminalni ochmasdan) fonda ishga tushirish mumkin bo'lsa va uni tizim ilovasi bilan yopish mumkin bo'lsa, nima uchun men buni bilmayman Buni qilaylik ... Rahmat
qo'shib qo'ydi muallif Luke, manba
@icemanind Salom ehtimol DLLga eksport qilmoqchiman. Shu bilan birga, jarayonni boshlash va undan chiqish uchungina emas. Men o'z vazifamni ish zarrachasidan qidirishga urinayotganimni aytdim, ammo agar C dasturini (terminalni ochmasdan) fonda ishga tushirish mumkin bo'lsa va uni tizim ilovasi bilan yopish mumkin bo'lsa, nima uchun men buni bilmayman Buni qilaylik ... Rahmat
qo'shib qo'ydi muallif Luke, manba
@icemanind Salom ehtimol DLLga eksport qilmoqchiman. Shu bilan birga, jarayonni boshlash va undan chiqish uchungina emas. Men o'z vazifamni ish zarrachasidan qidirishga urinayotganimni aytdim, ammo agar C dasturini (terminalni ochmasdan) fonda ishga tushirish mumkin bo'lsa va uni tizim ilovasi bilan yopish mumkin bo'lsa, nima uchun men buni bilmayman Buni qilaylik ... Rahmat
qo'shib qo'ydi muallif Luke, manba
Hech kimni qiziqtirmaslik kerak edi: rodrigogq va icemanind echimlarini qo'lladim; -RORRIGOG'ning echimini ishlatish Process.Start amalga oshirish juda oson edi (foydali bilan bog'lanish stackoverflow.com/questions/3847330/… ) - jarayonni to'g'ri yopish uchun cheklangan bo'lsa-da. -cemanind echimini amalga oshirish qiyin bo'lgan, nazorat qilish uchun afzalliklarga ega bo'lgan (masalan, faylga yozish kerak) bu holda rodrigogq yechimini ishlatganman, ammo DLL-ni ishlatish bilan shu kabi vaziyatlar ham to'g'ri
qo'shib qo'ydi muallif Luke, manba
Hech kimni qiziqtirmaslik kerak edi: rodrigogq va icemanind echimlarini qo'lladim; -RORRIGOG'ning echimini ishlatish Process.Start amalga oshirish juda oson edi (foydali bilan bog'lanish stackoverflow.com/questions/3847330/… ) - jarayonni to'g'ri yopish uchun cheklangan bo'lsa-da. -cemanind echimini amalga oshirish qiyin bo'lgan, nazorat qilish uchun afzalliklarga ega bo'lgan (masalan, faylga yozish kerak) bu holda rodrigogq yechimini ishlatganman, ammo DLL-ni ishlatish bilan shu kabi vaziyatlar ham to'g'ri
qo'shib qo'ydi muallif Luke, manba
icemanind va rodrigogq ikkalasi ham yaxshi javoblarni o'rtaga tashladilar, ular mening muammom echimiga aylanadi. Dushanba kuni men yangilanib turaman va qaysi variantni men ular bilan amalga oshirishni va qanchalik oson amalga oshirishni aytaman.
qo'shib qo'ydi muallif Luke, manba
icemanind va rodrigogq ikkalasi ham yaxshi javoblarni o'rtaga tashladilar, ular mening muammom echimiga aylanadi. Dushanba kuni men yangilanib turaman va qaysi variantni men ular bilan amalga oshirishni va qanchalik oson amalga oshirishni aytaman.
qo'shib qo'ydi muallif Luke, manba
icemanind va rodrigogq ikkalasi ham yaxshi javoblarni o'rtaga tashladilar, ular mening muammom echimiga aylanadi. Dushanba kuni men yangilanib turaman va qaysi variantni men ular bilan amalga oshirishni va qanchalik oson amalga oshirishni aytaman.
qo'shib qo'ydi muallif Luke, manba
@rodrigogq DLL sifatida qayta tiklanadigan ko'rinadi. Rodrigogq, men bu jarayonni boshlashim va uni tark etishim mumkinligini eslatib qoldingiz, men buni sintaktik ravishda qanday qilib amalga oshirishim mumkin? Yoki bu yaxshi fikr emasmi?
qo'shib qo'ydi muallif Luke, manba
@rodrigogq u hech qanday foydalanuvchi kiritishiga umid qilmaydi
qo'shib qo'ydi muallif Luke, manba
@rodrigogq u hech qanday foydalanuvchi kiritishiga umid qilmaydi
qo'shib qo'ydi muallif Luke, manba
@rodrigogq u hech qanday foydalanuvchi kiritishiga umid qilmaydi
qo'shib qo'ydi muallif Luke, manba
Men buni yanada aniqroq bo'lish uchun qayta so'zlayman. Kechirasiz.
qo'shib qo'ydi muallif Luke, manba
Men buni yanada aniqroq bo'lish uchun qayta so'zlayman. Kechirasiz.
qo'shib qo'ydi muallif Luke, manba
A C dasturi juda noaniq. Men C da yozilgan konsol dasturini nazarda tutmoqchiman, bu holda javob no , konsol ilovasi o'zgarishsiz laganda ilovasi sifatida ishlamaydi; hech bo'lmaganda, oynani ushlab turish va ilovalarni konsolga ega bo'lmagan bildirishnomalarni olish uchun xabar aylanishi kerak.
qo'shib qo'ydi muallif Ken White, manba
A C dasturi juda noaniq. Men C da yozilgan konsol dasturini nazarda tutmoqchiman, bu holda javob no , konsol ilovasi o'zgarishsiz laganda ilovasi sifatida ishlamaydi; hech bo'lmaganda, oynani ushlab turish va ilovalarni konsolga ega bo'lmagan bildirishnomalarni olish uchun xabar aylanishi kerak.
qo'shib qo'ydi muallif Ken White, manba
@Keith: Bu laganda ilovasi emas, lekin savol so'raladi.
qo'shib qo'ydi muallif Ken White, manba
@Keith: Bu laganda ilovasi emas, lekin savol so'raladi.
qo'shib qo'ydi muallif Ken White, manba
@Keith: Bu laganda ilovasi emas, lekin savol so'raladi.
qo'shib qo'ydi muallif Ken White, manba
Agar u faqatgina jarayonni boshlash va chiqishni xohlamoqchi bo'lsa, nima uchun u hozirgi kunga qadar borish kerakligini tushunmayman ... Faqat boshlang va foydalanuvchi chiqishni so'raganda chiqing. Men bu erda biror narsa yo'qmi? Taxminan qutidagi terminalning versiyasini yoki shunga o'xshash narsalarni so'rash kerak emas. Ular ajratilgan narsalar.
qo'shib qo'ydi muallif rodrigogq, manba
Luqo, sizning C dasturida har qanday klavishni bosish, foydalanuvchi kirishi kutiladimi?
qo'shib qo'ydi muallif rodrigogq, manba
Luqo, sizning C dasturida har qanday klavishni bosish, foydalanuvchi kirishi kutiladimi?
qo'shib qo'ydi muallif rodrigogq, manba
Agar u faqatgina jarayonni boshlash va chiqishni xohlamoqchi bo'lsa, nima uchun u hozirgi kunga qadar borish kerakligini tushunmayman ... Faqat boshlang va foydalanuvchi chiqishni so'raganda chiqing. Men bu erda biror narsa yo'qmi? Taxminan qutidagi terminalning versiyasini yoki shunga o'xshash narsalarni so'rash kerak emas. Ular ajratilgan narsalar.
qo'shib qo'ydi muallif rodrigogq, manba
Agar u faqatgina jarayonni boshlash va chiqishni xohlamoqchi bo'lsa, nima uchun u hozirgi kunga qadar borish kerakligini tushunmayman ... Faqat boshlang va foydalanuvchi chiqishni so'raganda chiqing. Men bu erda biror narsa yo'qmi? Taxminan qutidagi terminalning versiyasini yoki shunga o'xshash narsalarni so'rash kerak emas. Ular ajratilgan narsalar.
qo'shib qo'ydi muallif rodrigogq, manba
Hech qachon unutmang! Men sizning kodingizdan ham o'rgandim! :)
qo'shib qo'ydi muallif rodrigogq, manba
rahmat. Keyin javobni o'chirdim. Yaxshiyamki, eksport qilish yaxshi variant.
qo'shib qo'ydi muallif rodrigogq, manba
rahmat. Keyin javobni o'chirdim. Yaxshiyamki, eksport qilish yaxshi variant.
qo'shib qo'ydi muallif rodrigogq, manba
Yo'qolganim uchun javobni bekor qildim. Agar biror narsa qo'ng'iroq qilmasangiz, shunchaki ishlaysiz, harakat qilib ko'ring.
qo'shib qo'ydi muallif rodrigogq, manba
Yo'qolganim uchun javobni bekor qildim. Agar biror narsa qo'ng'iroq qilmasangiz, shunchaki ishlaysiz, harakat qilib ko'ring.
qo'shib qo'ydi muallif rodrigogq, manba
Yo'qolganim uchun javobni bekor qildim. Agar biror narsa qo'ng'iroq qilmasangiz, shunchaki ishlaysiz, harakat qilib ko'ring.
qo'shib qo'ydi muallif rodrigogq, manba
Hech qachon unutmang! Men sizning kodingizdan ham o'rgandim! :)
qo'shib qo'ydi muallif rodrigogq, manba
Hech qachon unutmang! Men sizning kodingizdan ham o'rgandim! :)
qo'shib qo'ydi muallif rodrigogq, manba

7 javoblar

Men sizdan so'ragan narsa emasligiga amin emasman, lekin siz C dasturidan C dasturidan funktsiyalarni chaqirishingiz mumkinmi, deb so'rasangiz, u holda siz mumkin. Sizning C dasturiga manba kodingiz bor ekan. C ning funktsiyalari C# dasturida mavjud bo'lishi uchun ularni eksport qilish kerak. Sizga bir misolni keltiraman:

MyAddDll.h

#include 

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

Bu erda muhim bo'lgan vazifangiz extern "C" blokiga o'ralganligi. Asosan, bu sizning vazifangiz nomini chalg'itmaslik uchun derleyici haqida ma'lumot beradi. Boshqa muhim qism esa __ declspec (dllexport) . Bu esa, derazaga ushbu funksiyani eksport qilishni bildiradi, shuning uchun uni boshqa dasturdan (C # dasturi kabi) chaqirish mumkin.

MyAddDll.cpp

#include 
#include "MyAddDll.h"

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

Shunga qaramasdan, sizning kodingiz extern "C" blokiga o'ralgan va funktsiyaga __ declspec (dllexport) ni kiritishingiz kerak. Keling, buni buni DLL fayli yoki EXE fayliga kompilyatsiya qilishingiz mumkin. Endi uni C# dan, uni juda to'g'ri oldinga chaqirish uchun:

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));
    }
}

Hammasi shu!

Agar "gotcha" bo'lsa ham C dasturini va C# dasturini 32-bit yoki 64-bit sifatida tuzilganligiga ishonch hosil qiling. C dasturini 64-bit va C# dasturini 32-bit sifatida kompilyatsiya qila olmaysiz. Ular bir xil bit uzunligini foydalanishi kerak.

4
qo'shib qo'ydi
@Luke - C# ga qo'ng'iroq qilishni xohlagan vazifalarni o'z ichiga olgan har qanday S fayllari o'ralgan bo'lishi kerak
qo'shib qo'ydi muallif Icemanind, manba
@Luke - Yana bir narsa. Sizning C dasturingizni Microsoft Visual Studio yordamida tuzilgan deb taxmin qildim. Agar bu noto'g'ri bo'lsa, menga xabar bering va men javobni yangilayman. __ declspec (dllexport) faqat Microsoft kompilyatorida mavjud. Boshqa kompilyatorlar uchun export.def faylini yaratish kerak.
qo'shib qo'ydi muallif Icemanind, manba
Salom, bu juda foydali. Agarda bir nechta S fayllari mavjud bo'lsa, ularning hammasi DLL-ga o'ralgan bo'lishi kerak yoki asosiy DLL-ga o'ralgan holda boshqa C fayllarini chaqirishi mumkinmi?
qo'shib qo'ydi muallif Luke, manba
Rahmat. Bu o'zgarishlarni amalga oshirishda foydali bo'lishi kerak. Cheers
qo'shib qo'ydi muallif Luke, manba
Microsoft Visual Studio dasturining so'nggi bepul versiyasini ishlataman.
qo'shib qo'ydi muallif Luke, manba

Siz allaqachon chop etilganidek, Process.Start ilovasini C# dastur tepsidan foydalanishingiz mumkin.

   //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- biz/kutubxona/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

Ayrim dasturchilar ehtiyot bo'lishni aytmoqdalar. Agar biron-bir uskuna kiritish kutilsa, ehtimol sizning ishingiz to'xtashi mumkin. dasturingiz to'xtaydi hech narsa yo'qligiga ishonch hosil qiling.

Process.Start bilan cmd buyrug'ini ishga tushirishga harakat qilishingiz mumkin, lekin bu juda ko'p. Bu sizning C# tray ilovasini boshqarishsiz boshqa jarayonni boshlaydi:

 Process.Start("start /min cmd /c mycommand");
3
qo'shib qo'ydi
Men uning bajaruvchisini chaqirishni istaganiga 100% ishonchim komil emas. Men uning bajariladigan dasturiga kiritilgan o'ziga xos funktsiyani yoki o'ziga xos funktsiyalarni chaqirishni istashini o'ylayapman.
qo'shib qo'ydi muallif Icemanind, manba
@rodrigogq Mening muammom uchun yaxshiroq yechim DLL funktsiyalarini chaqiradigan ish zarrachasini yaratishdir. Sizning javobingiz biroz farqli dastur uchun foydalanishim mumkin bo'lsa-da, men ham avtomatlashtirishga muhtojman. Cheers
qo'shib qo'ydi muallif Luke, manba

Siz allaqachon chop etilganidek, Process.Start ilovasini C# dastur tepsidan foydalanishingiz mumkin.

   //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- biz/kutubxona/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

Ayrim dasturchilar ehtiyot bo'lishni aytmoqdalar. Agar biron-bir uskuna kiritish kutilsa, ehtimol sizning ishingiz to'xtashi mumkin. dasturingiz to'xtaydi hech narsa yo'qligiga ishonch hosil qiling.

Process.Start bilan cmd buyrug'ini ishga tushirishga harakat qilishingiz mumkin, lekin bu juda ko'p. Bu sizning C# tray ilovasini boshqarishsiz boshqa jarayonni boshlaydi:

 Process.Start("start /min cmd /c mycommand");
3
qo'shib qo'ydi
Men uning bajaruvchisini chaqirishni istaganiga 100% ishonchim komil emas. Men uning bajariladigan dasturiga kiritilgan o'ziga xos funktsiyani yoki o'ziga xos funktsiyalarni chaqirishni istashini o'ylayapman.
qo'shib qo'ydi muallif Icemanind, manba
@rodrigogq Mening muammom uchun yaxshiroq yechim DLL funktsiyalarini chaqiradigan ish zarrachasini yaratishdir. Sizning javobingiz biroz farqli dastur uchun foydalanishim mumkin bo'lsa-da, men ham avtomatlashtirishga muhtojman. Cheers
qo'shib qo'ydi muallif Luke, manba

Siz allaqachon chop etilganidek, Process.Start ilovasini C# dastur tepsidan foydalanishingiz mumkin.

   //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- biz/kutubxona/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

Ayrim dasturchilar ehtiyot bo'lishni aytmoqdalar. Agar biron-bir uskuna kiritish kutilsa, ehtimol sizning ishingiz to'xtashi mumkin. dasturingiz to'xtaydi hech narsa yo'qligiga ishonch hosil qiling.

Process.Start bilan cmd buyrug'ini ishga tushirishga harakat qilishingiz mumkin, lekin bu juda ko'p. Bu sizning C# tray ilovasini boshqarishsiz boshqa jarayonni boshlaydi:

 Process.Start("start /min cmd /c mycommand");
3
qo'shib qo'ydi
Men uning bajaruvchisini chaqirishni istaganiga 100% ishonchim komil emas. Men uning bajariladigan dasturiga kiritilgan o'ziga xos funktsiyani yoki o'ziga xos funktsiyalarni chaqirishni istashini o'ylayapman.
qo'shib qo'ydi muallif Icemanind, manba
@rodrigogq Mening muammom uchun yaxshiroq yechim DLL funktsiyalarini chaqiradigan ish zarrachasini yaratishdir. Sizning javobingiz biroz farqli dastur uchun foydalanishim mumkin bo'lsa-da, men ham avtomatlashtirishga muhtojman. Cheers
qo'shib qo'ydi muallif Luke, manba

Siz C dasturini System.Diagnostics.Process orqali .NET kodidan boshlashingiz mumkin. Bu alohida jarayonda amalga oshiriladi.

Jarayonni .NET kodidan ham o'ldirishingiz mumkin

1
qo'shib qo'ydi
Savol Process orqali ishga tushirilgan konsol ilovasi bilan bir xil bo'lmagan tizim tepsisi ilovasi haqida so'raydi.
qo'shib qo'ydi muallif Ken White, manba

Siz C dasturini System.Diagnostics.Process orqali .NET kodidan boshlashingiz mumkin. Bu alohida jarayonda amalga oshiriladi.

Jarayonni .NET kodidan ham o'ldirishingiz mumkin

1
qo'shib qo'ydi
Savol Process orqali ishga tushirilgan konsol ilovasi bilan bir xil bo'lmagan tizim tepsisi ilovasi haqida so'raydi.
qo'shib qo'ydi muallif Ken White, manba

Siz C dasturini System.Diagnostics.Process orqali .NET kodidan boshlashingiz mumkin. Bu alohida jarayonda amalga oshiriladi.

Jarayonni .NET kodidan ham o'ldirishingiz mumkin

1
qo'shib qo'ydi
Savol Process orqali ishga tushirilgan konsol ilovasi bilan bir xil bo'lmagan tizim tepsisi ilovasi haqida so'raydi.
qo'shib qo'ydi muallif Ken White, manba