PDA

View Full Version : سوال: اجرای برنامه



EBS262
شنبه 05 اسفند 1391, 20:08 عصر
سلام به دوستان عزیز اگه بخوایید برنامه کاملی بنوسید مثل Winamp که البته نمی شه با سی شارپ نوشت.باید جزییات زیادی اذافه کنید.
خب منم می خوام کاری کنم که برنامه رو اگه هر چند بار اجرا کنی یک بار باز بشه,البته راهی که من بلدم خیلی طولانی و به قول معروف به ترکستان است.
می خواستم بدونم شما راهی بلدین؟

m.khani_121
شنبه 05 اسفند 1391, 20:21 عصر
سلام دوست عزیز . اگه این تابع رو تو لود فرم اولیه بزاری ، برنامه جدیده رو میبنده .


[DllImport("user32", EntryPoint = "ShowWindow")]
private static extern int ShowWindow(int hwnd, int val);
private static void CheckWinState()
{
Process current = Process.GetCurrentProcess();
Process[] all = Process.GetProcesses();

foreach (Process p in all)
{
if ((p.ProcessName == current.ProcessName) & (p.Id != current.Id))
{
if (p.MainModule.FileName == current.MainModule.FileName)
{
int hwnd = p.MainWindowHandle.ToInt32();
const int normal = 1;
ShowWindow(hwnd, normal);
current.Kill();
}
}
}
}

EBS262
شنبه 05 اسفند 1391, 20:31 عصر
ممنون دوست گرامی اما مشکلی هست اونم اینکه اثری نداره.
خب اگه واضح تر بگم مدیا پلیر رو تصور کنید اگه شما 1000 تا فایل هم باز کنی فقط یک بار بر نامه لود میشه و اونا رو می خونه ولی با این روش فایده ای نداره یه روش بهتر می خواد البته نمی دونم که اونها چطور این کار رو می کنن, شاید از یک دیتابیس استفاده می کنن یا شاید از یه دی ال ال؟