PDA

View Full Version : hwnd‌ چیست؟



riyahiyan
سه شنبه 15 فروردین 1385, 19:11 عصر
با سلام
لطفا اگه کسی در مورد hwnd‌ اطلاعاتی داره منو در مورد این خاصیت برای شی فرم راهنمای کنه.

mkbo_webmaster
سه شنبه 15 فروردین 1385, 19:45 عصر
دستگیره ای که توابع قدرتمند میتونن بوسیله اون به شیء فرم و یا هر شیء ای که hwnd داره ، رخنه کنن و هرکاری رو با اون انجام بدن ، هرکاری که فکرش رو بکنی.

riyahiyan
چهارشنبه 16 فروردین 1385, 11:23 صبح
مرسی ولی خیلی کلی گفتی اگه ممکنه یه مثال بزن.

mkbo_webmaster
چهارشنبه 16 فروردین 1385, 12:02 عصر
مثلا میخوام close رو از قسمت titlebar در یک فرم بردارم.
با استفاده از توابع API فقط کافیه تا بدم مثلا form1.hwnd تا اون تابع خودش تمام کارهای پیشرفته که لازمه در فرم انجام بشه و در حد توانائی ویژوال بیسیک نیست رو انجام بده و در نهایت مثلا close رو از بالای یک فرم برداره.

یا مثلا وقتی میخوای شیء Multimedia Control رو به یک Picture box نسبت بدی یعنی بگی فیلم رو توی picture box نشون بده. خوب باید یه دستگیره ای باشه که Multimedia Control به اون وصل بشه تا کارهای پیشرفتش رو بکنه دیگه مثل

picture1.hwnd

riyahiyan
چهارشنبه 16 فروردین 1385, 12:13 عصر
مطلب خیلی روشن شد فکر کنم با یه Sample کامل بشه.خیلی ممنون.

mkbo_webmaster
پنج شنبه 17 فروردین 1385, 00:21 صبح
یعنی منظورتون اینه که یه مثال بفرستم یا فهمیدید ؟؟؟

riyahiyan
شنبه 19 فروردین 1385, 22:57 عصر
اگه یه Sample ساده بدید که خیلی ممنون میشم

mkbo_webmaster
یک شنبه 20 فروردین 1385, 16:28 عصر
کد زیر رو کامل کپی کن و بعد یک standard exe در ویژوال بیسیک باز کن و بعد اونو توی پروژت paste کن.

قسمتی رو که توی برنامه بصورت Bold کردم نگاه کن.
این کد با استفاده از توابع قدرتمند API و با دریافت دستگیره hwnd فرم شما باعث میشه تا فرم شما Always On Top بشه. یعنی همیشه روی تمام فرمها قرار بگیره.

:بوس: راستی اگه این پیغام برات مفید بود روی علامت وزنه در گوشه سمت راست مربوط به پیغام من نظرتو بفرست. متشکر

اینم کد به زبان VB6 :



Private Const SWP_NOMOVE = 2
Private Const SWP_NOSIZE = 1
Private Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Declare Function SetWindowPos Lib "USER32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Sub Form_Load()
Dim lR As Long
lR = SetTopMostWindow(form1.hwnd, True)
'For inactive always on top Properties : lR = SetTopMostWindow(form1.hwnd, False)
End Sub

Private Function SetTopMostWindow(hwnd As Long, Topmost As Boolean) As Long
'''''''''''' ON TOP WINDOW GLOBAL FUNCTION ''''''''''''''
If Topmost = True Then 'Make the window topmost
SetTopMostWindow = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
Else
SetTopMostWindow = SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
SetTopMostWindow = False
End If
End Function

riyahiyan
یک شنبه 20 فروردین 1385, 23:02 عصر
خیلی از راهنماییت ممنونم
حالا فهمیدم که منظورت از "دستگیره ای که توابع قدرتمند میتونن بوسیله اون به شیء فرم و یا هر شیء ای که hwnd داره ، رخنه کنن و هرکاری رو با اون انجام بدن ، هرکاری که فکرش رو بکنی."

چیه. اما سوال اینجاست که ما چطور می تونیم از hwnd استفاده کنیم مثل توابع API که ازش استفاده میکنند.

در ضمن این علامت وزنه کجاست؟

mkbo_webmaster
یک شنبه 20 فروردین 1385, 23:50 عصر
منظورتون رو نمیفهمم من که مثال زدم.
مثالها خیلی خیلی زیادن و اگه بخوام همشون رو براتون بگم که نمیشه.
اگه میخواین اطلاعاتتون در این زمینه های تخصصی بالا بره من یکی از سی دی های آموزشیم رو بهتون پیشنهاد میکنم. که خیلی قدرتمنده و در عین حال آموزش اون چند رسانه و سادس کلید ورود من به این اطلاعات با ارزش این سی دی آموزشی بود و بعد این برای من انگیزه شد تا با کتاب ادامه بدم.
اگه اول کتاب میگرفتم هیچی نمی فهمیدم منظورم مفهومِ
hwnd , hdc , class module , acticex dll و ...

اگه میخوای این مطالب رو خوب و به راحتی و سریع یاد بگیری من پیشنهاد میکنم بری توی آدرس زیر خودت میفهمی :

http://www.barnamenevis.org/forum/showthread.php?t=42684

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

riyahiyan
سه شنبه 22 فروردین 1385, 16:07 عصر
از مثالت ممنمنم.
منظورم مثال بیشتر نبود یه کم اطلاعات تخصصی می خواستم که احتمالا او CD قضیه رو حل کنه بهم معرفیش کن.

mkbo_webmaster
سه شنبه 22 فروردین 1385, 22:16 عصر
همونطور که توی اون لینک قبلی نوشتم کلیه خصوصیاتش قبلا به انجمن ارسال شده
اگه خواستی طریقه خریدش رو از لینک زیر پیدا کن

http://www.barnamenevis.org/forum/showthread.php?t=42684

برات آرزوی موفقیت و پیشرفت میکنم

mkbo_webmaster
سه شنبه 22 فروردین 1385, 22:29 عصر
از ستاره هم متشکرم

saeed_smco
جمعه 09 آبان 1393, 13:38 عصر
من برای اینکه ببینم hwnd چیه آمدم تو این پست اما یک سوال دیگه برام پیش آمد .
این کد صفحه رو Alwaze On top میکنه . و این پنجره همیشه روی دیگر پنجره ها میمونه . اما تنها چیزی که میاد روش میتونه بیاد start menu ها هست . برای اون چیکار میشه کرد؟