相信大家都知道vb編譯的exe要一些動態連結檔才能跑!
我是想說如果把vb所虛要的dll及ocx一起包入所編譯的exe裡面!
重點來了!我該如何讓vb的exe檔去跟自己包入的動態連結檔做連結
好讓vb的exe到那都可以執行!
好像很難喔!懇請幫忙ㄚ各位vb達人大大们!
2007-01-20 18:29:46 · 4 個解答 · 發問者 鳴 5 in 電腦與網際網路 ➔ 程式設計
我目前有一套軟體可以把動態連結檔內的一個msvbvm.dll作連結並做成一個exe檔!但只能連結一個!
所以就是沒有msvbvm.dll我那exe檔也可以跑!
但是我還是缺別的動態連結檔所以要是沒有就不能跑了!
2007-01-20 18:34:40 · update #1
因為我是想要免安裝的綠色軟體!
所以不能用封裝佈署精靈
2007-01-21 05:48:35 · update #2
對!是編譯成執行檔!
2007-01-21 05:49:28 · update #3
直接給您模組,我還得不到最佳解答的話,真沒天理了!
Attribute VB_Name = "Module1"
Dim selflen As Long
Dim f As String
Sub Main()
'自己的完整路徑檔名
f = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\") & App.EXEName & ".exe"
'釋放的路徑
f1 = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\")
'預埋長度變數
a = "00000000"
selflen = CLng(a)
'判斷是否有增加資料或變數未被修正過
If (FileLen(f) = selflen) Or (selflen = 0) Then MsgBox "未合併入資料": Exit Sub
Dim b() As Byte
Dim rf As String * 255 '原檔名變數
ReDim b(FileLen(f) - selflen - 255) '計算新增資料的長度
Open f For Binary As #1 '自我開啟
Seek #1, selflen + 1 '跳至檔尾
Get #1, , rf '讀取原本的檔名
f1 = f1 & Trim(rf) '還原的路徑+檔名
Open f1 For Binary As #2 '開啟釋放檔
Get #1, , b '讀檔尾資料
Put #2, , b '還原寫入
Close #2
Close #1
End Sub
2007-02-02 17:07:30 · answer #1 · answered by ? 7 · 0⤊ 0⤋
這是還原的Moudle吧 人家要的是加入 而不是還原
2008-03-01 07:46:45 · answer #2 · answered by 阿不拉 2 · 0⤊ 0⤋
嗯 有點困難
你必須儘量不用VB裡面的控制項(或物件)
寫出你的程式^^
因為額外的東西就要呼叫到 VB的DLL
要不然就不會需要VB Runtime囉^^
或者你可以嘗試 用VB先把需要用到的DLL註冊(regsvr32)
在執行主程式 ,結束時在反註冊
2007-01-29 17:03:02 · answer #3 · answered by 桃園遊子 1 · 0⤊ 0⤋
有點不是很懂這個問題...
這個大大的是直接編譯成執行檔??
可以試著使用封裝佈署精靈應該就可以解決大大的問題了。
2007-01-24 20:15:55 補充:
只要是要執行程式的電腦有所有的元件,那就算是免安裝的綠色軟體了@@"好像有點牽強..
我是有一種很笨的方法啦@@"...
就把所有用的到的元件全部都加到一個form內...然後再用封裝佈署精靈..那只要安裝一次這個安裝檔就可以了,其他的VB程式全都不用再封包了@@"..希望對你有幫助~~
2007-01-21 04:10:23 · answer #4 · answered by chisky 1 · 0⤊ 0⤋