PDA

View Full Version : بدست آوردن لیست برنامه های اجرا شده در استارت آپ



farzadsad
چهارشنبه 28 خرداد 1399, 00:44 صبح
سلام دوستان میخواستم ببینم چجوری میتونم به برنامه هایی که از طریق استارت آپ لود شدن را در سی شارپ بدست بیارم؟

ممنون میشم راهنماییم کنید.

Mahmoud.Afrad
چهارشنبه 28 خرداد 1399, 00:59 صبح
لینک زیر را ببینید
https://stackoverflow.com/q/13181009

farzadsad
جمعه 30 خرداد 1399, 01:03 صبح
لینک زیر را ببینید
https://stackoverflow.com/q/13181009

سلام ممنون بابت جوابتون.
چک کردم یک سری از برنامه هارو از طریق رجیستری توی آدرسی که توی این لینک بود دیدم .اما تعداد برنامه هایی که استارت آپ میشن خیلی بیشتره .

میخوام برنامه من که بازه برنامه های باز (اسکرین شات و فیلم برداری از دستکات) بسته بشه گفتم شاید لیست نرم افزار های ستارت آپو در بیارم شاید بتونم این کارو کنن.

حالا جدای از بدست آوردن لیست استارت آپ چجوری میتونم تمام برنامه های نصب شده که الان به حالت ران هستنو ببندم؟

ShayanFiroozi
شنبه 31 خرداد 1399, 20:11 عصر
سلام نمیدونم چیزی که میخواین اینه ؟ :

[DllImport("user32.dll", SetLastError = true)]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);


public static bool ___CheckAppTitles()
{

List<string> vs = new List<string>(new string[]
{
"AppTitle3",
"AppTitle2"

});


if (___Is_App_Running(vs) == true)


{
return true;
}


try
{


if (FindWindow("AppClass1" , null) != IntPtr.Zero)
{
return true;
}



if (FindWindow("AppClass2", null) != IntPtr.Zero)
{
return true;
}



}
catch
{
return true;
}


return false;
}


private static bool ___Is_App_Running(List<string> Apps_Window)
{


try
{


Process[] processlist = Process.GetProcesses();


foreach (Process process in processlist)
{
if (!String.IsNullOrEmpty(process.MainWindowTitle))
{
foreach (string AppTitle in Apps_Window)
{
if (process.MainWindowTitle.ToLower().Contains(AppTit le) == true ||
process.MainWindowTitle.ToUpper().Contains(AppTitl e) == true) return true;
}


}
}


return false;
}
catch
{
return false;
}


}

ضمنا این کد رو میتونی توی یه تایمر بذاری هر مثلا 10 ثانیه یکبار چک کنه.
نکته : برای بدست آوردین اسم کلاس برنامه ها از نرم افزار SPY++ یا چیزی شبیه به اون استفاده کنین.

SPY++ (https://docs.microsoft.com/en-us/visualstudio/debugger/introducing-spy-increment?view=vs-2019)
winSpector (http://web.archive.org/web/20090916053057/http://www.windows-spy.com/)