PDA

View Full Version : غیر فعال کردن کلیک راست روی فلاش



سید حمید حق پرست
جمعه 28 بهمن 1390, 20:35 عصر
سلام دوستان
من یه سوال داشتم :
ایا راهی برای غیر فعال کرد کلیک راست روی فلاش در وی بی هست (flash.ocx) ?

سید حمید حق پرست
جمعه 28 بهمن 1390, 20:44 عصر
یا کامپوننتی کنترلی چیزی دیگر واسه نمایش swf در ویبی دارید بزارید ممنون میشم . چون مال ویندوز هنگام ذخیره پروژه خطا میده

ASedJavad
شنبه 29 بهمن 1390, 05:35 صبح
سلام
شما از چه کنترلی استفاده میکنی؟
این کد رو چک کن ببین کار میکنه:
اینا رو تو یه مدول بنویس:
Public Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal Hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc Lib "user32.dll" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal Hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const GWL_WNDPROC As Long = -4
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_NULL = &H0
Public OldProc

Public Sub SetHook(ByVal Hwnd As Long)
OldProc = SetWindowLong(Hwnd, GWL_WNDPROC, AddressOf ControlProc)
End Sub

Public Sub UnHook(ByVal Hwnd As Long)
SetWindowLong Hwnd, GWL_WNDPROC, OldProc
End Sub

Public Function ControlProc(ByVal wHwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If wMsg = WM_RBUTTONDOWN Then
wMsg = WM_NULL
End If
TextBoxProc = CallWindowProc(OldProc, wHwnd, wMsg, wParam, lParam)
End Function


حالا اینا رو تو فرمت بنویس
Private Sub Form_Load()
SetHook Control.Hwnd
End Sub

Private Sub Form_Unload(Cancel As Integer)
UnHook Control.Hwnd
End Sub

سید حمید حق پرست
شنبه 29 بهمن 1390, 10:49 صبح
سلام . ممنون از راهنماییتون
از کنترل خود ویندوز . ولی هنگام ذخیره کردن پروژه خطا میدهد . اینم عکس :

http://s1.picofile.com/file/7304937525/1100.jpg

تو یه تاپیک دیگه بحث شده بود و روش رو گفته بودن اما باز این خطا را میداد

سید حمید حق پرست
شنبه 29 بهمن 1390, 10:52 صبح
سلام
شما از چه کنترلی استفاده میکنی؟
این کد رو چک کن ببین کار میکنه:
اینا رو تو یه مدول بنویس:
Public Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal Hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc Lib "user32.dll" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal Hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const GWL_WNDPROC As Long = -4
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_NULL = &H0
Public OldProc

Public Sub SetHook(ByVal Hwnd As Long)
OldProc = SetWindowLong(Hwnd, GWL_WNDPROC, AddressOf ControlProc)
End Sub

Public Sub UnHook(ByVal Hwnd As Long)
SetWindowLong Hwnd, GWL_WNDPROC, OldProc
End Sub

Public Function ControlProc(ByVal wHwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If wMsg = WM_RBUTTONDOWN Then
wMsg = WM_NULL
End If
TextBoxProc = CallWindowProc(OldProc, wHwnd, wMsg, wParam, lParam)
End Function


حالا اینا رو تو فرمت بنویس
Private Sub Form_Load()
SetHook Control.Hwnd
End Sub

Private Sub Form_Unload(Cancel As Integer)
UnHook Control.Hwnd
End Sub


این خطا رو میده :
http://s1.picofile.com/file/7304943759/Snap_2012_02_18_11h10m18s_002.jpg

ASedJavad
شنبه 29 بهمن 1390, 14:39 عصر
خوب شما تو اون خط باید بجای Control.hwnd هندل کنترل مورد نظرتو بذاری. که از اونجایی که این کنترل خصوصیتی به اسم hwnd نداره، باید یه طوری اونو پیدا کنی مثلا با کمک تابع ای پی آی FindWindowEx مثلا با دستور زیر:
x = FindWindowEx(Me.hwnd, 0, "MacromediaFlashPlayerActiveX", vbNullString)

راستی تو مدول بجای Public Const WM_RBUTTONDOWN = &H204 از Public Const WM_ShowPopUpMenu = &HB7 استفاده کنی بهتره (که تو فانکشن controlproc هم باید اعمالش کنی)

سید حمید حق پرست
شنبه 29 بهمن 1390, 15:23 عصر
سلام . ممنون از راهنماییتون
از کنترل خود ویندوز . ولی هنگام ذخیره کردن پروژه خطا میدهد . اینم عکس :

http://s1.picofile.com/file/7304937525/1100.jpg

تو یه تاپیک دیگه بحث شده بود و روش رو گفته بودن اما باز این خطا را میداد


داداش ممنون از راهنماییت . این مشکل بالا چی میدونید چه طور برطرف میشه

M.T.P
شنبه 29 بهمن 1390, 16:36 عصر
کنترل فلش رو روی یه PictureBox قرار بدید و پروپرتی Enabled اون False کنید. برای لبه های PictureBox هم می تونید Border Style ش رو تنظیم کنید.

سید حمید حق پرست
شنبه 29 بهمن 1390, 17:46 عصر
کنترل فلش رو روی یه PictureBox قرار بدید و پروپرتی Enabled اون False کنید. برای لبه های PictureBox هم می تونید Border Style ش رو تنظیم کنید.

واقعا ممنون از راهنماییتون

واسه این مشکل چی راه حلی دارید؟ :
هنگام ذخیره کردن پروژه خطا میدهد . اینم عکس :

http://s1.picofile.com/file/7304937525/1100.jpg

تو یه تاپیک دیگه بحث شده بود و روش رو گفته بودن اما باز این خطا را میداد

Mr'Jamshidy
شنبه 29 بهمن 1390, 21:30 عصر
تا جایی که من میدونم این مشکل بخاطر Add-On های نصب شده روی ویبی هست

همه رو غیر فعال کن ببین بازم هم خطا میده یا نه

سید حمید حق پرست
شنبه 29 بهمن 1390, 22:42 عصر
تا جایی که من میدونم این مشکل بخاطر Add-On های نصب شده روی ویبی هست

همه رو غیر فعال کن ببین بازم هم خطا میده یا نه

میشه یه کم بیشتر توضیح بدید Add-Ons یا Add-Ins . اگر Add-Ons (لطفا توضیح بدید کجا غیر فعال کنم) و اگر Add-Ins (هیچی وارد نکردم)
با تشکر از توجه شما به سوال بنده - ممنون

سید حمید حق پرست
شنبه 29 بهمن 1390, 22:59 عصر
این هم نشد داداش گلم . روش دیگه ای نیست . تورو خدا کمکم کنید :گریه:

Mr'Jamshidy
یک شنبه 30 بهمن 1390, 15:11 عصر
همون Add-On و Add-In چه فرقی میکنه فقط یک I با O تفاوتشه

من زمانی این مشکل برام بوجود میاد که Add-In ساخت Standard-Dll رو فعال میکنم (اونم بعضی موقع اذیت میکنه)

حالا سوالی که مطرح میشه اینه که روی یک پروژه خاص این اتفاق میافته یا روی همه پروژه ها
اگر همه پروژه ها، VB رو از بیخ و بن پاکش کن دوباره نصب کن ببین مشکل حل میشه یا نه (در ضمن اگر از ویندوز 7 استفاده میکنی و VB رو در حالت Admin باز نمیکنی یک بار در حالت Admin (راست کلیک روی VB و انتخاب گزینه Run as administrator) باز کن ببین چی میشه)

اگر مربوط به یک پروژه خاص هست که ببین پروژه کجاش مشکل داره

سید حمید حق پرست
یک شنبه 30 بهمن 1390, 15:30 عصر
مربوط به همه ی پروژه هاست . در همه ی پروژه ها این مشکل وجود داره

سید حمید حق پرست
یک شنبه 30 بهمن 1390, 15:33 عصر
ویندوزم سون هست . راست کلیک روی VB و انتخاب گزینه Run as administrator رو هم انجام دادم اما باز مشکل داره

سید حمید حق پرست
یک شنبه 30 بهمن 1390, 16:06 عصر
وی بی رو کمپلیت حذف کردم و دوباره نصب کردم بازم همون خطا

کسی نیست مارو از این فلاکت نجات بده . کمکم کنید دارم دیونه میشم:عصبانی++:

Mr'Jamshidy
یک شنبه 30 بهمن 1390, 19:22 عصر
والا هرچی که هست مربوط به ویبیه اما دیگه مخم به جایی قد نمیده منم 7 دارم اما این همه دردسر ندارم

شاید نسخه ویبی مشکل داره؟ همون که نصب میکنی

ASedJavad
دوشنبه 01 اسفند 1390, 07:58 صبح
از اول نصب ویبی این مشکلو داشتی یا جدیدا برات پیش اومده

سید حمید حق پرست
دوشنبه 01 اسفند 1390, 11:08 صبح
از اول اینجوری بود . قبلا وقتی پروژه ای مینوشتم و فایلهای فلاش را در اخر کار اضافه و کمپایل میکردم . چون ذخیره نمیشدن . ولی حالا باید حتما ذخیره بشن