امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
سوال درباره ي ActiveX
نویسنده پیام
javaweb آفلاین
در حال پیشرفت
***

ارسال‌ها: 310
موضوع‌ها: 113
تاریخ عضویت: تير ۱۳۹۱

تشکرها : 497
( 325 تشکر در 144 ارسال )
ارسال: #23
RE: سوال درباره ي ActiveX
با سلـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــام
چطور می شود از درون کامپوننت کل برنامه را بست؟
با تشــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــکر :)

الهم عجل لولیک الفرج

[تصویر:  logo.png]
www.shGraphy.ir
insta: @shGraphy_ir
۲۷-شهریور-۱۳۹۱, ۰۹:۳۳:۱۴
وب سایت ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #24
RE: سوال درباره ي ActiveX
راه زياد داره...

Unload UserControl.Parent

(آخرین ویرایش در این ارسال: ۲۷-شهریور-۱۳۹۱, ۱۱:۴۷:۵۷، توسط Di Di.)
۲۷-شهریور-۱۳۹۱, ۱۱:۳۸:۰۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : javaweb
javaweb آفلاین
در حال پیشرفت
***

ارسال‌ها: 310
موضوع‌ها: 113
تاریخ عضویت: تير ۱۳۹۱

تشکرها : 497
( 325 تشکر در 144 ارسال )
ارسال: #25
RE: سوال درباره ي ActiveX
(۱۸-شهریور-۱۳۹۱, ۱۸:۰۶:۲۶)Di Di نوشته است: براي فهميدن اينكه در حالت ديزاين تايم هستي هم مي توني از كد زير استفاده كني
کد:
Option Explicit
Private Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long

Const GW_HWNDNEXT = 2
Const GW_CHILD = 5

'********************************************
'*Give it part of the window text your looking for
'*it will give you the hWnd
'*usefull for windows that text is like "[project] - microsoft visual basic [design]"
'*usage:
'*Msgbox FindWindowLike("visual basic")
'*Returns 0 if not found
'*******************************************

Function FindWindowLike(strPartOfCaption As String) As Long
Dim hWnd As Long
Dim strCurrentWindowText As String
Dim r As Integer

hWnd = GetForegroundWindow

Do Until hWnd = 0
strCurrentWindowText = Space$(255)
r = GetWindowText(hWnd, strCurrentWindowText, 255)
strCurrentWindowText = Left$(strCurrentWindowText, r)
'hWnd = GetWindow(hWnd, GW_CHILD)
If InStr(1, LCase(strCurrentWindowText), LCase(strPartOfCaption)) <> 0 Then GoTo Found
hWnd = GetWindow(hWnd, GW_HWNDNEXT)
Loop

Exit Function
Found:
FindWindowLike = hWnd
End Function
كافيه با استفاده از تابع بالا كلمه [design] رو سرچ كني، اگر هندلي بهت داد يعني الان ويژوال بيسيك در حال اجراست
با سلام و تشکر فراوان من بعد از مدت ها دوباره رفتم سر کد های قدیمیWhistle
یه مشکلی بر خوردم من می خوام یک تایمر در زمان طراحی اجرا نشود و در زمان تست و بعد از کامپایل این تایمر به کار افتد و از کدی که شما لطف کردید به صورت زیر استفاده کردم
کد php:
If FindWindowLike("microsoft visual basic") <> 0 Then
    
If FindWindowLike("[run]") <> 0 Then
        Timer1
.Enabled True
    End 
If
ElseIf 
FindWindowLike("microsoft visual basic") = 0 Then
        Timer1
.Enabled True
End 
If 
با کد بالا در زمان طراحی و تست درسته ولی بعد از کامپایل اگر برنامه ی Visual Basic در حال اجرا باشد این هندل رو بر اساس اون نرم افزار می گیره و مشکل بر می خوره
چکارش کنم که بعد از کامپایل این کار رو نکنهRolleyes
با تشکر فراوانHeart

الهم عجل لولیک الفرج

[تصویر:  logo.png]
www.shGraphy.ir
insta: @shGraphy_ir
۱۳-خرداد-۱۳۹۲, ۱۶:۴۲:۳۰
وب سایت ارسال‌ها
پاسخ
javaweb آفلاین
در حال پیشرفت
***

ارسال‌ها: 310
موضوع‌ها: 113
تاریخ عضویت: تير ۱۳۹۱

تشکرها : 497
( 325 تشکر در 144 ارسال )
ارسال: #26
RE: سوال درباره ي ActiveX
(۱۳-خرداد-۱۳۹۲, ۱۶:۴۲:۳۰)javaweb نوشته است:
(۱۸-شهریور-۱۳۹۱, ۱۸:۰۶:۲۶)Di Di نوشته است: براي فهميدن اينكه در حالت ديزاين تايم هستي هم مي توني از كد زير استفاده كني
کد:
Option Explicit
Private Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long

Const GW_HWNDNEXT = 2
Const GW_CHILD = 5

'********************************************
'*Give it part of the window text your looking for
'*it will give you the hWnd
'*usefull for windows that text is like "[project] - microsoft visual basic [design]"
'*usage:
'*Msgbox FindWindowLike("visual basic")
'*Returns 0 if not found
'*******************************************

Function FindWindowLike(strPartOfCaption As String) As Long
Dim hWnd As Long
Dim strCurrentWindowText As String
Dim r As Integer

hWnd = GetForegroundWindow

Do Until hWnd = 0
strCurrentWindowText = Space$(255)
r = GetWindowText(hWnd, strCurrentWindowText, 255)
strCurrentWindowText = Left$(strCurrentWindowText, r)
'hWnd = GetWindow(hWnd, GW_CHILD)
If InStr(1, LCase(strCurrentWindowText), LCase(strPartOfCaption)) <> 0 Then GoTo Found
hWnd = GetWindow(hWnd, GW_HWNDNEXT)
Loop

Exit Function
Found:
FindWindowLike = hWnd
End Function
كافيه با استفاده از تابع بالا كلمه [design] رو سرچ كني، اگر هندلي بهت داد يعني الان ويژوال بيسيك در حال اجراست
با سلام و تشکر فراوان من بعد از مدت ها دوباره رفتم سر کد های قدیمیWhistle
یه مشکلی بر خوردم من می خوام یک تایمر در زمان طراحی اجرا نشود و در زمان تست و بعد از کامپایل این تایمر به کار افتد و از کدی که شما لطف کردید به صورت زیر استفاده کردم
کد php:
If FindWindowLike("microsoft visual basic") <> 0 Then
    
If FindWindowLike("[run]") <> 0 Then
        Timer1
.Enabled True
    End 
If
ElseIf 
FindWindowLike("microsoft visual basic") = 0 Then
        Timer1
.Enabled True
End 
If 
با کد بالا در زمان طراحی و تست درسته ولی بعد از کامپایل اگر برنامه ی Visual Basic در حال اجرا باشد این هندل رو بر اساس اون نرم افزار می گیره و مشکل بر می خوره
چکارش کنم که بعد از کامپایل این کار رو نکنهRolleyes
با تشکر فراوانHeart
با سلام و تشکر 009
ببخشید این کد بالا رو چطوری تغییر بدم تا این مشکل رفع شود؟040
یا اگر راه بهتری برای انجام این کار می دونید به من بگید044
با تشکــــــــــرHeart

الهم عجل لولیک الفرج

[تصویر:  logo.png]
www.shGraphy.ir
insta: @shGraphy_ir
۱۴-خرداد-۱۳۹۲, ۱۰:۴۱:۱۱
وب سایت ارسال‌ها
پاسخ
saeedsmk آفلاین
مدیر بخش کرک و کامپیوتر
*****

ارسال‌ها: 506
موضوع‌ها: 74
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 677
( 1179 تشکر در 348 ارسال )
ارسال: #27
RE: سوال درباره ي ActiveX
سلام
خوب هستيد
براي اينكه ببنيد در حالت استفاده و برنامه نويس هستيد و يا اينكه فايل اجرايي رو اجرا كرديد نياز به استفاده از api نيست
خود وي بي توانايي اين كار رو داره :
کد:
Function InIDE() As Boolean

    On Error Resume Next

    Err.Clear
    Debug.Print 1 / 0

    If Err = 0 Then
        InIDE = False
    Else
        InIDE = True
    End If

End Function
طرز كار كرد :
شي debug فقط حين برنامه نويسي موجوده . خوب اگر از اين شي استفاده كنيد و در حالت برنامه نويسي باشه عمل print اجرا ميشه و چون هر عددي تقيسم بر 0 مشكل داره خطا ايجاد ميكنه و شي err رو (err.number مقدار پيش فرض شي err) ست ميكنه به هر چيزي غير 0 ( براي مقابله با پيغام خطا از On Error Resume Next استفاده شده )
در صورتي كه در حالت اجرا فايل اجرايي باشيد چون شي debug موجود نيست عمل print انجام نميشه ( يعيني چيزي بر صفر تقسيم نميشه و خطايي به وقوع نميپيونده ) ومقدار err برابر 0 ميشه

اميدوارم كمك كنه

در دنياي كه مرگ شكارچي ان است بايد شكارچي بود - تعليمات دون خوان نوشته كارلوس كاستاندار
۱۴-خرداد-۱۳۹۲, ۱۴:۲۶:۵۷
ارسال‌ها
پاسخ
تشکر شده توسط : javaweb, babyy, Di Di, Payman62
javaweb آفلاین
در حال پیشرفت
***

ارسال‌ها: 310
موضوع‌ها: 113
تاریخ عضویت: تير ۱۳۹۱

تشکرها : 497
( 325 تشکر در 144 ارسال )
ارسال: #28
RE: سوال درباره ي ActiveX
خیلی ممنونـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــHeart
واقعا خیلی به من کمک کردید خیلی جالب بودClap
بازم تشکــــــــــــــــــــــرHappy

الهم عجل لولیک الفرج

[تصویر:  logo.png]
www.shGraphy.ir
insta: @shGraphy_ir
۱۴-خرداد-۱۳۹۲, ۱۴:۳۷:۳۲
وب سایت ارسال‌ها
پاسخ
javaweb آفلاین
در حال پیشرفت
***

ارسال‌ها: 310
موضوع‌ها: 113
تاریخ عضویت: تير ۱۳۹۱

تشکرها : 497
( 325 تشکر در 144 ارسال )
ارسال: #29
RE: سوال درباره ي ActiveX
با سلام و تشکر از تمام دوستان بامرام ایران ویجHeart
نقل قول: سلام
خوب هستيد
براي اينكه ببنيد در حالت استفاده و برنامه نويس هستيد و يا اينكه فايل اجرايي رو اجرا كرديد نياز به استفاده از api نيست
خود وي بي توانايي اين كار رو داره :
کد:
کد:
Function InIDE() As Boolean

    On Error Resume Next

    Err.Clear
    Debug.Print 1 / 0

    If Err = 0 Then
        InIDE = False
    Else
        InIDE = True
    End If

End Function
طرز كار كرد :
شي debug فقط حين برنامه نويسي موجوده . خوب اگر از اين شي استفاده كنيد و در حالت برنامه نويسي باشه عمل print اجرا ميشه و چون هر عددي تقيسم بر 0 مشكل داره خطا ايجاد ميكنه و شي err رو (err.number مقدار پيش فرض شي err) ست ميكنه به هر چيزي غير 0 ( براي مقابله با پيغام خطا از On Error Resume Next استفاده شده )
در صورتي كه در حالت اجرا فايل اجرايي باشيد چون شي debug موجود نيست عمل print انجام نميشه ( يعيني چيزي بر صفر تقسيم نميشه و خطايي به وقوع نميپيونده ) ومقدار err برابر 0 ميشه

اميدوارم كمك كنه
واقعا کد جالبی بود ولی من می خواهم از این کد در کامپوننت استفاده کنم و InIDE در بخش کد کامپوننت هست و چون کامپوننت کامپایل می شود وسپس در برنامه ی طرف قرار می گیرد دراین حالت هیچ وقت شي debug موجود نيست عمل print انجام نميشه.Whistle
و من نمی تونم از این کد استفاده کنمQuestion
اگر من اشتباه می کنم ببخشیدShyآیا راحی برای فراخوانی اون شئ debug در پروژه ی کاربر به وسیله ی کامپوننت ما نیست؟

الهم عجل لولیک الفرج

[تصویر:  logo.png]
www.shGraphy.ir
insta: @shGraphy_ir
(آخرین ویرایش در این ارسال: ۱۹-خرداد-۱۳۹۲, ۱۵:۳۷:۳۲، توسط javaweb.)
۱۸-خرداد-۱۳۹۲, ۱۸:۰۳:۴۱
وب سایت ارسال‌ها
پاسخ
javaweb آفلاین
در حال پیشرفت
***

ارسال‌ها: 310
موضوع‌ها: 113
تاریخ عضویت: تير ۱۳۹۱

تشکرها : 497
( 325 تشکر در 144 ارسال )
ارسال: #30
RE: سوال درباره ي ActiveX
با سلام و تشکـــــــــــــــــــــــــHeartـــــــــــــــــــــــــــــــــر
چنتا سوالSmile
1.چطوری نام پروژه ی کاربر را بگیریم؟Clap
2.چطوری نام فورمی را که کنترل در آن قرار دارد را بگیریم؟Clap
خیلــــــــــــــــــــــــــــــــــــــــــــی ممنونـــــــــــــــــــــــــــــــــ009ـــــــــــــــــــ028

الهم عجل لولیک الفرج

[تصویر:  logo.png]
www.shGraphy.ir
insta: @shGraphy_ir
۱۹-خرداد-۱۳۹۲, ۱۵:۳۸:۲۶
وب سایت ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #31
RE: سوال درباره ي ActiveX
يه دونه ماژول بساز اين كدها رو بنداز توش :
کد:
Option Explicit
Private Declare Function GetWindow Lib "user32" (ByVal Hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal Hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long

Const GW_HWNDNEXT = 2
Const GW_CHILD = 5

Function FindIDE() As String
Dim Hwnd As Long
Dim strCurrentWindowText As String
Dim r As Integer

Hwnd = GetForegroundWindow

strCurrentWindowText = Space$(255)
r = GetWindowText(Hwnd, strCurrentWindowText, 255)
strCurrentWindowText = Left$(strCurrentWindowText, r)

If InStr(1, LCase(strCurrentWindowText), LCase("Microsoft Visual Basic")) <> 0 Then
    FindIDE = "In [Design Time!]"
Else
    FindIDE = "In [Run Time!]"
End If

End Function
Function FindPJName() As String
Dim Hwnd As Long
Dim strCurrentWindowText As String
Dim r As Integer

Hwnd = GetForegroundWindow

strCurrentWindowText = Space$(255)
r = GetWindowText(Hwnd, strCurrentWindowText, 255)
strCurrentWindowText = Left$(strCurrentWindowText, r)

'If InStr(1, LCase(strCurrentWindowText), LCase("Microsoft Visual Basic")) <> 0 Then
    FindPJName = Replace(strCurrentWindowText, "- Microsoft Visual Basic [design]", "")
'Else
'    FindPJName = strCurrentWindowText
'End If

End Function

سه تا دونه ليبل بنداز وسط يوزر كنترلت و اين كدها رو بريز توش!‌:

کد:
Private Sub UserControl_Paint()
Label1 = "Form Name : " & UserControl.Parent.Name
Label2 = "Run Mode : " & FindIDE
Label3 = "Project Name : " & FindPJName
End Sub

كامپوننت رو كامپايل كن و بندازش وسط پروژه جديد و لذت ببر!!

۲۰-خرداد-۱۳۹۲, ۱۰:۳۱:۰۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : javaweb, Ghoghnus, babyy
javaweb آفلاین
در حال پیشرفت
***

ارسال‌ها: 310
موضوع‌ها: 113
تاریخ عضویت: تير ۱۳۹۱

تشکرها : 497
( 325 تشکر در 144 ارسال )
ارسال: #32
RE: سوال درباره ي ActiveX
با سلــــــــــــــــــــــــــ038ــــــــــــــــــــام و تشکـــــــــــــــــــــــــHeartــــــــــــــــــــــــر
خیلی کد مفیدی بود و به من کمک کردیدClapواقعا ممنونHeart
خودم می خواستم این کار شما رو بکنم با نام پروژه و فورم مشکل اون کد که هندل را می گرفت حل کنم که شما لطف کردید و مشکلاتمو حل کردید.
با تشکـــــــــــــــــــــــــــــــــــــــــــــــــــــHeartــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــر

الهم عجل لولیک الفرج

[تصویر:  logo.png]
www.shGraphy.ir
insta: @shGraphy_ir
۲۰-خرداد-۱۳۹۲, ۱۲:۲۴:۲۸
وب سایت ارسال‌ها
پاسخ
javaweb آفلاین
در حال پیشرفت
***

ارسال‌ها: 310
موضوع‌ها: 113
تاریخ عضویت: تير ۱۳۹۱

تشکرها : 497
( 325 تشکر در 144 ارسال )
ارسال: #33
RE: سوال درباره ي ActiveX
با سلام دوستانHeart
میدونم در زمان اجرا نمی شه مقدار یک مشخصه را از درون خود کامپوننت نمی شه تغییر داد!میشه؟
آیا راحی برای این کار است؟
مثلا من می خواهم یک مشخصه که در هر ثانیه یکی بهش افزوده می شود ولی بعد از پایان برنامه این مشخصه مقدار اولیه خود را داردWhistle
با تشکــــــــــــــــــــــــــــHeartــــــــــــــــــــــــــر

الهم عجل لولیک الفرج

[تصویر:  logo.png]
www.shGraphy.ir
insta: @shGraphy_ir
۲۹-خرداد-۱۳۹۲, ۱۸:۵۳:۳۹
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  نیاز به راهنمایی درباره ارسال اطلاعات reza2010wf 2 3,830 ۲۶-شهریور-۱۳۹۴, ۱۱:۵۸:۰۷
آخرین ارسال: Ghoghnus
  سوالاتی درباره ی هندل javaweb 7 7,499 ۱۸-خرداد-۱۳۹۲, ۱۴:۲۱:۲۸
آخرین ارسال: Di Di
Question سوال درباره چگونگي سرچ كردن در ديتابيس PRO 17 11,943 ۰۸-شهریور-۱۳۹۱, ۱۹:۵۲:۲۷
آخرین ارسال: PRO
  درباره ی شی list view و کاربا پایگاه داده RAMA2009 0 4,024 ۲۱-اسفند-۱۳۸۹, ۲۳:۰۱:۴۰
آخرین ارسال: RAMA2009
  سوال مهم درباره Web Browser hamidjava 3 4,220 ۲۱-دى-۱۳۸۹, ۲۱:۰۶:۳۶
آخرین ارسال: mohamadpk
  سوال درباره ی Rich TextBox hasanian 3 3,799 ۳۱-اردیبهشت-۱۳۸۹, ۱۰:۵۷:۱۱
آخرین ارسال: HoseinVig
  چند سوال درباره ی vb mr.hk 1 2,906 ۲۲-آبان-۱۳۸۸, ۱۶:۰۲:۴۴
آخرین ارسال: Robocup
  سوال درباره ی نمایش Process ها در برنامه saeedvir 3 4,131 ۱۰-مهر-۱۳۸۸, ۱۱:۲۹:۱۰
آخرین ارسال: Fireninja
Toungue یه سوال درباره فونت dreamvbfox 12 10,876 ۲۱-بهمن-۱۳۸۷, ۰۴:۵۸:۲۴
آخرین ارسال: vz67
  چند سوال درباره فونت و فرم تو وی بی mojtabamalaekeh 4 3,410 ۳۰-فروردین-۱۳۸۷, ۰۲:۱۴:۱۷
آخرین ارسال: mojtabamalaekeh

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS