因為我想將做成的界面直接生成一個EXE檔案在別的電腦上(沒有VB環境)使用,我用VB6的資源編輯器將我所用的一些控制元件(MSWINSCK.OCX)放入里面,然后在主表單中加載。具體代碼如下所示
Option Explicit
Private Declare Function GetSystemDirectory Lib "kernel32" Alias _
"GetSystemDirectoryA" (ByVal lpBuffer As String, _
ByVal nSize As Long) As Long
Public Sub RegsvrFile(ByVal ResourceID As Integer, strFormat As String, strFileName As String)
Dim bytArr() As Byte
Dim strSystemPath As String
Dim Filenum As Long
'on error resume next
strSystemPath = String(255, 0)
GetSystemDirectory strSystemPath, 256
strSystemPath = Left(strSystemPath, InStr(1, strSystemPath, Chr(0)) - 1)
bytArr = LoadResData(ResourceID, strFormat)
Filenum = FreeFile
Open strSystemPath & "/" & strFileName For Binary As #Filenum
Put #1, , bytArr
Close #Filenum
Call Shell("regsvr32 " + strFileName, vbHide)
End Sub
Private Sub Form_Load()
RegsvrFile 101, "CUSTOM", "dsoframer.ocx"
RegsvrFile 102, "CUSTOM", "dsoframerctl.ocx"
Unload Me
End Sub
這樣寫完之后,生成EXE檔案,發現還是不能在別的電腦上使用,希望有大佬可以為我解惑
uj5u.com熱心網友回復:
你要在模塊檔案里操作,程式使用Main函式啟動,而不是常規的Form啟動,然后在模塊函式里完成控制元件的釋放和注冊。
完成之后,再轉到Form啟動。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/23416.html
標籤:VB基礎類
上一篇:VB模糊洗掉sheet
