PDA

View Full Version : سوال: رجیستر کردن خودکار



salamu
سه شنبه 07 آذر 1391, 20:03 عصر
اگه میشه یه سورس بذارید که با اجرا کردنش تمام OCX های ضمیمه شده اتوماتیک رجیستر بشن.ممنون.(در ضمن این ها کامپوننت های گلچین شده و خوبی هستند.اگه خوشتون اومد تشکر کنید.)

حجم هر پارت=976 KB

پارت1 (http://up.persianv.com/imagess/f0g696ty4u43sdq46xh9.rar)
پارت2 (http://up.persianv.com/imagess/orx3badeq27x3avvw8bg.rar)
پارت3 (http://up.persianv.com/imagess/dkjocao0ovtklb2grnr.rar)
پارت4 (http://up.persianv.com/imagess/pi76vxxjr1r8694rzcqx.rar)
پارت5 (http://up.persianv.com/imagess/9koutnbm8cu1d2p1uhds.rar)
پارت6 (http://up.persianv.com/imagess/g7p7i97vtm0bx2eflxm0.rar)
پارت7 (http://up.persianv.com/imagess/k9l582sz6bg5quxpjvu3.rar)
پارت8 (http://up.persianv.com/imagess/9ru0i6hjcri912hkthd5.rar)

SHD.NET
سه شنبه 07 آذر 1391, 22:55 عصر
یعنی چی ؟؟ منظورتونو متوجه نمیشم . هر کامپوننتی یه روش رجیستر داره !!!

SlowCode
سه شنبه 07 آذر 1391, 23:32 عصر
سلام
کافیه اینها رو توی یه پوشه بریزی بعد با تابع Dir اسمشون رو بدست بیاری و بعد با Regsvr32 رجیسترشون کنی.

salamu
پنج شنبه 09 آذر 1391, 18:13 عصر
سلام
کافیه اینها رو توی یه پوشه بریزی بعد با تابع Dir اسمشون رو بدست بیاری و بعد با Regsvr32 رجیسترشون کنی.
این روش تو ویندوز 7 کار نمی کنه!

AbbasVB
پنج شنبه 09 آذر 1391, 19:11 عصر
از کد زیر استفاده کنید
شاید جواب بدهد

Option Explicit

Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Any, ByVal wParam As Any, ByVal lParam As Any) As Long
Private Const ERROR_SUCCESS = &H0

Private Sub Form_Load()
Text1.Text = "C:\WINDOWS\SYSTEM\COMCTL32.OCX"
Command1.Caption = "Register server"
Command2.Caption = "Unregister server"
End Sub

Private Sub Command1_Click()
Call RegisterServer(Me.hWnd, Text1.Text, True)
End Sub

Private Sub Command2_Click()
Call RegisterServer(Me.hWnd, Text1.Text, False)
End Sub

Public Function RegisterServer(hWnd As Long, DllServerPath As String, bRegister As Boolean)
On Error Resume Next


' Modified by G. Kleijer
' gkleijer@casema.net
' going to call the DllRegisterServer/DllUnRegisterServer API of the specified library.
' there's no need to use the Regsvr32.exe anymore.

' Make sure the path is correct and that the file exists, otherwise VB will crash.

Dim lb As Long, pa As Long
lb = LoadLibrary(DllServerPath)

If bRegister Then
pa = GetProcAddress(lb, "DllRegisterServer")
Else
pa = GetProcAddress(lb, "DllUnregisterServer")
End If

If CallWindowProc(pa, hWnd, ByVal 0&, ByVal 0&, ByVal 0&) = ERROR_SUCCESS Then
MsgBox IIf(bRegister = True, "Registration", "Unregistration") + " Successful"
Else
MsgBox IIf(bRegister = True, "Registration", "Unregistration") + " Unsuccessful"
End If
'unmap the library's address
FreeLibrary lb
End Function

SlowCode
پنج شنبه 09 آذر 1391, 21:47 عصر
این روش تو ویندوز 7 کار نمی کنه!
نه عزیزم من خودم بارها امتحان کردم.
2 حالت داره:
1- یا ویندوزت 64 بیتیه.
2- یوزری که استفاده میکنی ادمین نیست.

salamu
شنبه 11 آذر 1391, 18:26 عصر
ویندوزم 64 بیته ولی با دستوری که آقای AbbasVB (http://barnamenevis.org/member.php?205103-AbbasVB) نوشتن درست شد.

SlowCode
شنبه 11 آذر 1391, 18:53 عصر
دستور زیر خیلی کوتاه تره ولی مخصوص ویندوز 64 بیتی هست.
اول فایلت رو به مسیر c:\windows\sysWOW64 بریز بعد این کد رو اجرا کن:

Shell "regsvr32 C:\Windows\SysWOW64\regsvr32 C:\windows\sysWOW64\AlphaImageControl.ocx", vbHide

سید حمید حق پرست
شنبه 11 آذر 1391, 20:26 عصر
سلام علیکم
بفرمایید اینم سورس :
دانلود (http://marivansoft.com/reg-ocx.rar)
در این سورس اول فایل dll به پوشه system32 کپی شده بعد رجستر میشود همه چی خودکار
موفق باشید

یا علی (ع)

salamu
سه شنبه 14 آذر 1391, 17:49 عصر
از همتون ممنون.مشکلم حل شد.