View Full Version : انجام عملیات WM_PASTE
Veteran
دوشنبه 03 مهر 1391, 18:05 عصر
سلام دوستان.
میخواستم با WM_PASTE عملیات Paste رو انجام بدم که با استفاده از SendMesage میشه اینکارو کرد.
ولی باید هندل رو هم داشته باشیم.
میخواستم ببنیم راهی هست که بشه هرجایی فوکوس بود ما این عملیات رو انجام بدیم ؟
بعضی از نرم افزار ها همونطور که میدونید تمام اشیائشون یک هندل یک سانی دارند و نمیشه با اینجور اشیا کار کرد یعنی من بلد نیستم.
حالا اگر بخوایم هرکجا که فوکس بود ما بتونیم این عملیات رو انجام بدیم باید چیکار کنیم ؟ :متفکر: بدون اینکه هندل اون قسمت رو به دست بیاریم.
ASedJavad
سه شنبه 04 مهر 1391, 09:06 صبح
سلام
میخواستم ببنیم راهی هست که بشه هرجایی فوکوس بود ما این عملیات رو انجام بدیم ؟
شما میتونید با دستوری مثل Sendkeys کنترل وی رو بفرستی (خودبخود به پنجره فوکوس دار منتقل میشه)
بعضی از نرم افزار ها همونطور که میدونید تمام اشیائشون یک هندل یک سانی دارند
بعید میدونم اینطوری باشه. (یا حداقل من به چنین موردی برنخوردم)
فقط باید در این موارد از پنجره مادر شروع کنی و همینجور بری سراغ پنجره های فرزندش تا برسی به اون چه که میخوای
Veteran
سه شنبه 04 مهر 1391, 09:16 صبح
نه sendkeys کارو راه نمیندازه.اگر میخواستم از این تابع استفاده کنم با api
Private Declare Sub keybd_event Lib "user32" Alias "keybd_event" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
انجام میدادم.
======
بعید میدونم اینطوری باشه. (یا حداقل من به چنین موردی برنخوردم)چرا هست.جدیدا هم زیاد شده.حالا نمیدونم با چه زبانی اینارو مینوسین.شاید بشه با vb6 هم نوشت نمیدونم.
اما هستند نرم افزار هایی که وقتی اسم کلاس و یا هندل اونهارو چک میکنیم تمام پنجره یک هندل داره و اشیا اون پنجره هم همون هندلی رو دارند که پنجره مادر داره. ی جورایی اشیا پنجره اصلا هندل ندارند ! فقط پنجره مادر هندل داره ! یا یک لایه دارند که نمیشه با اطلاعاتشون دسترسی پیدا کرد.
مهرداد صفا
چهارشنبه 05 مهر 1391, 13:46 عصر
سلام
با استفاده از UIAutomation میتوانید element های موجود در پنجره ها و شئی که focus روی آن است را به دست آورید ولی فکر میکنم باز هم با برنامه های java مشکل داشته باشید.
Veteran
جمعه 07 مهر 1391, 18:00 عصر
هنوز به نتیجه نرسیدم:اشتباه:
اگر بخوایم با sendmessage اینکارو کنم.باید هندل یک شی رو بدم تا عملیات
WM_PASTE
رو روی شی ایی که هندلشو دادم انجام میده.
اکه به این صورت ی سری مشکلات داریم.
دوستان چه راه حلی پیشنهاد میدن که ما روی شی جاری بدون به دست اوردن هندل این عملیات رو انجام بدیم ؟
IamOverlord
جمعه 07 مهر 1391, 18:34 عصر
در بعضی نرم افزار ها بعضی از عناصر روی form اصلا handle ندارند چون پنجره (window) نیستند...
Veteran
جمعه 07 مهر 1391, 19:17 عصر
در بعضی نرم افزار ها بعضی از عناصر روی form اصلا handle ندارند چون پنجره (window) نیستند...
اره اره دقیقا منم همینو میگم دیگه !
حالا من مشکلم اینگونه نرم افزارهاست
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.