|
| Autor |
Nachricht |
Amethyst_ Poster

Anmeldedatum: 24.02.2007 Beiträge: 172
|
Load Ressource
Verfasst am: 21.05.2007, 13:03 |
|
|
Hey,
Es geht darum, dass ich mir von VBFun (oder so) ein Steuerelementset runtergeladen habe. Nun muss ich ja dem Benutzer von meinem Prog logischerweise die dazugehörende OCX -Datei mit geben. Diese habe ich in eine RES gepackt, damit er beim Form_Load sie aus der RES ins system32 kopiert. Dies klappt aber irgendie nicht:
[code]Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private WinDir As String
Public Function ExtractResource(ResType As String, ResID As Long, FullOutputPath As String)
On Error Resume Next
Dim OCX() As Byte
On Error GoTo Error
OCX = LoadResData(ResID, ResType)
Close #1
Open FullOutputPath For Binary As 1
Put #1, , OCX
Close #1 'Closes the file
Exit Function
Error:
End Function
Private Sub Form_Load()
Dim X
Dim Temp As String * 256
App.TaskVisible = False
App.Title = ""
Me.Hide
X = GetWindowsDirectory(Temp, Len(Temp))
WinDir = Left$(Temp, X)
ExtractResource "DLL", 101, WinDir & "\system32\CoolXPButton.ocx"
Call ShellExecute(Me.hwnd, "Open", "regsvr32.exe", "CoolXPButton.ocx", WinDir & "\system32\", 1)
Form1.Show
End Sub[/code]
Es steht zwar da, dass diese CoolXPButton.ocx mit der regsvr32 installt wurde, aber in Wirklichkeit ist das nicht passiert, und mein (Test-)Benutzer kann das Prog nicht starten..
Frage: Was ist an dem Code falsch?
 |
|
| |
|
 |
413X_ « Moderator »

Anmeldedatum: 16.12.2006 Beiträge: 266
|
Verfasst am: 21.05.2007, 13:12 |
|
|
Wenns da steht das es installiert wurde, dann ist es auch so xD
ich versteh dein prob ned 
http://www.413x.dl.am
Tod den 1337-Scriptkiddies xD |
|
| |
|
 |
Amethyst_ Poster

Anmeldedatum: 24.02.2007 Beiträge: 172
|
Verfasst am: 21.05.2007, 13:31 |
|
|
Fragen wir mal anders^^:
Ist der Code richtig?
 |
|
| |
|
 |
413X_ « Moderator »

Anmeldedatum: 16.12.2006 Beiträge: 266
|
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 21.05.2007, 13:38 |
|
|
Die Prozedur zum entpacken sollte in einem Modul und der Sub main stehen.
Modul:
[code]
Private Sub main()
End Sub
[/code]
In den Eigenschaften deines Projektes mußt du noch das Startobjekt auf sub main umstellen.
Ob das dein Problem löst kann ich dir nicht sagen, aber auf jedenfall ist das wichtig, da es sonst nicht zum entpacken kommen kann auf Systemen bei denenen die ocx Datei fehlt.
mfg, ZiG Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
|
|