بعد از انتشار پست ساخت کامپایلر یا ویروس میکر بعضی از دوستامون یکم گیج و مبهوت بین پست های مربوط به سی ام دی یا bat و پست های سی شارپی سرگردان و حیران موندن که حالا باید چیکار کنیم تا این دو بحث رو بهم ربط بدیم
این سوال بخاطر این تو ناحیه ی مخچه ی دوار مغزمون طراحی میشه که ما هنوز جرئت مهاجرت از cmd به یه زبان حرفه ای رو تجربه نکردیم.
هرچند تولد این سوال خودش خوش اقبالیه و نشون میده که شما در حال برداشتن گامی بلند در این راه هستین ;)
بریم سر اصل مطلب :
برای اینکه از طریق سی شارپ دستورات سی ام دی رو اجرا کنیم به شکل زیر عمل میکنیم
یه پروژه ایجاد کنید (کنسول غیر کنسول فرقی یوخ) من تو مثالم غیرکنسولیش رو نشون میدم.
دو تا دکمه رو صفحه فرم تون قرار بدین.
ابتدا کتابخانه زیر رو لازم داریم :
using System.Diagnostics;
برای دکمه شماره یک کد زیر رو تعریف میکنیم
string virus32 = "/C netstat -an";
Process.Start("CMD.exe", virus32 );
این کد دستور اجرا شدن سی ام دی رو با شرطی که ما گفتیم رو میده
شرط کرده بودیم در سی ام دی دستور netstat -an رو بزنه
حالا فرض کنید من میخوام صد تا دستور رو در یک صفحه داس وارد کنم
رشته رو به شکل زیر تغییر میدیم
string virus32 = "/C netstat -an && ipconfig && pause";
Process.Start("CMD.exe", virus32 );
سه دستور رو وارد کردم که دستور آخر برای نمایش درستی کار صادر شده
خوب به کمک این کدها ما تونستیم دستورات داس رو بصورت مستقیم در سی شارپ هم استفاده کنیم
ولی حالا یه مشکل دیگه...
من دوست ندارم مشتریام وقتی دارن دار فانی رو وداع میگن اون صفحه مشکی رنگ رو ببینن!
پس باید دستوراتمون مخفی اجرا بشن
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C msg virus-32 hi virus32 ";
process.StartInfo = startInfo;
process.Start();
همون رشته دستوراتی که در ابتدا بهتون توضیح دادم رو میشه اینجا هم استفاده کرد که در این صورت دستورات مخفیانه اجرا میشن.
من اینجا دستور دادم برنامه ام که مخفی داره اجرا میشه سرشو بیاره بالا و بهم سلام بده (تا بفهمم کار داره درست پیش میره)
شما میتونید چیزای دیگه ای بخوایید.
[- سربلند باشید -]
عالی