PDA

View Full Version : باز نکردن دوباره برنامه باز شده



m.khani_121
پنج شنبه 09 شهریور 1391, 09:33 صبح
سلام دوستان . میخوام تو برنامه ای که نوشتم اگه کاربر برنامه رو باز کرد و اون رو minimize کرد و دوباره رفت رو آیکون برنامه ، برنامه رو باز کرد دوباره یه برنامه جدید باز نشه ،همون minimize بیاد بالا . . .

ممنون

Saman_12
پنج شنبه 09 شهریور 1391, 12:12 عصر
سلام شما میتونید پروسس خودتون رو با پروسس های دیگه مقایسه کنید و بعد با API ShowWindow پروسس اولیه رو نرمال کنید و برنامه کنونی رو خاتمه بدید.(Main Void) :


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

m.khani_121
پنج شنبه 09 شهریور 1391, 14:13 عصر
این API روی همه ی ویندوز ها کار میده ؟؟؟

Saman_12
پنج شنبه 09 شهریور 1391, 14:40 عصر
این API روی همه ی ویندوز ها کار میده ؟؟؟
تا se7en که جواب داده!(Min Requires OS : NT 3.1 , 95)