Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Jak zarejestrowac OCX
Staszek




Typ: neutral
Postów: 46
Zarejestrowany: Dec 2003
Jak zarejestrowac OCX

jak w temacie. Jak zarejestrowac kontrolke?


_____________________________________________
PZdr. St ()

"Nie mysl jak napisac ! Mysl co napisac !" Swiete slowa .. Of corz moje =p

01-03-2005 11:52
Pokaż profil Staszek  Wyślij email do Staszek        2620939
Chudy
[TLHW]Wiktor



Typ: moderator
Postów: 574
Zarejestrowany: Aug 2002

Można to zrobić odwołując się do regsvr32 lub poprzez API. Wklejam sampla z API-Guide:
' Add 2 Commandbuttons and a textbox to the form, and paste this code into the form
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

    'KPD-Team 2000
    'URL: http://www.allapi.net/
    'E-Mail:
    'We're going to call an API-function, without declaring it!

    ' Modified by G. Kleijer
    '
    ' 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



_____________________________________________
Projekt "Thunder Cannons" nadchodzi...

01-03-2005 14:12
Pokaż profil Chudy  Wyślij email do Chudy   Odwiedź stronę Chudy       1220895
Staszek




Typ: neutral
Postów: 46
Zarejestrowany: Dec 2003

dzieki za przyklad


_____________________________________________
PZdr. St ()

"Nie mysl jak napisac ! Mysl co napisac !" Swiete slowa .. Of corz moje =p

01-03-2005 20:11
Pokaż profil Staszek  Wyślij email do Staszek        2620939
Wszystkich odpowiedzi: 2 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1