PDA

View Full Version : سوال: یک سوال در مورد ساخت فایل exe (ساختنش را بلدم فقط سوال دارم)



hosseinghaheri
یک شنبه 26 مرداد 1393, 20:16 عصر
سلام ، من تونستم کد هام را داخل یه فایل exe به صورت Consol application کامپایل کنم و فایل exe بسازم!
اما می خوام که اون فایل exe به صورت Windows application باشه!
چطوری میتونم کدهام را طوری بنویسم و کامپایل کنم که برنامه به صورت windows application باشه!
ممنون می شم کمک کنید!

Rejnev
یک شنبه 26 مرداد 1393, 20:55 عصر
کافیه توی تابع main یا هر جای دیگه از برنامه یک windows form ایجاد کنی و نمایش بدی.
من درست متوجه نمیشم که چیکار دارین میکنین و آیا دانسته دارین راه اشتباه رو میرین یا نه... ولی این کاری که میخواید انجام بدین با کد نویسی خیلی طاقت فراست. بهتره توی ویژوال استودیو از منوی فایل، پروژه جدید، نوع پروژه ویندوز فرم رو انتخاب کنین تا یک پروژه اولیه رو خودش ایجاد کنه و شما ادامه بدید

hosseinghaheri
دوشنبه 27 مرداد 1393, 10:55 صبح
در اصل می خوام توی Program.cs در کنسول اپلیکشین فرم و باتن و... ایجاد کنم!

البته همش با کد!
کدنویسیش واسم مشکلی نداره ولی مثلا من می خوام یه فرم ایجاد کنم ولی یوزینگ windows.from را ازش ارور می گیره!
بعد اگه بخوام با خوده ویژوال استدیو یه فرم ادد کنم فرم ادد میشه ولی وقتی برنامه ران میشه زیر فرمم اون محیط کنسول هنوز هستش!
می خوام همه ی این کارایی که توی WindowsApplication به صورت ویژوال انجام می دادم را حال تو Consol application به صورت تماما کد انجام بدم و تمام کد ها درون یک فایل باشه!

drsina
دوشنبه 27 مرداد 1393, 11:26 صبح
سلام . توو refrence ها windows.Forms رو ادد کن درست میشه .

یه سوال به نظرت ماکروسافت برای چی ویزاردشو برا فرم قرار داده . .... ؟!

اگر نمی خوای اینکارو کنی برای این که اعصابت خوورد نشه ، InitialComponent یه فرم ویزاردی رو بردار و در main کنسولت بزار .

hosseinghaheri
دوشنبه 27 مرداد 1393, 11:31 صبح
سلام . توو refrence ها windows.Forms رو ادد کن درست میشه .

یه سوال به نظرت ماکروسافت برای چی ویزاردشو برا فرم قرار داده . .... ؟!

اگر نمی خوای اینکارو کنی برای این که اعصابت خوورد نشه ، InitialComponent یه فرم ویزاردی رو بردار و در main کنسولت بزار .

مرسی ولی تموم این کارایی که گفتی و گفتم را فقط با کد باید انجام بدم و تو یک صفحه !
حالا چطوری Windows.Form را از refrence با کدنویسی ادد کنم؟؟؟

drsina
دوشنبه 27 مرداد 1393, 23:09 عصر
میدونم ، گفتم دردسر داره ، کداشو از اون جا کپی کن .
برای اضافه کردن از solution explorer برو به Reference راست کلیک ، ادد رفرنس توو Assemblies سرچ کن ، Windows.Form حالا اونو توو namespace پروژه using کن

hosseinghaheri
سه شنبه 28 مرداد 1393, 10:36 صبح
[QUOTE=drsina;2084661
برای اضافه کردن از solution explorer برو به Reference راست کلیک ، ادد رفرنس توو Assemblies سرچ کن ، Windows.Form حالا اونو توو namespace پروژه using کن[/QUOTE]

ببین این باز رفت تو محیط ویژوال ! فقط کد!
به هر حال مرسی!

drsina
سه شنبه 28 مرداد 1393, 12:33 عصر
منظورمو نگرفتی !!! من کدشو میگم از اونجا بردار ، کدش توو کل ویژوال استدیو یکیه !!! تو میخوای کد بزنی اونقدر باید یکی یکی این پراپرتی ها رو تغییر بدی که حالت گرفته میشه ....... من بهت گفتم کاری می کنی همونه .....
الان اینو برات نوشتم ... ببین ... متد Create رو کلشو من از ویزارد ویژوال کپی کردم !
حالا شما کدی که میخوای اینه ...
122439

hosseinghaheri
سه شنبه 28 مرداد 1393, 12:45 عصر
مرسی ! حالا چطوری خود کنسول که پشت فرم باز میشه را بردارم

drsina
سه شنبه 28 مرداد 1393, 13:24 عصر
using System.Runtime.InteropServices;



[DllImport("kernel32.dll")] static extern IntPtr GetConsoleWindow();


[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);


const int SW_HIDE = 0;
const int SW_SHOW = 5;

var handle = GetConsoleWindow();

// Hide
ShowWindow(handle, SW_HIDE);

// Show
ShowWindow(handle, SW_SHOW);




// Show

drsina
سه شنبه 28 مرداد 1393, 13:33 عصر
البته این مشکلی که داره اینه که یه لحظه نشون میده . شما میتونی اینکاراهم بکنی ولی فکر نکنم بخوای ویندوزیش کنی :


http://i.stack.imgur.com/Hh3gP.png

اینم ببین : http://www.codeproject.com/Articles/2537/Running-console-applications-silently