Hej! Tja, ett sätt är ju att lägga funktionaliteten i en DLL, då måste den anropas från en EXE-fil för att startas. Lägg till ett projekt av typen ActiveX-DLL och lägg till en klass. Minst en klass måste har propertyn "Instancing=5 - Multiuse" och ha en publik metod (sub eller function) som EXE-filen kan anropa. Exempel : Kom på en annan lösning. Du kan använda kommandosradsparametrar. Alltså, du skapar en exe-fil som bara kan startas om man anget ett specifikt lösenord som kommandoradsparameter. Detta kollar du med Command.starta en exe fil eller dyl.
Jag funderar på om man kan göra så att ett program bara går att starta från ett så kallat huvudprogram.
/TobbeSv: starta en exe fil eller dyl.
<code>
Public Class MittProgram ' Måste vara MultiUse
Public Sub Start
Dim f As frmStart
Set f=New frmStart
f.Show vbModal
Unload f
Set f=Nothing
End Sub
End Class
</code>
Om du inte vill ha något formulär i EXE-filen så lägger du till en BAS-fil (modul) och skapar en metod som heter Main (måste vara public) i vilken du skapar en instans av klassen i DLL:en och anropar dess publika metod. Exe-filen måste ha en referens till DLL:en.
<code>
Public Sub Main
Dim myprogram As MittProgram
Set myprogram=New MittProgram
myprogram.Start
Set myprogram=Nothing
End Sub
</code>Sv:starta en exe fil eller dyl.
Sedan startar du exe-filen med API:et ShellExecute (se dokumentation på t ex http://www.mentalis.org/apilist/ShellExecute.shtml) med rätt lösenord som parameter. Ex:
<code>
ShellExecute Me.hwnd, "OPEN", "C:\MittProgram.exe", "/p:abc123", "C:\", SW_SHOWNORMAL
</code>
Här har jag använt växeln /p som i Password, och lösenordet abc123.