PDA

View Full Version : سوال: مشکل در کار با ShowWindow



loo30fer
چهارشنبه 03 فروردین 1390, 03:20 صبح
با سلام
من میخوام یک پلاگین برای MMB درست کنم که هر برنامه وقتی پارامتر Hide رو صدا میزنه برنامش از Taskbar مخفی بشه از کد زیر استفاده کردم برای همه برنامه ها جواب داد جز برای MMB اسم کلاسشم رو گرفتم که 32770# ولی هر کاری کردم نشد ممنون میشم راهنمایی کنید.

var
cn: PChar;
begin
cn := '#32770';
ShowWindow(FindWindow(cn,nil), SW_HIDE);

fire.angle
چهارشنبه 03 فروردین 1390, 12:08 عصر
سلام
احتمالا اسم کلاسش اشتباه. اسم کلاسش رو می تونید با استفاده از نرم افزار ++Spy بدست بیارید
یه راه دیگه هم هست این بار پارامتر کلاس رو nil بزارید و پارامتر Window Caption رو مقدار دهی کنید تا بر اساس عنوان پنجره هندل اون رو بر گردونه

loo30fer
چهارشنبه 03 فروردین 1390, 16:49 عصر
من برنامه MMB رو برای تست پیوست کردم به همراه سورسی که باهاش Handle و Class پنجره ها رو بدست میاوردم اگه امکان داره تست کنید و اشکال کارم رو بگین ممنون میشم

fire.angle
چهارشنبه 03 فروردین 1390, 21:25 عصر
var
hw:HWND;
begin
hw:=FindWindow(nil,'Welcome!');
ShowWindow(hw,SW_HIDE);
end;


همین . در ضمن میتونی برای اطمینان بیشتر پارامتر اول رو هم برابر Calss name برنامه مورد نظر قرار بدی

میتونی برای امتحان کد بالا رو توی یه دکمه بزاری و در حالی که برنامه Test.exe هم در حال اجراست برنامه رو اجرا کنی

javad p
پنج شنبه 04 فروردین 1390, 20:43 عصر
با سلام و تبریک سال نو به همه ی دوستان
روش دوستمون درست هست.


در ضمن میتونی برای اطمینان بیشتر پارامتر اول رو هم برابر Calss name برنامه مورد نظر قرار بدی
ولی این قسمت چیزی رو عوض نمیکنه ، چون تمام کلاس نیمهای برنامه های بیلدر یکسان هست و وقتی از دورن پلاگین به برنامه خودتون دستور بدید حتی با وجود دو پنجره با عنوانهای یکسان ، اول پنجره خودتون رو مخفی میکنه.
البته شما نمیتونید از این روش برای پلاگین استفاده کنید.
برای پلاگین و برنامه های ساخته شده با بیلدر از کلاس نیم استفاده نکنید بهتره، چون همه ی برنامه های exe شده همین کلاس رو دارند.
علاوه بر این از کد دوستمون هم هست شما نمیتونید استفاده کنید، چون نام پنجره توسط کاربر میتونه انتخاب بشه و داده ی ثابتی نیست.
پس اول نام پنجره رو تو قسمت procedure SetParentWindow (hwnd: HWND) به دست بیارید و بعد از کد دوستمون استفاده کنید تا با تغییر عنوان پنجره به مشکل نخورید.
موفق باشید.

Felony
پنج شنبه 04 فروردین 1390, 23:37 عصر
برای پلاگین و برنامه های ساخته شده با بیلدر از کلاس نیم استفاده نکنید بهتره، چون همه ی برنامه های exe شده همین کلاس رو دارند.
nil کلاس نیست !

javad p
جمعه 05 فروردین 1390, 13:50 عصر
nil کلاس نیست !
سلام به همه دوستان
منظورم ClassName بود که به فارسی نوشتم.


اول ازهمه من عذر خواهي ميكنم از تمامي اعضاي انجمن براي اينكه اين جا اين مطلب رو گذاشتم
نوین ترین روش نفوذ به سيستم ها
....

چرا اینجا خب؟؟؟
یه تاپیک بهتر نبود؟؟؟