چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
با سلام
من یه برنامه نوشتم و میخوام هنگامی که برنامم در حال اجراست اگر برنامه فایل اکسپلورر توسط کاربر اجرا شد یک عمل خاص انجام بگیره.
با دستور if میخوام بنویسم اما در قسمت شرط گیر کردم.
به طور مثال:
if (فایل اکسپلورر اجرا شد)
}
MessageBox.Show("لطفا برنامه فایل اکسپلورر را ببندید");
{
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
با سلام
اگر سرچ کنید زودتر به نتیجه میرسید
برای کار با Process ها کلاس System.Diagnostics.Process را مطالعه کنید
foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcessesByName("not epad"))
{
p.CloseMainWindow();
}
https://social.msdn.microsoft.com/Fo...=csharpgeneral
نام پروسس را از TaskManager استخراج کنید
موفق باشید
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
خیلی ممنون مهندس
ولی اینطوری هم تیجه نگرفتم
foreach (Process p in Process.GetProcesses())
{
if (p.ProcessName.ToLower() == "explorer")
MessageBox.Show("Please Close The File Explorer", "Warning");
}
دستوراتی هم که شما نوشتید برای برنامه نوت پد کار میکنه اما برای فایل اکسپلورر پنجره Shutdown Windows باز میشه
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
با سلام
آهان می خوایید Explorer.exe رو ببندید
چون این از پروسس های مورد نیاز ویندوز هست بهتره با دستورات داس ببندینش
taskkill /f /im explorer.exe
که اگر در فایل bat قرارش بدید explorer رو میبنده
حالا توسط سی شارپ :
System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("taskkill.exe" , " /f /im explorer.exe");
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
موفق باشید
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
سلام
ببخشید متوجه نشدممنظورتون اینه این دستور رو در یک فایل bat قرار بدم بعد فراخوانیش کنم؟
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
نقل قول:
نوشته شده توسط
Javadprogrammer10
سلام
ببخشید متوجه نشدممنظورتون اینه این دستور رو در یک فایل bat قرار بدم بعد فراخوانیش کنم؟
با سلام
کد هر دو رو قرار دادم، کد داس رو قرار دادم برای اطلاعات عمومی خودتان.
همون کد سی شارپ رو اجرا کنید
private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("taskkill.exe" , " /f /im explorer.exe");
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
}
موفق باشید
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
نقل قول:
نوشته شده توسط
danialafshari
با سلام
کد هر دو رو قرار دادم، کد داس رو قرار دادم برای اطلاعات عمومی خودتان.
همون کد سی شارپ رو اجرا کنید
private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("taskkill.exe" , " /f /im explorer.exe");
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
}
موفق باشید
خب وقتی شما explorer.exe رو ببندید پروسس اصلی مدیریت پنجره های ویندوز بسته میشه. و کاربر هیچ کاری نمیتونه بکنه مگر اینکه تسک منیجر رو با ctrl+alt+del فعال کنه و اونجا new task رو بزنه و دوباره explorer.exe رو اجراش کنه.
با توجه به چیزایی که گفتم اینکار میتونه کاربر رو اذیت کنه . (البته نمیدونم هدفتون از اینکار چیه:لبخندساده:)
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
خیلی ممنون از راهنمایی تون
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
نقل قول:
نوشته شده توسط
رامین مرادی
خب وقتی شما explorer.exe رو ببندید پروسس اصلی مدیریت پنجره های ویندوز بسته میشه. و کاربر هیچ کاری نمیتونه بکنه مگر اینکه تسک منیجر رو با ctrl+alt+del فعال کنه و اونجا new task رو بزنه و دوباره explorer.exe رو اجراش کنه.
با توجه به چیزایی که گفتم اینکار میتونه کاربر رو اذیت کنه . (البته نمیدونم هدفتون از اینکار چیه:لبخندساده:)
در واقع میخوام یه برنامه بنویسیم که برای فایل اکسپلورر رمز عبور تعیین کنم
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
برنامه ای که نوشتم با روشن شدن رایانه به صورت مخفی شروع به فعالیت میکنه و اگر فایل اکسپلورر اجرا شد برای وررود به فایل اکسپلورر رمز عبور میخواد و تنها جایی که گیر کردم دستوری هست که بررسی کنه فایل اکسپلورر اجرا شده یانه در واقع اگه به اولین سوالم دقت کنید متوجه منظور بنده میشید
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
نقل قول:
نوشته شده توسط
Javadprogrammer10
با سلام
من یه برنامه نوشتم و میخوام هنگامی که برنامم در حال اجراست اگر برنامه فایل اکسپلورر توسط کاربر اجرا شد یک عمل خاص انجام بگیره.
با دستور if میخوام بنویسم اما در قسمت شرط گیر کردم.
به طور مثال:
if (فایل اکسپلورر اجرا شد)
}
MessageBox.Show("لطفا برنامه فایل اکسپلورر را ببندید");
{
مشکل بنده دستور بستن نیست
مشکل شرط بررسی در حال اجرا بودن فایل اکسپلورر هست
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
نقل قول:
نوشته شده توسط
Javadprogrammer10
مشکل بنده دستور بستن نیست
مشکل شرط بررسی در حال اجرا بودن فایل اکسپلورر هست
خب برادر من کافی بود از پست اولم استفاده میکردید
نقل قول:
نوشته شده توسط
danialafshari
با سلام
اگر سرچ کنید زودتر به نتیجه میرسید
برای کار با Process ها کلاس System.Diagnostics.Process را مطالعه کنید
foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcessesByName("not epad"))
{
p.CloseMainWindow();
}
https://social.msdn.microsoft.com/Fo...=csharpgeneral
نام پروسس را از TaskManager استخراج کنید
موفق باشید
به صورت متد نوشتمش:
public bool IsExplorer()
{
bool result = false;
foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcessesByName("exp lorer"))
{
result = true;
}
return result;
}
استفاده:
private void button1_Click(object sender, EventArgs e)
{
var a = IsExplorer();
MessageBox.Show(a.ToString());
}
موفق باشید
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
نقل قول:
نوشته شده توسط
danialafshari
خب برادر من کافی بود از پست اولم استفاده میکردید
به صورت متد نوشتمش:
public bool IsExplorer()
{
bool result = false;
foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcessesByName("exp lorer"))
{
result = true;
}
return result;
}
استفاده:
private void button1_Click(object sender, EventArgs e)
{
var a = IsExplorer();
MessageBox.Show(a.ToString());
}
موفق باشید
ببخشید این دستوری که نوشتید همش پیغامش true هست
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
نقل قول:
نوشته شده توسط
Javadprogrammer10
ببخشید این دستوری که نوشتید همش پیغامش true هست
خب بایدم true باشه. به اون نوشته من توجه نکردید explorer یکی از پروسس های اصلی ویندوزه . دسکتاپ شما .فایل منیجر شما. هر پنجره ای که ظاهر میشه توسط این پروسس مدیریت میشه. همیشه این پروسس از زمان لاگین در حال اجراس. اگه ببندیدش کل دسکتاپتون بسته میشه و فقط یه عکس پس زمینه براتون میمونه.
من متوجه م شما منظورتون چیه. دوستمون کدی که گفتن برای کار شما مناسب نیست . شما باید دنبال بستن فایل منیجر باشید نه اکسپلورر اصلی. کد زیر رو تست کنید و نتیجه رو همینجا بگید.
Process me = Process.GetCurrentProcess();
foreach (Process p in Process.GetProcesses())
{
if (p.Id != me.Id)
p.CloseMainWindow();
}
در ضمن این کد ها رو بهتره تو ماشین مجازی تست کنید .
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
با سلام
من دیگه واقعاً نمیدونم منظور شما چیه!
خب مگر نگفتید
نقل قول:
مشکل بنده دستور بستن نیست
مشکل شرط بررسی در حال اجرا بودن فایل اکسپلورر هست
نقل قول:
if (فایل اکسپلورر اجرا شد)}
MessageBox.Show("لطفا برنامه فایل اکسپلورر را ببندید");
{
if (IsExplorer())
{
MessageBox.Show("لطفا برنامه فایل اکسپلورر را ببندید");
}
خب کار متد هم همونه وقتی True برگردونه یعنی Explorer بازه
اگر شما بار اول explorer رو میبندید و میخاین دفعه بعدی که کاربر باز کرد مطلع شوید باید کد رو درون تایمر یا حلقه while درون ترد قرار بدید
که راه بهترش اینه با دستور رجیستری TaskManager رو Disable کنید
کار با رجیستری هم در سایت فراوانه، جستجو کنید
موفق باشید
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
نقل قول:
نوشته شده توسط
رامین مرادی
خب بایدم true باشه. به اون نوشته من توجه نکردید explorer یکی از پروسس های اصلی ویندوزه . دسکتاپ شما .فایل منیجر شما. هر پنجره ای که ظاهر میشه توسط این پروسس مدیریت میشه. همیشه این پروسس از زمان لاگین در حال اجراس. اگه ببندیدش کل دسکتاپتون بسته میشه و فقط یه عکس پس زمینه براتون میمونه.
من متوجه م شما منظورتون چیه. دوستمون کدی که گفتن برای کار شما مناسب نیست . شما باید دنبال بستن فایل منیجر باشید نه اکسپلورر اصلی. کد زیر رو تست کنید و نتیجه رو همینجا بگید.
Process me = Process.GetCurrentProcess();
foreach (Process p in Process.GetProcesses())
{
if (p.Id != me.Id)
p.CloseMainWindow();
}
در ضمن این کد ها رو بهتره تو ماشین مجازی تست کنید .
دوست عزیز بنده عرض کردم من نمیخوام فایل اکسپلورر رو ببندم اگه به اولین سوالم دقت کنید می بینید که بستن فایل اکسپلورر یک مثال بود بنده دستوری رو میخوام که بررسی کنه فایل اکسپلورر در حال اجراست یانه
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
نقل قول:
نوشته شده توسط
danialafshari
با سلام
من دیگه واقعاً نمیدونم منظور شما چیه!
خب مگر نگفتید
if (IsExplorer())
{
MessageBox.Show("لطفا برنامه فایل اکسپلورر را ببندید");
}
خب کار متد هم همونه وقتی True برگردونه یعنی Explorer بازه
اگر شما بار اول explorer رو میبندید و میخاین دفعه بعدی که کاربر باز کرد مطلع شوید باید کد رو درون تایمر یا حلقه while درون ترد قرار بدید
که راه بهترش اینه با دستور رجیستری TaskManager رو Disable کنید
کار با رجیستری هم در سایت فراوانه، جستجو کنید
موفق باشید
بله متوجه شدم از true اما در صورتی که فایل اکسپلورر بسته بود باز هم پیغام true بود
خیلی ممنون از راهنماییتون مهندس
2 ضمیمه
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
نقل قول:
نوشته شده توسط
Javadprogrammer10
بله متوجه شدم از true اما در صورتی که فایل اکسپلورر بسته بود باز هم پیغام true بود
خیلی ممنون از راهنماییتون مهندس
من کد رو قبلش تست کردم که اینجا گذاشتم
همونطور که توی عکس میبینید به درستی کار میکنه
ضمیمه 147904
پروژه رو ضمیمه کردم
نقل قول: چطور در صورت اجرای برنامه فایل اکسپلورر در ویندوز یک عمل خاص تعریف کنیم؟
نقل قول:
نوشته شده توسط
danialafshari
من کد رو قبلش تست کردم که اینجا گذاشتم
همونطور که توی عکس میبینید به درستی کار میکنه
ضمیمه 147904
پروژه رو ضمیمه کردم
درسته ولی نمیدونم چرا رو سیستم من همش true هست؟!