first commit (2004-10-31)

This commit is contained in:
José David Guillén 2021-09-01 18:12:09 +02:00
commit 4365866673
10 changed files with 981 additions and 0 deletions

BIN
bin/LaunchIt.tds Normal file

Binary file not shown.

BIN
bin/bg.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

270
bin/cfg.ini Normal file
View File

@ -0,0 +1,270 @@
[opciones]
titulo=BootCD!
background=bg.JPG
;rootPATH=C:\Documents and Settings\jd\Mis documentos\bootdisk\peBuilder\output
rootPATH=C:\Documents and Settings\jd\Mis documentos\bootdisk\bootCD\main_files
;rootPATH=
[carpetas]
c0=Equipos nuevos
c1=Antivirus y Troyanos
c2=Diagnostico
c3=Recuperación
c4=Recuperación - PWD
c5=Grabadora CD y DVD
c6=Redes e Internet
c7=Utilidades
c8=VNC - Remote Control
c9=misc
[c0]
p0_app =WinRar 3.40 Version Corporativa
p0_cmd =\EXTRAS\Compresores\WinRar 3.40.exe
p0_icon =\EXTRAS\Compresores\WinRar 3.40.exe
p0_descr =WinRAR (Descompresor de RAR,ZIP,ACE,LZH,LHA,TAR,GZ, y muchos mas.)
p1_app =Nero 6.3.x.x
p1_cmd =\EXTRAS\Grabadora CD y DVD\NERO\NERO6300.exe
p1_icon =\EXTRAS\Grabadora CD y DVD\NERO\NERO6300.exe
p1_descr =Programa para la grabacion de CDs y DVD's
p2_app =Parche Español Nero 6.3.x.x
p2_cmd =\EXTRAS\Grabadora CD y DVD\NERO\NBR6300ESP.exe
p2_icon =\EXTRAS\Grabadora CD y DVD\NERO\NBR6300ESP.exe
p2_descr =Parche de idioma ESPAÑOL para Nero
p3_app =DVD Shrink
p3_cmd =\EXTRAS\Grabadora CD y DVD\dvdshrink.exe
p3_icon =\EXTRAS\Grabadora CD y DVD\dvdshrink.exe
p3_descr =Utilidad para copiar DVDs
p4_app =Power DVD
p4_cmd =\EXTRAS\Video\POWERDVD_5_0\setup.exe
p4_icon =\EXTRAS\Video\POWERDVD_5_0\powerdvd.ico
p4_descr =Utilidad para reproducir DVDs
p5_app =DivX 5.05 Bundle
p5_cmd =\EXTRAS\Video\DIVX505BUNDLE.EXE
p5_icon =\EXTRAS\Video\DIVX505BUNDLE.EXE
p5_descr =Codecs DivX
p6_app =BS Player
p6_cmd =\EXTRAS\Video\BSPlayer.EXE
p6_icon =\EXTRAS\Video\BSPlayer.EXE
p6_descr =BS Player
p7_app =MoreTV
p7_cmd =\EXTRAS\Video\MoreTV\MORETV_352ESP_WILMA.ZIP
p7_icon =\EXTRAS\Video\MoreTV\MoreTV.ico
p7_descr =BS Player
[c1]
p0_app =Actualizar AntiVirus
p0_cmd =\programs\mcafee\sdatupdater.cmd
p0_icon =\programs\mcafee\instalar.ico
p0_descr =Descarga de internet la última version del SuperDAT y la coloca en el directorio %TEMP%
p1_app =Ejecutar AntiVirus
p1_cmd =\Programs\mcafee\instalar.cmd
p1_icon =\Programs\mcafee\scangui.exe
p1_descr =Desempaqueta el archivo SuperDAT y ejecuta el interfaz gráfico
p2_app =ToolBar Cop
p2_cmd =\Programs\ToolbarCop\ToolbarCop.exe
p2_icon =\Programs\ToolbarCop\ToolbarCop.exe
p2_descr =Limpia las barras de herramientas, BHO y otras porquerias del Internet Explorer
p3_app =SpyBot Search and Destroy
p3_cmd =\programs\spybot\spybot.exe
p3_icon =\programs\spybot\spybot.exe
p3_descr =Elimina los SpyWare que se instalan con programas o al navegar por internet.
[c2]
p0_app =Everest (Aida32)
p0_cmd =\Programs\everest\everest.exe
p0_icon =\Programs\everest\everest.exe
p0_descr =Audita el hardware y software de la máquina. Incluye tambien un par de benchmark.
p1_app =Bart's Stuff Test
p1_cmd =\Programs\bst5\bst5.exe
p1_icon =\Programs\bst5\bst5.exe
p1_descr =Programa que trata de "estrezar" al equipo, para probar su estabilidad.
p2_app =Unknown Devices
p2_cmd =\Programs\UDevices\UnknownDevices.exe
p2_icon =\Programs\UDevices\UnknownDevices.exe
p2_descr =Informa sobre los dispositivos conectados a nuestro equipo. (Recuerda actualizar la lista de dispositivos en: http://members.datafast.net.au/dft0802/downloads.htm ).
[c3]
p0_app =Nemo
p0_cmd =\Programs\Nemo\Nemo.exe
p0_icon =\Programs\Nemo\Nemo.exe
p0_descr =Recuperacion básica de archivos
p1_app =GetDataBack fot NTFS
p1_cmd =\Programs\gdbnt\gdbnt.exe
p1_icon =\Programs\gdbnt\gdbnt.exe
p1_descr =Recuperación de discos duros muertos, con NTFS
p2_app =DiskExplorer fot NTFS
p2_cmd =\Programs\dentfs\NtExplorer.exe
p2_icon =\Programs\dentfs\NtExplorer.exe
p2_descr =Explorador de discos duros muertos, con NTFS. (Herramienta forense)
p3_app =GetDataBack fot NTFS
p3_cmd =\Programs\gdb\gdb.exe
p3_icon =\Programs\gdb\gdb.exe
p3_descr =Recuperación de discos duros muertos, con FAT32
p4_app =DiskExplorer fot FAT32
p4_cmd =\Programs\defat\diskexpl.exe
p4_icon =\Programs\defat\diskexpl.exe
p4_descr =Explorador de discos duros muertos, con FAT32. (Herramienta forense)
p5_app =HD Host
p5_cmd =\Programs\hdhost\hdhost.exe
p5_icon =\Programs\hdhost\hdhost.exe
p5_descr =Permite conectar el disco duro, para recuperaciones a traves de la red.
p6_app =Raid
p6_cmd =\Programs\raid\raid.exe
p6_icon =\Programs\raid\raid.exe
p6_descr =Recuperacion de unidades en RAID. (Intenta siempre usar primero tu bios RAID).
[c4]
p0_app =Discover It!
p0_cmd =\Programs\Password Recovery\DiscoverIt.exe
p0_icon =\Programs\Password Recovery\DiscoverIt.exe
p0_descr =Revela los password bajo asteriscos
p1_app =Mail PassView
p1_cmd =\Programs\Password Recovery\mailpv.exe
p1_icon =\Programs\Password Recovery\mailpv.exe
p1_descr =Revela los password del correo electrónico
p2_app =Messenger Pass
p2_cmd =\Programs\Password Recovery\mspass.exe
p2_icon =\Programs\Password Recovery\mspass.exe
p2_descr =Revela los password del messenger
p3_app =Dial Up Pass
p3_cmd =\Programs\Password Recovery\dialupass.exe
p3_icon =\Programs\Password Recovery\dialupass.exe
p3_descr =Revela los password de las conexiones de acceso telefonico a redes.
p4_app =Protected Storage PassView
p4_cmd =\Programs\Password Recovery\pspv.exe
p4_icon =\Programs\Password Recovery\pspv.exe
p4_descr =Revela los password en cache
[c5]
p0_app =Nero Burnings Rom
p0_cmd =\Programs\Nero\Nero.cmd
p0_icon =\Programs\Nero\Nero.exe
p0_descr =Programa de grabacion de CDs y DVDs. (Arranca sobre este CD y prepara la cache en el directorio %TEMP%).
[c6]
p0_app =Analyzer
p0_cmd =\Programs\Analyzer\Analyzer.exe
p0_icon =\Programs\Analyzer\Analyzer.exe
p0_descr =Monitor de red. (Necesitas tener instalado WinPCAP).
p1_app =GNA
p1_cmd =\Programs\GNA\GNA.exe
p1_icon =\Programs\GNA\GNA.exe
p1_descr =Monitor de red. (Necesitas tener instalado WinPCAP).
p2_app =WINSOCKXPFIX
p2_cmd =\Programs\ShowTraf\ShowTraf.exe
p2_icon =\Programs\ShowTraf\ShowTraf.exe
p2_descr =Monitor de red. (Necesitas tener instalado WinPCAP).
p3_app =Winsock XP Fix
p3_cmd =\Programs\WINSOCKXPFIX\WINSOCKXPFIX.exe
p3_icon =\Programs\WINSOCKXPFIX\WINSOCKXPFIX.exe
p3_descr =ReInstala la pila TCP/IP. Muy util cuando no funciona la red.
p4_app =Scanner de RED
p4_cmd =\Programs\superscan\scanner.exe
p4_icon =\Programs\superscan\scanner.exe
p4_descr =Scanner de RED
[c7]
p0_app =SciTE
p0_cmd =\Programs\SciTe\SciTe.exe
p0_icon =\Programs\SciTe\SciTe.exe
p0_descr =SciTE Editor multiLenguaje con coloreado de sintaxis.
p1_app =ViceVersa Pro
p1_cmd =\Programs\ViceVersa\ViceVersa.exe
p1_icon =\Programs\ViceVersa\ViceVersa.exe
p1_descr =Utilidad para la sincronizacion de directorios
p2_app =Treesize
p2_cmd =\Programs\Treesize\Treesize.exe
p2_icon =\Programs\Treesize\Treesize.exe
p2_descr =Muestra el arbol de directorios por Tamaño.
p3_app =Hex Editor
p3_cmd =\Programs\HEdit\HEdit2.exe
p3_icon =\Programs\HEdit\HEdit2.exe
p3_descr =Editor Hexadecimal
[c8]
p0_app =MS Remote Desktop Client
p0_cmd =\windows\system32\mstsc.exe
p0_icon =\windows\system32\mstsc.exe
p0_descr =MS Remote Desktop Client
p1_app =PuttY (SSH_telnet)
p1_cmd =\Programs\putty\putty.exe
p1_icon =\Programs\putty\putty.exe
p1_descr =SSH Telnet
p2_app =VNC viewer
p2_cmd =\Programs\vncviewer\vncviewer.exe
p2_icon =\Programs\vncviewer\vncviewer.exe
p2_descr =VNC viewer
[c9]
p0_app =Driver Llave USB (Azul)
p0_cmd =\EXTRAS\Drivers\USB_DISK\SETUP.EXE
p0_icon =\EXTRAS\Drivers\USB_DISK\SETUP.EXE
p0_descr =Instala los drivers de la llave USB 128Mb AZUL (para Win98)
p1_app =Driver Llave USB (Azul)
p1_cmd =\EXTRAS\Drivers\USB_DISK\MFORMAT\MFORMAT.EXE
p1_icon =\EXTRAS\Drivers\USB_DISK\MFORMAT\MFORMAT.EXE
p1_descr =Utilidad para formatear la llave
p2_app =Codificador
p2_cmd =\EXTRAS\Drivers\USB_DISK\MFORMAT\KEY\PASSID.EXE
p2_icon =\EXTRAS\Drivers\USB_DISK\MFORMAT\KEY\PASSID.EXE
p2_descr =Utilidad para fijar un password a la llave
p3_app =Parche WinRar 3.x
p3_cmd =\EXTRAS\Compresores\winrar.3.x-universal.patch.exe
p3_icon =\EXTRAS\Compresores\winrar.3.x-universal.patch.exe
p3_descr =Parche para WinRar 3.x (Por favor, compra el softwar original, son solo 30€).
p4_app =Serial Keys
p4_cmd =\EXTRAS\keys\SerialKeys.cmd
p4_icon =\EXTRAS\keys\SerialKeys.txt
p4_descr =Listado de Serials mas usados.

162
src/LaunchIt.bpr Normal file
View File

@ -0,0 +1,162 @@
<?xml version='1.0' encoding='utf-8' ?>
<!-- C++Builder XML Project -->
<PROJECT>
<MACROS>
<VERSION value="BCB.06.00"/>
<PROJECT value="..\bin\LaunchIt.exe"/>
<OBJFILES value="..\obj\LaunchIt.obj ..\obj\main.obj"/>
<RESFILES value="LaunchIt.res"/>
<IDLFILES value=""/>
<IDLGENFILES value=""/>
<DEFFILE value=""/>
<RESDEPEN value="$(RESFILES) main.dfm"/>
<LIBFILES value=""/>
<LIBRARIES value="rtl.lib vcl.lib"/>
<SPARELIBS value="vcl.lib rtl.lib"/>
<PACKAGES value="vcl.bpi rtl.bpi dbrtl.bpi adortl.bpi vcldb.bpi vclx.bpi bdertl.bpi
vcldbx.bpi dsnap.bpi cds.bpi bdecds.bpi teeqr.bpi visualclx.bpi
visualdbclx.bpi dsnapcrba.bpi dsnapcon.bpi bcbsmp.bpi vclie.bpi xmlrtl.bpi
inet.bpi inetdbbde.bpi inetdbxpress.bpi inetdb.bpi webdsnap.bpi bcbie.bpi
websnap.bpi soaprtl.bpi dclocx.bpi dbexpress.bpi dbxcds.bpi
bcb2kaxserver.bpi ZCore.bpi ZParseSql.bpi ZPlain.bpi ZDbc.bpi ZComponent.bpi"/>
<PATHCPP value=".;"/>
<PATHPAS value=".;"/>
<PATHRC value=".;"/>
<PATHASM value=".;"/>
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
<RELEASELIBPATH value="$(BCB)\lib\release"/>
<LINKER value="ilink32"/>
<USERDEFINES value="_DEBUG"/>
<SYSDEFINES value="NO_STRICT"/>
<MAINSOURCE value="LaunchIt.cpp"/>
<INCLUDEPATH value="&quot;C:\Archivos de programa\Borland\CBuilder6\Projects&quot;;&quot;C:\Documents and Settings\jd\Mis documentos\CBuilder\LaunchIt!\src&quot;;$(BCB)\include;$(BCB)\include\vcl"/>
<LIBPATH value="&quot;C:\Archivos de programa\Borland\CBuilder6\Projects&quot;;&quot;C:\Documents and Settings\jd\Mis documentos\CBuilder\LaunchIt!\src&quot;;$(BCB)\lib\obj;$(BCB)\lib"/>
<WARNINGS value="-w-par"/>
<OTHERFILES value=""/>
</MACROS>
<OPTIONS>
<IDLCFLAGS value="-I&quot;C:\Archivos de programa\Borland\CBuilder6\Projects&quot;
-I&quot;C:\Documents and Settings\jd\Mis documentos\CBuilder\LaunchIt!\src&quot;
-I$(BCB)\include -I$(BCB)\include\vcl -src_suffix cpp -D_DEBUG -boa"/>
<CFLAG1 value="-Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -c
-tW -tWM"/>
<PFLAGS value="-N2..\obj -N0..\obj -$YD -$W -$O- -$A8 -v -JPHNE -M"/>
<RFLAGS value=""/>
<AFLAGS value="/mx /w2 /zd"/>
<LFLAGS value="-l..\obj -I..\obj -D&quot;&quot; -aa -Tpe -x -Gn -v"/>
<OTHERFILES value=""/>
</OPTIONS>
<LINKER>
<ALLOBJ value="c0w32.obj sysinit.obj $(OBJFILES)"/>
<ALLRES value="$(RESFILES)"/>
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib"/>
<OTHERFILES value=""/>
</LINKER>
<FILELIST>
<FILE FILENAME="LaunchIt.res" FORMNAME="" UNITNAME="LaunchIt.res" CONTAINERID="ResTool" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="LaunchIt.cpp" FORMNAME="" UNITNAME="LaunchIt" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="main.cpp" FORMNAME="Form1" UNITNAME="main" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
</FILELIST>
<BUILDTOOLS>
</BUILDTOOLS>
<IDEOPTIONS>
[Version Info]
IncludeVerInfo=0
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=3082
CodePage=1252
[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.0
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=
[Excluded Packages]
c:\archivos de programa\borland\cbuilder6\Bin\DCLIB60.bpl=InterBase Data Access Components
c:\archivos de programa\borland\cbuilder6\Bin\dclqrt60.bpl=QuickReport Components
c:\archivos de programa\borland\cbuilder6\Bin\dcltee60.bpl=TeeChart Components
c:\archivos de programa\borland\cbuilder6\Bin\dcldss60.bpl=Borland Decision Cube Components
c:\archivos de programa\borland\cbuilder6\Bin\dcltqr60.bpl=TeeChart for QuickReport Components
c:\archivos de programa\borland\cbuilder6\Bin\DBWEBXPRT.BPL=Borland Web Wizard Package
c:\archivos de programa\borland\cbuilder6\Bin\DCLNMF60.bpl=NetMasters Fastnet Tools
c:\archivos de programa\borland\cbuilder6\Bin\dclwebsnap60.bpl=Borland WebSnap Components
c:\archivos de programa\borland\cbuilder6\Bin\dclindy60.bpl=Internet Direct (Indy) for D6 Property and Component Editors
C:\programacion\VCLs\Bpl\ZCore.bpl=Zeos Core Classes and Intefaces
C:\programacion\VCLs\Bpl\ZParseSql.bpl=Zeos SQL Parsing Classes and Intefaces
C:\programacion\VCLs\Bpl\ZPlain.bpl=Zeos Plain Database API
C:\programacion\VCLs\Bpl\ZDbc.bpl=Zeos Low Level Database API
C:\programacion\VCLs\Bpl\ZComponent.bpl=Zeos Database Components
C:\programacion\VCLs\Bpl\CabForCB.bpl=cabforbuilder
c:\archivos de programa\borland\cbuilder6\Bin\dclite60.bpl=Borland Integrated Translation Environment
[HistoryLists\hlIncludePath]
Count=1
Item0=C:\Archivos de programa\Borland\CBuilder6\Projects;C:\Documents and Settings\jd\Mis documentos\CBuilder\LaunchIt!\src;$(BCB)\include;$(BCB)\include\vcl
[HistoryLists\hlLibraryPath]
Count=1
Item0=C:\Archivos de programa\Borland\CBuilder6\Projects;C:\Documents and Settings\jd\Mis documentos\CBuilder\LaunchIt!\src;$(BCB)\lib\obj;$(BCB)\lib
[HistoryLists\hlDebugSourcePath]
Count=1
Item0=$(BCB)\source\vcl
[HistoryLists\hlConditionals]
Count=1
Item0=_DEBUG
[HistoryLists\hlIntOutputDir]
Count=1
Item0=..\obj
[HistoryLists\hlFinalOutputDir]
Count=1
Item0=..\bin
[HistoryLists\hIBPIOutputDir]
Count=1
Item0=..\obj
[Debugging]
DebugSourceDirs=$(BCB)\source\vcl
[Parameters]
RunParams=
Launcher=
UseLauncher=0
DebugCWD=
HostApplication=
RemoteHost=
RemotePath=
RemoteLauncher=
RemoteCWD=
RemoteDebug=0
[Compiler]
ShowInfoMsgs=0
LinkDebugVcl=0
LinkCGLIB=0
[CORBA]
AddServerUnit=1
AddClientUnit=1
PrecompiledHeaders=1
</IDEOPTIONS>
</PROJECT>

33
src/LaunchIt.cpp Normal file
View File

@ -0,0 +1,33 @@
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("main.cpp", Form1);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
}
//---------------------------------------------------------------------------

BIN
src/LaunchIt.res Normal file

Binary file not shown.

314
src/main.cpp Normal file
View File

@ -0,0 +1,314 @@
//---------------------------------------------------------------------------
#include <vcl.h>
#include <inifiles.hpp>
#pragma hdrstop
#include "main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
AnsiString aux;
selectedFolder=NULL;
anclarRaton=false;
TListColumns *ColumnInfo;
ColumnInfo = new TListColumns(ListView1); // Create column headers
ListView1->Columns->Add();
ListView1->Columns->Items[0]->Caption = "Aplicación";
ListView1->Columns->Items[0]->Width = 200;
ListView1->Columns->Add();
ListView1->Columns->Items[1]->Caption = "cmd";
ListView1->Columns->Items[1]->Width = 150;
ListView1->Columns->Add();
ListView1->Columns->Items[2]->Caption = "icon";
ListView1->Columns->Items[2]->Width = 32;
ListView1->Columns->Add();
ListView1->Columns->Items[3]->Caption = "descr";
ListView1->Columns->Items[3]->Width = 300;
TIniFile *pIniFile = new TIniFile(ExtractFilePath(Application->ExeName)+"cfg.ini");
rootPath = pIniFile->ReadString("opciones","rootPATH","");
if ( rootPath.IsEmpty() ) rootPath = ExtractFileDrive( Application->ExeName );
pFondoAPP = NULL;
aux = pIniFile->ReadString("opciones","background","");
if ( !aux.IsEmpty() )
{
aux = ExtractFilePath(Application->ExeName)+AnsiString("\\")+aux;
if ( FileExists( aux ) )
{
pFondoAPP = new TPicture();
pFondoAPP->LoadFromFile(aux);
}
}
Label3->Caption = pIniFile->ReadString("opciones","titulo","");
for(int i=0; CreateFolder(i,pIniFile->ReadString("carpetas",AnsiString("c")+i,"")); i++);
delete pIniFile;
LoadFolder(0);
}
//---------------------------------------------------------------------------
bool __fastcall TForm1::CreateFolder(int idx,AnsiString name)
{
TLabel *lb;
if ( name.IsEmpty() ) return false;
lb = new TLabel(this);
lb->Tag = idx;
lb->OnMouseLeave = LabelsMouseLeave;
lb->OnMouseMove = LabelsMouseMove;
lb->OnClick = LabelsClick;
lb->Caption = name;
lb->Alignment = taCenter;
lb->AutoSize = false;
lb->Height = 18;
lb->Left = 8;
lb->Top = 56 + (lb->Height+2)*idx;
this->InsertControl(lb);
if ( !selectedFolder ) selectedFolder=lb;
if ( selectedFolder==lb )
{
lb->Width = 168;
lb->Color=clWhite;
} else {
lb->Width = 166;
lb->Color=clSilver;
}
return true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::LabelsMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
((TLabel *)Sender)->Color=clSkyBlue;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::LabelsMouseLeave(TObject *Sender)
{
if ( selectedFolder==((TLabel*)Sender) )
{
((TLabel *)Sender)->Color=clWhite;
((TLabel *)Sender)->Width = 168;
} else {
((TLabel *)Sender)->Color=clSilver;
((TLabel *)Sender)->Width = 166;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::LabelsClick(TObject *Sender)
{
selectedFolder->Width = 166;
selectedFolder->Color = clSilver;
selectedFolder=((TLabel*)Sender);
selectedFolder->Color = clWhite;
selectedFolder->Width = 168;
LoadFolder( ((TLabel*)Sender)->Tag );
}
//---------------------------------------------------------------------------
void __fastcall TForm1::WMNCHitTest(TMessage &Msg)
{
TForm::Dispatch(&Msg);
/*
if (Msg.Result == HTCLIENT) Msg.Result = HTCAPTION;
*/
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
bool __fastcall TForm1::LoadFolder(int idx)
{
TSHFileInfo FileInfo;
THandle ImageListHandle;
TIcon *aIcon;
int i,j;
AnsiString app,icon;
ListView1->Items->BeginUpdate(); // Efficiency
ListView1->Items->Clear();
ImageList1->Clear();
ImageList1->ShareImages = false;
ImageList1->Width=GetSystemMetrics(SM_CXICON);
ImageList1->Height=GetSystemMetrics(SM_CYICON);
i=0;
TIniFile *pIniFile = new TIniFile(ExtractFilePath(Application->ExeName)+"cfg.ini");
while(1)
{
app = pIniFile->ReadString(AnsiString("c")+idx,AnsiString("p")+AnsiString(i)+"_app","");
if ( app.IsEmpty() ) break;
ListView1->Items->Add(); // Add a new item
j = ListView1->Items->Count - 1; // get the new items index
ListView1->Items->Item[j]->Caption=app; // set the item text
ListView1->Items->Item[j]->SubItems->Add( rootPath + pIniFile->ReadString(AnsiString("c")+idx,AnsiString("p")+AnsiString(i)+"_cmd","") );
icon = rootPath + pIniFile->ReadString(AnsiString("c")+idx,AnsiString("p")+AnsiString(i)+"_icon","");
ListView1->Items->Item[j]->SubItems->Add( icon );
// Metemos el icono dentro de nuestra ListView...
memset(&FileInfo, 0, sizeof(FileInfo));
/*
ImageListHandle = SHGetFileInfo( (char *)icon.data(), 0, &FileInfo, sizeof(FileInfo),
// we want an icon in LARGE
SHGFI_LARGEICON | SHGFI_ICON | SHGFI_ADDOVERLAYS
);
*/
WORD lpiIcon;
/*
SHSTDAPI_(DWORD_PTR) SHGetFileInfoA(LPCSTR pszPath, DWORD dwFileAttributes, SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags);
//-----------------
HICON ExtractAssociatedIcon( HINSTANCE hInst,
LPTSTR lpIconPath,
LPWORD lpiIcon
);
*/
aIcon = new TIcon();
aIcon->Handle = ExtractAssociatedIcon(this,(char *)icon.data(),&lpiIcon );
//FileInfo.hIcon;
aIcon->Transparent = true;
ListView1->Items->Item[j]->ImageIndex = ImageList1->AddIcon(aIcon);;
ListView1->Items->Item[j]->SubItems->Add( pIniFile->ReadString(AnsiString("c")+idx,AnsiString("p")+AnsiString(i)+"_descr","") );
// ListView1->Items->Item[j]->Update();
i++;
}
ListView1->LargeImages = ImageList1;
ListView1->Items->EndUpdate();
delete pIniFile;
return true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ListView1DblClick(TObject *Sender)
{
HINSTANCE HApp;
// Ejecutamos el ITEM
TListItem *lItem;
lItem = ((TListView *)Sender)->Selected;
// PROCESS_INFORMATION pInfo;
STARTUPINFO sInfo;
sInfo.cb = sizeof(STARTUPINFO);
sInfo.lpReserved = NULL;
sInfo.lpReserved2 = NULL;
sInfo.cbReserved2 = 0;
sInfo.lpDesktop = NULL;
sInfo.lpTitle = NULL;
sInfo.dwFlags = 0;
sInfo.dwX = 0;
sInfo.dwY = 0;
sInfo.dwFillAttribute = 0;
sInfo.wShowWindow = SW_SHOW;
if (CreateProcess(NULL,
(char*)((lItem->SubItems->Strings[0]).data()),
NULL,
NULL,
FALSE,
0,
NULL,
(char*)( ExtractFileDir(lItem->SubItems->Strings[0]).data()),
&sInfo,
&pInfo))
{
Application->Minimize();
Timer1->Enabled=true;
}
/*
HApp = ShellExecute(this, // handle to parent window
NULL, // pointer to string that specifies operation to perform
(char*)((lItem->SubItems->Strings[0]).data()), // pointer to filename string
NULL, // pointer to string that specifies executable-file parameters
NULL, // pointer to string that specifies default directory
0 // whether file is shown when opened
);
*/
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ListView1InfoTip(TObject *Sender, TListItem *Item,
AnsiString &InfoTip)
{
InfoTip = Item->SubItems->Strings[2];
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
DWORD exitCode;
if (GetExitCodeProcess(pInfo.hProcess, &exitCode))
{
switch(exitCode)
{
case STILL_ACTIVE: //printf("Process is still active\n");
break;
default: //printf("Exit code = %d\n", exitCode);
Application->Restore();
Timer1->Enabled = false;
break;
}
}
else {
// printf("GetExitCodeProcess() failed\n");
Application->Restore();
Timer1->Enabled = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
Application->Minimize();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
if (pFondoAPP)
{
delete pFondoAPP;
pFondoAPP = NULL;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormPaint(TObject *Sender)
{
if ( pFondoAPP && pFondoAPP->Graphic && !pFondoAPP->Graphic->Empty )
Canvas->Draw(0,0,pFondoAPP->Graphic);
}
//---------------------------------------------------------------------------

BIN
src/main.ddp Normal file

Binary file not shown.

138
src/main.dfm Normal file
View File

@ -0,0 +1,138 @@
object Form1: TForm1
Left = 193
Top = 111
BorderIcons = []
BorderStyle = bsNone
Caption = 'Form1'
ClientHeight = 403
ClientWidth = 640
Color = clHighlight
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
Position = poScreenCenter
OnDestroy = FormDestroy
OnPaint = FormPaint
PixelsPerInch = 96
TextHeight = 13
object SpeedButton1: TSpeedButton
Left = 616
Top = 1
Width = 23
Height = 22
Flat = True
Glyph.Data = {
62050000424D62050000000000003604000028000000110000000F0000000100
0800000000002C010000C40E0000C40E00000001000000000000000000000000
0000000000007E0000000000000000000000000000007E000000000000000000
0000000000007E0000000000000000000000000000007E000000000000000000
0000000000007E000000000D0000000D0000000D00007E0D0000003300000033
0000003300007E330000007E0000007E0000007E00007E7E0000000000000000
0000000000007E0000000000000000000000000000007E000000000000000000
0000000000007E0000000000000000000000000000007E000000000000000000
0000000000007E000000000D0000000D0000000D00007E0D0000003300000033
0000003300007E330000007E0000007E0000007E00007E7E0000000000000000
0000000000007E0000000000000000000000000000007E000000000000000000
0000000000007E0000000000000000000000000000007E000000000000000000
0000000000007E000000000D0000000D0000000D00007E0D0000003300000033
0000003300007E330000007E0000007E0000007E00007E7E0000000000000000
0000000000007E0000000000000000000000000000007E000000000000000000
0000000000007E0000000000000000000000000000007E000000000000000000
0000000000007E000000000D0000000D0000000D00007E0D0000003300000033
0000003300007E330000007E0000007E0000007E00007E7E0000000000000000
0000000000007E0000000000000000000000000000007E000000000000000000
0000000000007E0000000000000000000000000000007E000000000000000000
0000000000007E000000000D0000000D0000000D00007E0D0000003300000033
0000003300007E330000007E0000007E0000007E00007E7E000000000D000000
0D0000000D007E000D0000000D0000000D0000000D007E000D0000000D000000
0D0000000D007E000D0000000D0000000D0000000D007E000D0000000D000000
0D0000000D007E000D00000D0D00000D0D00000D0D007E0D0D0000330D000033
0D0000330D007E330D00007E0D00007E0D00007E0D007E7E0D00000033000000
3300000033007E0033000000330000003300000033007E003300000033000000
3300000033007E0033000000330000003300000033007E003300000033000000
3300000033007E003300000D3300000D3300000D33007E0D3300003333000033
3300003333007E333300007E3300007E3300007E33007E7E33007E7E7E000000
7E0000007E007E007E0000007E0000007E0000007E007E007E0000007E000000
7E0000007E007E007E0000007E0000007E0000007E007E007E0000007E000000
7E0000007E007E007E00000D7E00000D7E00000D7E007E0D7E0000337E000033
7E0000337E007E337E00007E7E00007E7E00007E7E007E7E7E00E1E1E1E1E1E1
E1E1E1E1E1E1E1E1E1E1E1000000E1E1E1E1E1E1E1E1E1E1E1E1E1E180FFE100
0000E1E1E1E180FFE1E1E1E1E1E1E1E1E1E1E1000000E1E1E1808080FFE1E1E1
E1E1E180FFE1E1000000E1E1E1808080FFE1E1E1E1E180FFE1E1E1000000E1E1
E1E1808080FFE1E1E18080FFE1E1E1000000E1E1E1E1E1808080FFE18080FFE1
E1E1E1000000E1E1E1E1E1E18080808080FFE1E1E1E1E1000000E1E1E1E1E1E1
E1808080FFE1E1E1E1E1E1000000E1E1E1E1E1E18080808080FFE1E1E1E1E100
0000E1E1E1E1E1808080FFE180FFE1E1E1E1E1000000E1E1E180808080FFE1E1
E18080FFE1E1E1000000E1E180808080FFE1E1E1E1E18080FFE1E1000000E1E1
8080FFE1E1E1E1E1E1E1E18080FFE1000000E1E1E1E1E1E1E1E1E1E1E1E1E1E1
E1E1E1000000}
OnClick = SpeedButton1Click
end
object SpeedButton2: TSpeedButton
Left = 592
Top = 1
Width = 23
Height = 22
Flat = True
OnClick = SpeedButton2Click
end
object Label1: TLabel
Left = 280
Top = 368
Width = 243
Height = 13
Caption = 'Launch It! - Lanzador de aplicacionde FREEWARE'
Transparent = True
end
object Label2: TLabel
Left = 360
Top = 384
Width = 110
Height = 13
Caption = 'JDsoft. | www.infdj.com'
Transparent = True
end
object Label3: TLabel
Left = 8
Top = 6
Width = 117
Height = 50
Caption = 'Titulo'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -35
Font.Name = 'Arial Black'
Font.Style = [fsBold]
ParentFont = False
Transparent = True
end
object ListView1: TListView
Left = 176
Top = 56
Width = 457
Height = 305
BorderStyle = bsNone
Columns = <>
ParentShowHint = False
ShowHint = True
TabOrder = 0
OnDblClick = ListView1DblClick
OnInfoTip = ListView1InfoTip
end
object ImageList1: TImageList
DrawingStyle = dsTransparent
Height = 32
Width = 32
Left = 136
Top = 16
end
object Timer1: TTimer
Enabled = False
OnTimer = Timer1Timer
Left = 136
Top = 56
end
end

64
src/main.h Normal file
View File

@ -0,0 +1,64 @@
//---------------------------------------------------------------------------
#ifndef mainH
#define mainH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <ImgList.hpp>
#include <ExtCtrls.hpp>
#include <Buttons.hpp>
#include <jpeg.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TListView *ListView1;
TImageList *ImageList1;
TTimer *Timer1;
TSpeedButton *SpeedButton1;
TSpeedButton *SpeedButton2;
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
void __fastcall ListView1DblClick(TObject *Sender);
void __fastcall ListView1InfoTip(TObject *Sender, TListItem *Item,
AnsiString &InfoTip);
void __fastcall Timer1Timer(TObject *Sender);
void __fastcall SpeedButton1Click(TObject *Sender);
void __fastcall SpeedButton2Click(TObject *Sender);
void __fastcall FormDestroy(TObject *Sender);
void __fastcall FormPaint(TObject *Sender);
private: // User declarations
TPicture *pFondoAPP;
PROCESS_INFORMATION pInfo;
AnsiString rootPath;
bool __fastcall CreateFolder(int idx,AnsiString name);
bool __fastcall LoadFolder(int idx);
TLabel *selectedFolder;
void __fastcall LabelsMouseMove(TObject *Sender, TShiftState Shift,int X, int Y);
void __fastcall LabelsMouseLeave(TObject *Sender);
void __fastcall LabelsClick(TObject *Sender);
bool anclarRaton;
int anclarX,anclarY;
void __fastcall WMNCHitTest(TMessage &Msg);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_NCHITTEST, TMessage, WMNCHitTest)
END_MESSAGE_MAP(TForm)
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif