PDA

View Full Version : تبدیل Application به یک شنونده پیغام Drag



Anis131313
چهارشنبه 16 دی 1388, 11:28 صبح
سلام. به چه طریقی می توان از Drag شدن فایلی در ویندوز با خبر شد ؟؟؟
در دلفی فایل های DragAcceptFiles و DragQueryFile موجود می باشد. که اولی برای ایجاد مجوز برای فرم برنامه جهت قبول کردن Drag است و دومی هم لیست فایل ها را بر می گرداند.
موضوع اینجاست که من میخوام که برنامه ام یک شنونده باشد و پیغام های ویندوز راجع به Drag را بشنود. مانند تابع SetClipboardViewer که فرم را شنونده ای برای کلیپبورد می کند.

سوال : زمانی که فایل Drag می شود چه Message یی ارسال میشود و اینکه چگونه فرم را به شنونده drag تبدیل کنیم ؟

مرسی . :لبخندساده:

Felony
چهارشنبه 16 دی 1388, 11:41 صبح
نمونه ای که ضمیمه کردم رو ببینید .

Anis131313
چهارشنبه 16 دی 1388, 11:55 صبح
ممنون از جوابتون.
من خودم مشابه همین برنامه رو دارم.

42110

ولی هدف و خواسته ام رو بد بیان کردم ظاهرا ! برنامه ای که من و شما داریم هر 2 تا شون زمانی فعال میشوند که فایلی روی آنها کشیده شود. شنونده ویندوز نیستند.
فرض کنید 2 تا پنجره در ویندوز ما باز است و فایلی از پنچره اول به پنجره دوم Drag می شود. این بین برنامه ما این نقل و انتقال بوسیله درگ شدن را متوجه شود .
مشابه برنامه ای که در اینجا (http://barnamenevis.org/forum/showthread.php?p=876244) قرار داده بودم . با این تفاوت که اون برای کلیپبورد بود.

با تشکر فراوان از شما.

Felony
چهارشنبه 16 دی 1388, 12:14 عصر
آها حالا فهمیدم ،برای این کار باید پیغام Drag رو هوک کنید ، دارم دنبال پیغامی که زمان Drag ارسال میشه میگردم ، پیدا کردم همین جا میزارمش ، در مورد چگونگی هوک کردن هم بارها بحث شده ، کلمه ی کلیدی Hook رو تو سایت جست و جو کنید .

Felony
چهارشنبه 16 دی 1388, 12:23 عصر
باید پیغام WM_DROPFILES رو هوک کنید ، این (http://www.experts-exchange.com/Programming/Languages/CPP/Q_10203575.html) هم یک نمونه به زبان C که خودتون میتونید تبدیلش کنید .

Anis131313
چهارشنبه 16 دی 1388, 15:48 عصر
باید پیغام WM_DROPFILES رو هوک کنید ، این (http://www.experts-exchange.com/Programming/Languages/CPP/Q_10203575.html) هم یک نمونه به زبان C که خودتون میتونید تبدیلش کنید .


سلام.
ممنون از جوابتون.
دوست خوبم شما توی این سایت عضو هستین ؟ اینجا واسه 30-day free trial (https://secure.experts-exchange.com/register.jsp?rsid=20&srid=f6tG3at1Ik379q4KqZTRGQ%3D%3D&srid=f6tG3at1Ik379q4KqZTRGQ%3D%3D&redirectURL=/Programming/Languages/CPP/Q_10203575.html&cid=553) هم باز CreditCard می خواد.
فکر کنم به احتمال زیاد من بلد نیستم با این سایت کار کنم.

کسی نیست که منو راهنمایی کنه که یه فرم Listening برای Drag شدن فایلی در ویندوز چطوری درست کنم ؟

Anis131313
پنج شنبه 17 دی 1388, 00:17 صبح
دوستان منو کمک کنید.

چطوری این کار رو انجام بدم ؟