سلام دوستان می خواستم بدونم چطور از طریق کدنویسی یه کامپوننت رو توی کامپیوتر کاربر رجیستر کنم؟
سلام دوستان می خواستم بدونم چطور از طریق کدنویسی یه کامپوننت رو توی کامپیوتر کاربر رجیستر کنم؟
Shell "regsvr32 VBAME.dll"
اگه میخواین پیغام نده بصورت Silent میشه:
Shell "regsvr32 VBAME.dll /s"
با تاييد روش جناب M.T.P . يه راهش هم استفاده از API هست.خب شايد Regsvr32.exe بلايي سرش اومده باشه!
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Sub RegisterCom(ComFileName As String)
Dim lngLoadLB As Long
Dim lngGetAdd As Long
Dim lngSendMsg As Long
lngLoadLB = LoadLibrary(ComFileName)
lngGetAdd = GetProcAddress(lngLoadLB, "DllRegisterServer")
lngSendMsg = CallWindowProc(lngGetAdd, hWnd, (0), (0), (0))
FreeLibrary lngLoadLB
End Sub
خیلی عذر می خوام ها. شما همه روشتون درست، ولی وقتی روی برنامه دابل کلیک می کنی تا اجرا بشه اول سیستم چک می کنه که کامپوننت ثبت شده هست یا نه اگه ثبت شده نبود همون اول برنامه ارور می ده و دیگه داخلش نمی ره. اونوقت شما این کدها رو می خواین کجا بنویسین تا اول این دستورات رو انجام بده؟
اینطوری:خیلی عذر می خوام ها. شما همه روشتون درست، ولی وقتی روی برنامه دابل کلیک می کنی تا اجرا بشه اول سیستم چک می کنه که کامپوننت ثبت شده هست یا نه اگه ثبت شده نبود همون اول برنامه ارور می ده و دیگه داخلش نمی ره. اونوقت شما این کدها رو می خواین کجا بنویسین تا اول این دستورات رو انجام بده
https://barnamenevis.org/showthread.p...B5%D8%A7%D8%A8)
آخرین ویرایش به وسیله M.T.P : یک شنبه 26 دی 1389 در 10:07 صبح