امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
یه سوال در مورد Process
نویسنده پیام
shedayat آفلاین
كاربر دو ستاره
**

ارسال‌ها: 101
موضوع‌ها: 22
تاریخ عضویت: فروردین ۱۳۸۸

تشکرها : 62
( 51 تشکر در 38 ارسال )
ارسال: #1
Question  یه سوال در مورد Process
سلام
می خواستم بدونم که چه جوری برنامه می تونه متوجه بشه که یه برنامه خواصی در حال اجرا هست یا خیر. مثلا برنامه ای بنویسیم که اگه مثلا Svchost.exe در حال اجرا بود یه پیغام بده.Shy
.........ممنونم.........Wink

...یادمان باشد که زنگ تفریح دنیا همیشگی نیست. زنگ بعد حساب داریم...
۰۸-فروردین-۱۳۸۸, ۱۵:۱۴:۱۵
ارسال‌ها
پاسخ
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #2
RE: یه سوال در مورد Process
سلام.
اسم پروسه اسم خاصیه؟ اگه اسمش تکه میتونی به راحتی لیست پروسه هارو بگیری. با توابع
CreateToolhelp32Snapshot
Process32First
Process32Next
ولی اگه فایلی با اون اسم مشابه اجرا شه برنامه به اشتباه میفته.
۰۸-فروردین-۱۳۸۸, ۱۷:۴۷:۳۶
ارسال‌ها
پاسخ
تشکر شده توسط : sav68
shedayat آفلاین
كاربر دو ستاره
**

ارسال‌ها: 101
موضوع‌ها: 22
تاریخ عضویت: فروردین ۱۳۸۸

تشکرها : 62
( 51 تشکر در 38 ارسال )
ارسال: #3
RE: یه سوال در مورد Process
(۰۸-فروردین-۱۳۸۸, ۱۷:۴۷:۳۶)Payman62 نوشته است: سلام.
اسم پروسه اسم خاصیه؟ اگه اسمش تکه میتونی به راحتی لیست پروسه هارو بگیری. با توابع
CreateToolhelp32Snapshot
Process32First
Process32Next
ولی اگه فایلی با اون اسم مشابه اجرا شه برنامه به اشتباه میفته.

می شه بیشتر توضیح بدی؟

...یادمان باشد که زنگ تفریح دنیا همیشگی نیست. زنگ بعد حساب داریم...
۰۹-فروردین-۱۳۸۸, ۱۳:۳۶:۱۳
ارسال‌ها
پاسخ
CRazYFULL غایب
مدیر بازنشسته
*****

ارسال‌ها: 792
موضوع‌ها: 27
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 1546
( 2836 تشکر در 593 ارسال )
ارسال: #4
RE: یه سوال در مورد Process
اين مثال با استفاده همون توابع که پيمان گفت ليست پروسه های در حال اجرا رو نشون ميده


فایل‌(های) پیوست شده
.zip   task mgr.zip (اندازه: 2.02 KB / تعداد دفعات دریافت: 47)
۰۹-فروردین-۱۳۸۸, ۱۴:۳۲:۰۰
ارسال‌ها
پاسخ
shedayat آفلاین
كاربر دو ستاره
**

ارسال‌ها: 101
موضوع‌ها: 22
تاریخ عضویت: فروردین ۱۳۸۸

تشکرها : 62
( 51 تشکر در 38 ارسال )
ارسال: #5
RE: یه سوال در مورد Process
(۰۹-فروردین-۱۳۸۸, ۱۴:۳۲:۰۰)crazyfull نوشته است: اين مثال با استفاده همون توابع که پيمان گفت ليست پروسه های در حال اجرا رو نشون ميده

ببین من نمی خوام این همه کد بنویسم فقط می خوام بدونم مثلا اگه پروسه ABC.exe در حال اجرا بود یه پیغام بده اگه این کد رو بنویسی که عالی می شه! از جوابت هم ممنونم.

...یادمان باشد که زنگ تفریح دنیا همیشگی نیست. زنگ بعد حساب داریم...
(آخرین ویرایش در این ارسال: ۰۹-فروردین-۱۳۸۸, ۱۵:۴۴:۴۰، توسط shedayat.)
۰۹-فروردین-۱۳۸۸, ۱۵:۴۳:۴۰
ارسال‌ها
پاسخ
joker آفلاین
کاربر با تجربه
****

ارسال‌ها: 798
موضوع‌ها: 67
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 849
( 3655 تشکر در 908 ارسال )
ارسال: #6
RE: یه سوال در مورد Process
اگه پروسه ات دارای فرم یا پنجره ای با اسم خاصی باشه با تابع FindWindow هم میتونی راحت تر وجودش را چک کنی
البته روشی که دوستمون تو پست قبلی گفتم روش اصولی هست ، منتها این findwindow روش راحت و سریعتر در بعضی مواقع هست که شما هم میخواین کمتر کد بنویسین :)
فایل ضمیمه را ببین ، اگه پروسه مورد نظرت به شکلی بود که عنوانش توی لیست دیده میشد از این روش بالا میتونی استفاده کنی.


فایل‌(های) پیوست شده
.zip   enum_window.zip (اندازه: 196.06 KB / تعداد دفعات دریافت: 72)

[تصویر:  sajdelogo.gif]
(آخرین ویرایش در این ارسال: ۰۹-فروردین-۱۳۸۸, ۱۵:۵۷:۳۱، توسط joker.)
۰۹-فروردین-۱۳۸۸, ۱۵:۵۳:۲۶
ارسال‌ها
پاسخ
CRazYFULL غایب
مدیر بازنشسته
*****

ارسال‌ها: 792
موضوع‌ها: 27
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 1546
( 2836 تشکر در 593 ارسال )
ارسال: #7
RE: یه سوال در مورد Process
اون که فقط چهار تا تابع API هست
اون تابع رو هم ميتونی تغيير بدی و ليستو حذف کنی که کد نويسی کمتر بشه اين فقط يه مثال بود هر جور دوست داشته باشی ميتونی تغييرش بدی
اگه کلاً هميشه هدف کارت رو هم توی سؤال توضيح بدی بهترين روش رو ميشه پيشنهاد داد
۰۹-فروردین-۱۳۸۸, ۱۸:۳۳:۰۱
ارسال‌ها
پاسخ
shedayat آفلاین
كاربر دو ستاره
**

ارسال‌ها: 101
موضوع‌ها: 22
تاریخ عضویت: فروردین ۱۳۸۸

تشکرها : 62
( 51 تشکر در 38 ارسال )
ارسال: #8
RE: یه سوال در مورد Process
(۰۹-فروردین-۱۳۸۸, ۱۸:۳۳:۰۱)crazyfull نوشته است: اون که فقط چهار تا تابع API هست
اون تابع رو هم ميتونی تغيير بدی و ليستو حذف کنی که کد نويسی کمتر بشه اين فقط يه مثال بود هر جور دوست داشته باشی ميتونی تغييرش بدی
اگه کلاً هميشه هدف کارت رو هم توی سؤال توضيح بدی بهترين روش رو ميشه پيشنهاد داد

راستش من مي خوام يه ويروس بنويسم که حاوي دو تا فايل باشه.هر کدوم اون يکي رو چک کنه که اگه اون فايل نبود دوباره اجراش کنه حالا مي خوام بدونم که چجوري بايد بفهمم يعني با چه تابعي بفهمم که برنامه مورد نظر من در ليست Process هست يا نه. ( امیدوارم که متوجه شده باشی)Shy

...یادمان باشد که زنگ تفریح دنیا همیشگی نیست. زنگ بعد حساب داریم...
۰۹-فروردین-۱۳۸۸, ۲۱:۵۵:۲۹
ارسال‌ها
پاسخ
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #9
RE: یه سوال در مورد Process
شما بهتره از peid برای چک کردن استفاده کنین یا از handle پروسه چون ممکنه پروسه ای با همون نام در حال اجرا باشه و برنامه شما دچار اشتباه بشه
در ضمن برای پیاده سازی این روش به درستی شما نیاز داری که هر دو پروسه peid یا handle هم رو بدونن و برای این کار به جز کلک های مرغابی , استفاده از WM_COPYDATA هست و با این اطلاعاتی که شما از برنامه نویسی دارین پیاده سازی این روش برای شما غیر ممکن هست
۰۹-فروردین-۱۳۸۸, ۲۲:۵۲:۱۳
وب سایت ارسال‌ها
پاسخ
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #10
RE: یه سوال در مورد Process
بنظر من اگه می خوای کمتر کد نویسی کنی از دستورات شل استفاده کن. خیلی راحت می تونی با دستور tasklist پروسه های در حال اجرا رو بگیری و بعد با تابع instr (اگه درست یادم مونده باشه) تو خروجی دنبال اسم پروسه یا شماره آی دی بگردی. اگه تابع صفر بگردوند یعنی پروسه تو لیست نیست . . .

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۰۹-فروردین-۱۳۸۸, ۲۳:۴۸:۳۹
ارسال‌ها
پاسخ
تشکر شده توسط : shedayat
hoax3r آفلاین
كاربر دو ستاره
**

ارسال‌ها: 63
موضوع‌ها: 2
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 38
( 93 تشکر در 46 ارسال )
ارسال: #11
RE: یه سوال در مورد Process
از CreateMutex و OpenMutex هم میتونی استفاده کنی، تو هر پروسه با CreateMutex یک موتکس بساز (هر پروسه اسم متفاوتی داشته باشه)
بعد با OpenMutex از موتکس اون یکی پروسه(با توجه به اسمی که براش تعیین کردی) هندل بگیر اگه گرفت که یعنی اجراست اگه نگرفت یعنی اجرا نیست که میتونی اجراش کنی
(آخرین ویرایش در این ارسال: ۱۰-فروردین-۱۳۸۸, ۰۱:۵۱:۱۸، توسط hoax3r.)
۱۰-فروردین-۱۳۸۸, ۰۱:۳۹:۲۷
ارسال‌ها
پاسخ
تشکر شده توسط : lord_viper


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سوال در مورد ماژول وینساک gachboy 5 4,476 ۲۲-بهمن-۱۳۹۲, ۱۷:۴۳:۵۲
آخرین ارسال: gachboy
  سوال در مورد بدست آوردن سورس Hacker_2010 7 6,056 ۰۵-مرداد-۱۳۹۲, ۰۰:۵۴:۵۰
آخرین ارسال: babyy
  [سوال] یک سوال در مورد بانک اطلاعاتی ترانسپورتر 10 7,734 ۳۱-تير-۱۳۹۲, ۲۰:۱۲:۰۹
آخرین ارسال: Ghoghnus
  سوال در مورد کنترل Webbrowser Cr4ShD4Y 2 3,011 ۱۶-تير-۱۳۹۲, ۱۱:۴۱:۰۹
آخرین ارسال: kimiafars
  سوال در مورد کریستال ریپورت؟؟ ahp_online 1 3,018 ۲۵-خرداد-۱۳۹۲, ۱۰:۰۷:۱۷
آخرین ارسال: Ghoghnus
Sad سوال در مورد ارسال پی ام در یاهو مسنجر blackhacking21 6 5,269 ۱۷-فروردین-۱۳۹۲, ۱۰:۵۰:۵۱
آخرین ارسال: lord_viper
  [سوال] یک سوال ساده در مورد هندل thinkdiff 1 2,838 ۱۴-فروردین-۱۳۹۲, ۱۳:۱۶:۲۸
آخرین ارسال: Di Di
  مخفی شدن برنامه هم از زبانه ی Process و هم از زبانه ی Application RAMA2009 11 10,651 ۰۷-اردیبهشت-۱۳۹۱, ۰۳:۵۶:۰۹
آخرین ارسال: jalil_m
  unable to terminate process RAMA2009 1 1,657 ۲۱-اسفند-۱۳۹۰, ۰۹:۳۰:۱۳
آخرین ارسال: lord_viper
  سوال در مورد درگ ایتم های لیست ویو sevdaboy 1 2,635 ۲۳-بهمن-۱۳۹۰, ۱۳:۳۰:۳۴
آخرین ارسال: Di Di

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS