اجرا شدن شدن اسکریپت بعد از کلیک کردن در دسکتاپ

loo30fer

کاربر متخصص مولتی مدیا بیلدر
با سلام خدمت اساتید محترم
من برای پروژم نیاز داشتم که وقتی کاربر در هرجایی از دسکتاپ یا برنامه کلا بیرون از پروژم کلیک میکنه یه اسکریپت در پروژم اجرا بشه
میخواستم آیا امکانش هست یا پلاگینی میشه نوشت که این قابلیت داشته باشه یا نه
ممنون​
 

Silver PC

Well-Known Member
سلام !

خارج از پرو‍ژه :lol:

راستش من كه فك نكنم بشه ! چون خارج از پرو‍ه ربطي به پرو‍ژه نداره . داره ؟!

موفق باشيد
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
اجازه بدید یه جور دیگه به این سوالتون نگاه کنیم، اصولاً هروقت جایی خارج صفحه ی پروژه تون کلیک بشه، Focus از روی پنجره ی برنامه ی شما برداشته میشه، پس بجای اینکه کلیک شدن جایی خارج از صفحه ی برنامه رو چک کنیم، بهتره بیایم اسم پنجره ی فعال رو بدست بیاریم که اگه پنجره ی فعال، پنجره ی برنامه ی ما نباشه، پس جایی خارج از صفحه ی برنامه ی ما کلیک شده...

برای اینکار فکر کنم پلاگین Microbe Windows بتونه کمکتون کنه، با تابع Get_Active_Window
 

BEHESHT

Well-Known Member
یا می تونید ترانسپرنتی صفحه اتون رو به کمترین مقدار ممکن یعنی 1 از 255 برسونید اینجوری صفحه ی مشاهده نمیشه اما برنامه شما فعال هست و می تونید دستورات رو اجرا کنید

اینجوری فک کنم ساده ترین و عقلانی ترین راه باشه:wink: که مشکلاتش از سایرین کمتره
 

evil_gates

اين نيز بگذرد ...
یا می تونید ترانسپرنتی صفحه اتون رو به کمترین مقدار ممکن یعنی 1 از 255 برسونید اینجوری صفحه ی مشاهده نمیشه اما برنامه شما فعال هست و می تونید دستورات رو اجرا کنید

اینجوری فک کنم ساده ترین و عقلانی ترین راه باشه:wink: که مشکلاتش از سایرین کمتره

من روش جناب nevercom رو نزديكتر ميبينم. فكر ميكنم منظور دوستمون از طرح سوال اين بود كه رو آيكن، برنامه يا فضايي خارج از محيط برنامه كليك بشه و اتفاقي تو برنامه بيفته

اگه منظورشون همين باشه راه حل شما شايد نتونه كمك كنه. چون در واقع باز هم داخل فضاي برنامه كليك ميشه نه خارج اون.
 

BEHESHT

Well-Known Member
من روش جناب nevercom رو نزديكتر ميبينم. فكر ميكنم منظور دوستمون از طرح سوال اين بود كه رو آيكن، برنامه يا فضايي خارج از محيط برنامه كليك بشه و اتفاقي تو برنامه بيفته

اگه منظورشون همين باشه راه حل شما شايد نتونه كمك كنه. چون در واقع باز هم داخل فضاي برنامه كليك ميشه نه خارج اون.

بسیار عالی ممنون

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

فک کنم باید وارد هوک کردن توابع بشیم و تابع ShelleExecute و مشتقاتش رو هوک کرد ، هوک کردن توابع هم تو زبان های برنامه نویسی کلی درد سر داره در MMB هم فک کنم محال باشه که طرف توابع API رو به اون خوبی بشناسه با ++C کار می کنه نه MMB

اما با این روش که من می گم تنها با دو تا کار میشه رویداد ها رو توسط خوده برنامه اجرا کرد

1 بدست اوردن این که آیکونها دسکتاپ کجاش واقع شدن

2 بدست آوردن مقصد آیکون ها

که اولی به مراتب سخت تر هست

این نظر من هست حالا به حال ممکنه اشتباه کنم بازم بهتره منتظر نظرات محترم شما و بقیه دوستان بمونم
 

loo30fer

کاربر متخصص مولتی مدیا بیلدر
همینطور که جناب Nevercom گفتن با استفاده از تابع Get_Active_Window مشکلم حل شد ممنون از دوستان
 

evil_gates

اين نيز بگذرد ...
بسیار عالی ممنون

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

فک کنم باید وارد هوک کردن توابع بشیم و تابع ShelleExecute و مشتقاتش رو هوک کرد ، هوک کردن توابع هم تو زبان های برنامه نویسی کلی درد سر داره در MMB هم فک کنم محال باشه که طرف توابع API رو به اون خوبی بشناسه با ++C کار می کنه نه MMB

اما با این روش که من می گم تنها با دو تا کار میشه رویداد ها رو توسط خوده برنامه اجرا کرد

1 بدست اوردن این که آیکونها دسکتاپ کجاش واقع شدن

2 بدست آوردن مقصد آیکون ها

که اولی به مراتب سخت تر هست

این نظر من هست حالا به حال ممکنه اشتباه کنم بازم بهتره منتظر نظرات محترم شما و بقیه دوستان بمونم

دوست من

با احترام ميگم كه شما مسئله رو اينقدر پيچيده كرديد كه حتي از صورت مسئله‌اي كه دوستمون مطرح كرده هم دور شديد.

با سلام خدمت اساتید محترم
من برای پروژم نیاز داشتم که وقتی کاربر در هرجایی از دسکتاپ یا برنامه کلا بیرون از پروژم کلیک میکنه یه اسکریپت در پروژم اجرا بشه
میخواستم آیا امکانش هست یا پلاگینی میشه نوشت که این قابلیت داشته باشه یا نه
ممنون

اينكه ما در فضايي خارج از برنامه كليك كنيم و اتفاقي داخل برنامه بيفته صورت مسئله هست.

پيشنهاد جناب nevercom كه ميگه چك كنيم آيا Focus روي عنوان برنامه ما هست يا نه نزديكترين راه حل به اين مسئله هست.

به هر حال كاربر رو هر آيتمي (چه برنامه هاي ديگه چه فضاي خالي دسكتاپ يا ... ) كليك كنه اين Focus از برنامه ما برداشته ميشه و مقدار متغيري كه از دستور Get_Active_Window بر ميگرده هر چيزي غير از عنوان برنامه ما هست.

بنابراين يك شرط به راحتي ميتونه دستورات خودش رو كه همون اسكريپت موردنظر هست اجرا كنه اگه مقدار متغير مخالف عنوان برنامه باشه.

اما در مورد اين مطلب شما:
حالا من این فکر می کنم اگه کابر بخواد یه برنامه رو اجرا کنه از رو دسکتاپ چی جوری باید متوجه شد؟

متوجه منظورتون نشدم !!!
 

BEHESHT

Well-Known Member
اِ چه جالب:wink:

من این احتمال رو می دادم که بخوان متوجه شن که رو دسکتاپ چه کارهایی انجام میشه:-?
:green:

خب این تکنیک ها رو زیاد تو protection های بازی ها برای عدم ساخت ترینیر دیدیم و کالا آشنا هستم و خیلی هم Patch کردیم به هر حال اگه بحث رو به اشتباه منحرف کردم عذر می خوام خوب متوجه قضیه نشده بودم:shock:
 

جدیدترین ارسال ها

بالا