PDA

View Full Version : سوال: بستن فایل بر اساس آدرس ذخیره اش



دلاوران
سه شنبه 05 مرداد 1389, 21:41 عصر
سلام اعضای گرانقدر جامعه ی برنامه نویس لطفا راهی را به من نشان دهید که به کمک آن یک فایل exe را بر اساس آدرس ذخیره اش در رایانه ببندم .

Alghoochi
سه شنبه 05 مرداد 1389, 21:50 عصر
دوست عزیز یه خورده توضیح بدی ممنون می شم.

nasim bahari
سه شنبه 05 مرداد 1389, 21:59 عصر
سلام.....

یه سری لینک واست گذاشتم که در مورد کار با پروسس هستش.....

http://www.barnamenevis.org/forum/showthread.php?t=197501&highlight=%D9%BE%D8%B1%D9%88%D8%B3%D8%B3

http://www.barnamenevis.org/forum/showthread.php?t=168646&highlight=%D9%BE%D8%B1%D9%88%D8%B3%D8%B3

http://www.barnamenevis.org/forum/showthread.php?t=160335&highlight=%D9%BE%D8%B1%D9%88%D8%B3%D8%B3

http://www.barnamenevis.org/forum/showthread.php?t=147328&highlight=%D9%BE%D8%B1%D9%88%D8%B3%D8%B3

http://www.barnamenevis.org/forum/showthread.php?t=147012&highlight=%D9%BE%D8%B1%D9%88%D8%B3%D8%B3

http://www.barnamenevis.org/forum/showthread.php?t=143572&highlight=%D9%BE%D8%B1%D9%88%D8%B3%D8%B3

http://www.barnamenevis.org/forum/showthread.php?t=150528&highlight=%D8%A8%D8%B3%D8%AA%D9%86+%D9%BE%D8%B1%D9 %88%D8%B3%D8%B3

موفق باشی.......

Saman_12
سه شنبه 05 مرداد 1389, 22:18 عصر
شما می توانید با استفاده PId ,Handle و عنوان یک برنامه آونو ببندی.(البته من روشی رو که با داشتن مسیر فایل بشه اونو بست نمی دونم:گریه:)
حالا بگو چرا مسیر ذخیره؟؟؟؟؟؟؟:متفکر:

mahdi1373
چهارشنبه 06 مرداد 1389, 10:33 صبح
سلام،
شما بدون آدرس هم میتونی اونو ببندی، فقط کافیه نام فایل exe اش رو (که همون نام پروسس اش هست) بدونی. این هم دستورش:


Shell("tskill prname")
بجای prname اسم فایل رو (بدون .exe) بزار.

Saman_12
چهارشنبه 06 مرداد 1389, 10:52 صبح
اگه کدی که جناب mahdi1373 دادن رو توی یک تایمر بزاری که مثلا اینتروالش 450 هست سیستم هنگ میکنه و مجبور به ریست مشید امتحانش مجانیه!:لبخندساده:
البته بنده در کارتون دخالت نمی کنم ولی شما با داشتن همون اسم پراسس میتونید اونو Kill کنید.(البته نباید پسوند اونو وارد کنید مثل ".exe")
برای Kill :

Process.GetProcessesByName("Process Name").First.Kill()
البته در این حالت اگه پراسس بسته باشه یا وجود نداشته باشه به Error بر می خورین برای اینکه به Error بر نخورین می تونید به این روش از اون کد استفاده کنید :


Try
Process.GetProcessesByName("Process Name").First.Kill()
Catch ex As Exception
MsgBox("The Process Not Find")
End Try

کد جناب mahdi1373 رو هم اگه به این صورت استفده کنید بهتره :

Shell("Taskkill /f /im (Process name) /t", AppWinStyle.Hide, Wait:=True)
در ضمن این کد با کد mahdi1373 فرق می کنه توی کد ایشون اگه Pid پروسس رو بدبد هم اونو میبنده ولی اگه یه برنامه اسمش عددی باشه کد ایشون نمیتونه اونو ببنده.(در ضمن پرانتز هارو در کد من بردادرید یعنی بدون پرانتز فقط اسم رو بنویسید و پسوند فایل رو هم ذکر کنید مثلا همون ".exe" و برای بستن برنامه با Pid توی کد من جای "im" بنویسید "pid" بعدشم PId پروسس رو وارد کنید )
میتونید روی Explorer امنحان کنید حالا تمام زیر پراسس ها نیز بسته می شوند و موقع اجرا کاربر هیچی حس نمی کنه!:لبخند:

دلاوران
چهارشنبه 06 مرداد 1389, 14:11 عصر
دوستان شما این کدها رو در برنامه نویسی vb.net 2005 به بالا هم امتحان کرده اید اگه نه که حتما این کار رو انجام بدین . من به زودی با قدرت در محفل شما حاضر میشم جامو خالی نگهدارید.

Saman_12
چهارشنبه 06 مرداد 1389, 14:16 عصر
من 2008 کار می کنم!!!

Saman_12
چهارشنبه 06 مرداد 1389, 16:48 عصر
در ضمن من یادم رفت بگم توی این کد مجاز به استفاده از کاراکتر * هستید.(جالبه نه؟)

Shell("Taskkill /f /im (Process name) /t", AppWinStyle.Hide, Wait:=True)
تو مثال زیر ما هر بر نامه ای که اول اسمش حرف A به کار رفته باشه می بندیم :

Shell("Taskkill /f /im A*.* /t", AppWinStyle.Hide, Wait:=True)
انشا ا... که خوب توضیح دادم؟؟؟؟

nasim bahari
چهارشنبه 06 مرداد 1389, 19:33 عصر
دوستان شما این کدها رو در برنامه نویسی vb.net 2005 به بالا هم امتحان کرده اید اگه نه که حتما این کار رو انجام بدین . من به زودی با قدرت در محفل شما حاضر میشم جامو خالی نگهدارید.

اسمت که خطرناکه.....

کم کم خودت هم داری ترسناک میشی......:شیطان:


2010-2005 = ؟