با سلام خدمت همه شما
این اولین پست منه ببخشید که با سوال شروع شد
میخواستم ببینم کسی میتونه یه سورس delete قوی البته به جز دستور kill و تابع api DeleteFile
چون این دو دستورات بعضی از فایل ها رو delete نمیکنن مثلاً آنتی ویروسها نمیدونم چیکار میکنن که این ویروس ها رو که در حالت اجرا هم هستن delete میکنن
اگه کسی بلده بگه که خیلی کارم گیره

ممنون

(۱۴-فروردین-۱۳۸۸, ۱۳:۵۷:۲۴)mohsen0025 نوشته است: [ -> ]میخواستم ببینم کسی میتونه یه سورس delete قوی البته به جز دستور kill و تابع api DeleteFile
چون این دو دستورات بعضی از فایل ها رو delete نمیکنن مثلاً آنتی ویروسها نمیدونم چیکار میکنن که این ویروس ها رو که در حالت اجرا هم هستن delete میکنن
اگه کسی بلده بگه که خیلی کارم گیره
ممنون
آنتی ویروسها اول پروسه ویروس را میبندن( یعنی به فایل در حال اجرا خاتمه میدن)
بعد راحت با همون deletefile حذفش میکنن
به نظرت اگه پروسه ویروس را توی حافظه نبندن ، حذفش هم فایده ای داره ؟
خودشو دوباره روی هارد مینویسه و اجرا میکنه
خوب راحی نداره که در حال اجرا فایلو حذف کنی ، خود آنتی ویروس ها هم این کارو نمیکنن در حقیقت اول اون پروسه رو میبندند و بعد فایلو با همون روش هایی که خودت گفتی میشه پاک کرد...
آقا یون ممنون که جواب دادین من دارم یه آنتی مینویسم البته من برنامه نویس نیستم و رشته اصلی خودم حسابداریه هرچی یاد گرفتم از نت یاد گرفتم من الان vb رو نصب ندارم اما سورس انتی رو میزارم اگه میشه منو بعد راهنمایی کنید.
ممنون
(۱۴-فروردین-۱۳۸۸, ۱۵:۰۶:۳۱)joker نوشته است: [ -> ] (۱۴-فروردین-۱۳۸۸, ۱۳:۵۷:۲۴)mohsen0025 نوشته است: [ -> ]میخواستم ببینم کسی میتونه یه سورس delete قوی البته به جز دستور kill و تابع api DeleteFile
چون این دو دستورات بعضی از فایل ها رو delete نمیکنن مثلاً آنتی ویروسها نمیدونم چیکار میکنن که این ویروس ها رو که در حالت اجرا هم هستن delete میکنن
اگه کسی بلده بگه که خیلی کارم گیره
ممنون
آنتی ویروسها اول پروسه ویروس را میبندن( یعنی به فایل در حال اجرا خاتمه میدن)
بعد راحت با همون deletefile حذفش میکنن
به نظرت اگه پروسه ویروس را توی حافظه نبندن ، حذفش هم فایده ای داره ؟
خودشو دوباره روی هارد مینویسه و اجرا میکنه
سلام
اگه ميشه بگي چه جوري ميتونم از اون ليست پروكسس فايل ها رو حذف كنم البته به جز shell "taskkill /f /im virname.exe",5 و همون دستور net stop .....
thank
با استفاده از تابع api اول handle پروسه رو بدست میاری بعد با تابع TerminateProcess میبندیش
کد:
BOOL TerminateProcess(
HANDLE hProcess, // handle to the process
UINT uExitCode // exit code for the process
);
سلام
ميشه يه مثال بزني؟
thank
(۲۸-فروردین-۱۳۸۸, ۱۸:۵۰:۱۹)mohsen0025 نوشته است: [ -> ]سلام
ميشه يه مثال بزني؟
thank
این هم نمونه
هم با ويندوز 98 کار ميکنه هم ويندوز ان تی
(۲۸-فروردین-۱۳۸۸, ۱۹:۲۹:۳۳)PouriaAmid نوشته است: [ -> ] (۲۸-فروردین-۱۳۸۸, ۱۸:۵۰:۱۹)mohsen0025 نوشته است: [ -> ]سلام
ميشه يه مثال بزني؟
thank
این هم نمونه
هم با ويندوز 98 کار ميکنه هم ويندوز ان تی
سلام
ممنون كه جواب دادي.
سورست علي بود اما طولاني :d دوستمون lord_viper گفتن با دستور TerminateProcess ميشه اين كارو كرد فكر كنم اون كوتاه تر باشه؟؟ يا منظورشون همين بوده؟
دستور کوتاه ولی پیدا کردن handle پروستون که بخواهین پاس بدین بهش طولانی خواهد بود
ممنون
گرفتن هندل به اين صورته؟ اگه اشتباهه يه مثال بزني Mr30 ميشم :d
کد:
Dim handl As Long
handl = FindWindow(vbNullString, "Local Disk (C:)")
SetForegroundWindow handl
If handl <> 0 Then
SendKeys "%{F4}"
End If
اين كد براي بستن درايو C هست. اينطوريه؟