AAtoZZ
چهارشنبه 10 فروردین 1390, 15:19 عصر
من می خواستم با اجرای دوباره ی فایل Exe دوباره برنامه باز نشه و روی برنامه باز شده قبلی Focus بشه.
با این کد جلوی دوباره باز شدن برنامه رو گرفتم
Process currentProcess = Process.GetCurrentProcess();
if (Process.GetProcessesByName(currentProcess.Process Name,
currentProcess.MachineName).Length > 1)
{
MessageBox.Show("برنامه در حال اجراست", "توجه");
return;
}
حالا می خوام دوباره روی همون برنامه در حال اجرا Focus صورت بگیره، اما این رو نتونستم. (هم XP هم 7)
این کد ساده ظاهرا باید کار کنه اما کار نمی کنه
[DllImport("User32.dll")]
private static extern bool SetForegroundWindow(IntPtr hWnd);
void bringWindowToFocus()
{
SetForegroundWindow(windowHandle);
}
QuestionHow to focus another application from .Net? (http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/88f4317b-7446-4a11-887e-4ee8baee810c)
AnswerPostMessage & Findwindow not working on win 7? (http://social.msdn.microsoft.com/Forums/pl-PL/csharplanguage/thread/1dcae178-50e8-446f-9c45-f016ad0f7fc3)
با این کد جلوی دوباره باز شدن برنامه رو گرفتم
Process currentProcess = Process.GetCurrentProcess();
if (Process.GetProcessesByName(currentProcess.Process Name,
currentProcess.MachineName).Length > 1)
{
MessageBox.Show("برنامه در حال اجراست", "توجه");
return;
}
حالا می خوام دوباره روی همون برنامه در حال اجرا Focus صورت بگیره، اما این رو نتونستم. (هم XP هم 7)
این کد ساده ظاهرا باید کار کنه اما کار نمی کنه
[DllImport("User32.dll")]
private static extern bool SetForegroundWindow(IntPtr hWnd);
void bringWindowToFocus()
{
SetForegroundWindow(windowHandle);
}
QuestionHow to focus another application from .Net? (http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/88f4317b-7446-4a11-887e-4ee8baee810c)
AnswerPostMessage & Findwindow not working on win 7? (http://social.msdn.microsoft.com/Forums/pl-PL/csharplanguage/thread/1dcae178-50e8-446f-9c45-f016ad0f7fc3)