ساخت فایل EXE در حالت اجرا
سلام
من می خوام برنامه ای بسازم که شامل 2 تا فرم باشه که توی فرم اول بشه یک سری تنظیمات توی فرم دوم انجام داد و بعد در انتها گزینه وجود داشته باشه که بشه یک فرمت اجرایی EXE از فرم دوم ساخت
مثال فرض کنید من بخوام برنامه برای شبیه سازی آزمون تستی بسازم
توی فرم اول باید بشه سوالات و جوابا رو اضافه کرد و فرم دوم که یک آزمون رو نشون میده میخوام بشه ازش یه فرم اجرایی ساخت
عملاً می خوام از فرم موجود یک نسخه EXE جدید بسازم
کسی راهی بلده؟
نقل قول: ساخت فایل EXE در حالت اجرا!!!
نقل قول:
نوشته شده توسط
askari021
سلام
من می خوام برنامه ای بسازم که شامل 2 تا فرم باشه که توی فرم اول بشه یک سری تنظیمات توی فرم دوم انجام داد و بعد در انتها گزینه وجود داشته باشه که بشه یک فرمت اجرایی EXE از فرم دوم ساخت
مثال فرض کنید من بخوام برنامه برای شبیه سازی آزمون تستی بسازم
توی فرم اول باید بشه سوالات و جوابا رو اضافه کرد و فرم دوم که یک آزمون رو نشون میده میخوام بشه ازش یه فرم اجرایی ساخت
عملاً می خوام از فرم موجود یک نسخه EXE جدید بسازم
کسی راهی بلده؟
سلام.
تا حالا ندیدم کسی چنین کاری انجام بده ولی یک راهکار دارم.
شما دو پروژه ایجاد میکنید با یک دیتابیس ، یکی برای طراحی سوالات و یکی هم برای پاسخ دادن به آن سوالات .
در پروژه اول که طراحی سوالات هست ، زمانی که می خواید به صفحه سوالات برید برای جواب دادن به آنها ، فایل Exe موجود درون پوشه debug آن(پروژه دوم) اجرا کنید با دستوران موجود که در C# هست.:تشویق:
موفق باشید.
نقل قول: ساخت فایل EXE در حالت اجرا
اگه واقعا نیازه که یه اگزه دیگه تولید کنین این امکان وجود داره .... خود دات نت امکان استفاده از کامپایلشو به شما میده ... میتونید یه برنامه ی دیگه generate کنید ... که ازش تو سرور های تروجان هم استفاده میشه .... نمیدونم انتی ویروس گیر بده یا نه اما در کل خوبه ...
از ICodeCompiler و CSharpCodeProvider استفاده کنید[جست و جو ] ... (تو همین انجمن یادمه بحث شده بود حدود 1 سال پیش :لبخند:)
البته روش استفاده از دو پروژه هم خوبه اما این جواب سوالتونه .... (بسته به نیاز هاتون هر دوتا راه حل هستن ... یه فرق کوچیک که دارن اینه دومی پرتابل میشه اما اولی یه دیتابیس همراهش میخواد)
نقل قول: ساخت فایل EXE در حالت اجرا
سلام این رو قبلا درست کرده بود ولی تحت کنسول میشه و تحت وین فرم رو نمیدونم شاید بدردتون بخوره برای اینکه که کار کنه دو تا تکست باکس و دو باتن قرار بدید و تو یکی از باتن ها کد زیر رو بنویسید البته دقت کنید که باید using ,System.CodeDomSystem.CodeDom.Compiler رو هم انجام بدبد به صورت زیر
using System.CodeDom;
using System.CodeDom.Compiler;
CSCodeProvider codeProvider = new CSCodeProvider();
ICodeCompiler icc = codeProvider.CreateCompiler();
string Output = "c:\\Out.exe";
Button ButtonObject = (Button)sender;
TextBox2.Text = "";
CompilerParameters parameters = new CompilerParameters();
CompilerResults results = default(CompilerResults);
parameters.GenerateExecutable = true;
parameters.OutputAssembly = Output;
results = icc.CompileAssemblyFromSource(parameters, TextBox1.Text);
if (results.Errors.Count > 0) {
TextBox2.ForeColor = Color.Red;
CompilerError CompErr = default(CompilerError);
foreach ( CompErr in results.Errors) {
TextBox2.Text = TextBox2.Text + "Line number " + CompErr.Line + ", Error Number: " + CompErr.ErrorNumber + ", '" + CompErr.ErrorText + ";" + Environment.NewLine + Environment.NewLine;
}
} else {
TextBox2.ForeColor = Color.Blue;
TextBox2.Text = "Success!";
if (ButtonObject.Text == "Run")
Process.Start(Output);
}