سلام
من یه برنامه دیدم که کارهایی که تابع ANIMATE WINDOWS روی فرمها انجام میده رو بر روی تمام پنجره های WINDOWS اعمال می کرد
ایا کسی می دونه چجوری می شه این برنامه رو نوشت ؟؟؟؟؟
سلام
من یه برنامه دیدم که کارهایی که تابع ANIMATE WINDOWS روی فرمها انجام میده رو بر روی تمام پنجره های WINDOWS اعمال می کرد
ایا کسی می دونه چجوری می شه این برنامه رو نوشت ؟؟؟؟؟
الان یک راه حلی بنظرم رسید.
اول میزارم دوستان جواب بدم اگر به جواب خاصی نرسیدی من راه حلمو میگم. چون راه حل مد نظرم یکم مسخره است.
موفق باشید و پرتوان
سلام
با توجه به سوالتون فرض می کنم با AnimateWindows آشنایی دارین و حتماٌ می دونین که برای کار کردن با این تابع باید هندل پنجره مورد نظر رو داشت ؛ حالل نحوه پیدا کردن هندل پنجره :
Private Declare Function FindWindowA Lib "user32.dll" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
این تابع عنوان یا کلاس یک پنجره رو می گیره و اون رو پیدا میکنه
هر کدوم از متغیر ها رو که نخواستین مقدار دهی کنین از vbNullString استفاده کنین
نمونه پیشرفته تر این تابع FindWindowٍٍExA است اگه کارتون را نیفتاد بگین تا اون رو هم توضیح بدم
:wink:
در ضمن اگه تصمیم دارین تمام پنجره های تحت دسکتاپ رو هم به دست بیارین بهم بگین تا سورس مربوطه رو بهتون بدم
در صورت امکان بیشتر توضیح دهید .
در ضمن من یک حالت هم دیدم که در AnimateWindows ندیده بودم و ان باز شدن فورم به صورت دو لنگه در
مانند اینکه یک در دولنگه را از وسط به بیرون فشار دهید ؟
اولا اون برنامه که دیدید دقیقا چطوریه ؟
اینم یک کد برای تابعی که فرمودید
اگر هم جوابتون این نبود بفرمائید تا روش فکر کنیم
Const AW_HOR_POSITIVE = &H1 'Animates the window from left to right. This flag can be used with roll or slide animation.
Const AW_HOR_NEGATIVE = &H2 'Animates the window from right to left. This flag can be used with roll or slide animation.
Const AW_VER_POSITIVE = &H4 'Animates the window from top to bottom. This flag can be used with roll or slide animation.
Const AW_VER_NEGATIVE = &H8 'Animates the window from bottom to top. This flag can be used with roll or slide animation.
Const AW_CENTER = &H10 'Makes the window appear to collapse inward if AW_HIDE is used or expand outward if the AW_HIDE is not used.
Const AW_HIDE = &H10000 'Hides the window. By default, the window is shown.
Const AW_ACTIVATE = &H20000 'Activates the window.
Const AW_SLIDE = &H40000 'Uses slide animation. By default, roll animation is used.
Const AW_BLEND = &H80000 'Uses a fade effect. This flag can be used only if hwnd is a top-level window.
Private Declare Function AnimateWindow Lib "user32" (ByVal hwnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Boolean
Private Sub Form_Load()
'Set the graphic mode to persistent
Me.AutoRedraw = True
Me.Print "Unload me"
End Sub
Private Sub Form_Unload(Cancel As Integer)
'Animate the window
AnimateWindow Me.hwnd, 200, AW_VER_POSITIVE Or AW_HOR_NEGATIVE Or AW_HIDE
'Unload our form completely
Set Form1 = Nothing
End Sub
اقای کد نویس
برنامه شما فقط بر روی همان فرمی که این کد درونش نوشته شده عمل می کند در صورتی که من می خواهم بر روی تمامی پنجره ها که اصلا ربطی هم به برنامه من ندارند عمل کند مانند my compiuter
چطور میشه هندل یک پنجره رو قبل از باز شدن ان بدست اورد
بر روی دستور
Set SH = New cShellHook
خطای activx component cant create object می دهد
شما فایل DLL رو به پروژه اضافه کردی؟؟؟؟؟نوشته شده توسط R_BABAZADEH
اقا ممنون
تو رفرنس اول اسم dll رو نشون میداد ولی مثل اینکه اضافه نکرده بود :flower: :flower: