File "UnpackDemo.bas"
Path: /ShuffleGUI/UnpackDemo/UnpackDemo.bas
File size: 6.93 KB
MIME-type:
Charset: utf-8
#COMPILE EXE
#DIM ALL
'TODO: cleaner way in CreateDemoShortcut() to point to vlc.exe
#INCLUDE ONCE "Win32Api.inc"
#INCLUDE ONCE "CreateShortcut.inc"
#RESOURCE "demo.pbr"
'------------------------------------------------------------------------------
FUNCTION PBMAIN () AS LONG
IF COMMAND$ = "/kill" THEN
KILL "img-rnd.exe"
KILL "VLC Shortcut Play Folder.exe"
KILL "Vidz\China.ico"
KILL "Vidz\Paris.ico"
KILL "Vidz\Wedding.ico"
KILL "Vidz\China\test_1.mp4"
KILL "Vidz\China\test_2.mp4"
KILL "Vidz\China\test_3.mp4"
RMDIR "Vidz\China"
KILL "Vidz\Wedding\test_1.mp4"
KILL "Vidz\Wedding\test_2.mp4"
KILL "Vidz\Wedding\test_3.mp4"
RMDIR "Vidz\Wedding"
KILL "Vidz\Paris\test_1.mp4"
KILL "Vidz\Paris\test_2.mp4"
KILL "Vidz\Paris\test_3.mp4"
RMDIR "Vidz\Paris"
KILL "Vidz\Misc\test_3.mp4"
KILL "Vidz\Misc\test_1.mp4"
KILL "Vidz\Misc\test_2.mp4"
RMDIR "Vidz\Misc"
RMDIR "Vidz"
KILL "Pics\Dinard.ico"
KILL "Pics\MyDog.ico"
KILL "Pics\Samuel.ico"
KILL "Pics\Samuel\test_1.jpg"
KILL "Pics\Samuel\test_2.jpg"
KILL "Pics\Samuel\test_3.jpg"
RMDIR "Pics\Samuel"
KILL "Pics\Dinard\test_1.jpg"
KILL "Pics\Dinard\test_2.jpg"
KILL "Pics\Dinard\test_3.jpg"
RMDIR "Pics\Dinard"
KILL "Pics\MyDog\test_1.jpg"
KILL "Pics\MyDog\test_2.jpg"
KILL "Pics\MyDog\test_3.jpg"
KILL "Pics\MyDog\test_4.jpg"
RMDIR "Pics\MyDog"
RMDIR "Pics"
KILL "Dinard.lnk"
KILL "MyDog.lnk"
KILL "Samuel.lnk"
KILL "China.lnk"
KILL "Misc.lnk"
KILL "Paris.lnk"
KILL "Wedding.lnk"
EXIT FUNCTION
END IF
MKDIR "Vidz"
MKDIR "Pics"
MKDIR "Vidz\Wedding"
MKDIR "Vidz\China"
MKDIR "Vidz\Paris"
MKDIR "Vidz\Misc"
MKDIR "Pics\Samuel"
MKDIR "Pics\Dinard"
MKDIR "Pics\MyDog"
DUMPFILE "img-rnd.exe", RESOURCE$("EXE1")
DUMPFILE "VLC Shortcut Play Folder.exe", RESOURCE$("EXE2")
DUMPFILE "Vidz\China.ico", RESOURCE$("OBJ1")
DUMPFILE "Vidz\Paris.ico", RESOURCE$("OBJ2")
DUMPFILE "Vidz\Wedding.ico", RESOURCE$("OBJ3")
DUMPFILE "Vidz\China\test_1.mp4", RESOURCE$("OBJ4")
DUMPFILE "Vidz\China\test_2.mp4", RESOURCE$("OBJ4")
DUMPFILE "Vidz\China\test_3.mp4", RESOURCE$("OBJ4")
DUMPFILE "Vidz\Wedding\test_1.mp4", RESOURCE$("OBJ4")
DUMPFILE "Vidz\Wedding\test_2.mp4", RESOURCE$("OBJ4")
DUMPFILE "Vidz\Wedding\test_3.mp4", RESOURCE$("OBJ4")
DUMPFILE "Vidz\Paris\test_1.mp4", RESOURCE$("OBJ4")
DUMPFILE "Vidz\Paris\test_2.mp4", RESOURCE$("OBJ4")
DUMPFILE "Vidz\Paris\test_3.mp4", RESOURCE$("OBJ4")
DUMPFILE "Vidz\Misc\test_3.mp4", RESOURCE$("OBJ4")
DUMPFILE "Vidz\Misc\test_1.mp4", RESOURCE$("OBJ4")
DUMPFILE "Vidz\Misc\test_2.mp4", RESOURCE$("OBJ4")
DUMPFILE "Pics\Dinard.ico", RESOURCE$("OBJ13")
DUMPFILE "Pics\MyDog.ico", RESOURCE$("OBJ14")
DUMPFILE "Pics\Samuel.ico", RESOURCE$("OBJ15")
DUMPFILE "Pics\Samuel\test_1.jpg", RESOURCE$("OBJ16")
DUMPFILE "Pics\Samuel\test_2.jpg", RESOURCE$("OBJ17")
DUMPFILE "Pics\Samuel\test_3.jpg", RESOURCE$("OBJ18")
DUMPFILE "Pics\Dinard\test_1.jpg", RESOURCE$("OBJ19")
DUMPFILE "Pics\Dinard\test_2.jpg", RESOURCE$("OBJ20")
DUMPFILE "Pics\Dinard\test_3.jpg", RESOURCE$("OBJ21")
DUMPFILE "Pics\MyDog\test_1.jpg", RESOURCE$("OBJ22")
DUMPFILE "Pics\MyDog\test_2.jpg", RESOURCE$("OBJ23")
DUMPFILE "Pics\MyDog\test_3.jpg", RESOURCE$("OBJ24")
DUMPFILE "Pics\MyDog\test_4.jpg", RESOURCE$("OBJ25")
CreateDemoShortcut EXE.PATH$ + "Pics\Dinard"
CreateDemoShortcut EXE.PATH$ + "Pics\MyDog"
CreateDemoShortcut EXE.PATH$ + "Pics\Samuel"
CreateDemoShortcut EXE.PATH$ + "Vidz\China"
CreateDemoShortcut EXE.PATH$ + "Vidz\Misc"
CreateDemoShortcut EXE.PATH$ + "Vidz\Paris"
CreateDemoShortcut EXE.PATH$ + "Vidz\Wedding"
?"Demo unpacked!"+$CR+$CR+"Click OK to load it in ShuffleGUI", %MB_ICONINFORMATION, EXE.NAME$
LOCAL lRes AS LONG
lRes = SHELL("ShuffleGUI.exe")
END FUNCTION
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
FUNCTION RESOURCE$(BYVAL rid AS STRING)
LOCAL L1, L2 AS LONG
LOCAL D1, D2 AS DWORD
L1 = FindResource (GetModuleHandle(""), (rid), BYVAL %RT_RCDATA)
D2 = SizeofResource(GetModuleHandle(""), L1)
L2 = LoadResource (GetModuleHandle(""), L1)
D1 = LockResource (L2)
FUNCTION = PEEK$(D1,D2)
END FUNCTION
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
SUB DUMPFILE(BYVAL fi AS STRING, BYVAL buf AS STRING)
LOCAL ff AS LONG
ff = FREEFILE
KILL fi
OPEN fi FOR BINARY AS #ff
PUT$ #ff, buf
CLOSE #ff
END SUB
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
FUNCTION FirstFileIn(BYVAL folder AS STRING) AS STRING
LOCAL file AS STRING
folder = RTRIM$(folder,"\") + "\"
file = DIR$(folder + "*.*")
DIR$ CLOSE
FUNCTION = folder + file
END FUNCTION
'------------------------------------------------------------------------------
'------------------------------------------------------------------------------
SUB CreateDemoShortcut(BYVAL folder AS STRING)
LOCAL sc, ico, x, cl AS STRING
' Define target shortcut path
sc = EXE.PATH$ + PATHNAME$(NAME,folder) + ".lnk"
KILL sc
' Define icon
IF sc <> "Misc.lnk" THEN ico = folder + ".ico"
' Define executable and command line
IF INSTR(folder, "Pics") > 0 THEN
x = EXE.PATH$ + "img-rnd.exe"
cl = ""
ELSE
x = $DQ + "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" + $DQ
cl = "--random " + $DQ + folder + $DQ
END IF
' Create shortcut
CreateShortcut _
sc, _ ' 1. the link file to be created
x, _ ' 2. the file/document where the shortcut should point to
cl, _ ' 3. command-line parameters
folder, _ ' 4. the folder where the executable file should start in
%SW_SHOW, _ ' 5. %SW_SHOW, %SW_HIDE etc.
ico, _ ' 6. icon file or executable file containing an icon
0, _ ' 7. icon index in the aforementioned file
("(c) mougino.free.fr 2024") ' 8. any comment (stored in the shortcut)
END SUB
'------------------------------------------------------------------------------