Jump to content

ISO Creator v1.16 build 2015-07-13 beta


UEZ
 Share

Recommended Posts

Hi,

here a little tool to create ISO files from default ISO 9660 (2048 bytes/sector) CD or DVD format (no audio cd and BD support yet!)

post-29844-0-49311600-1313787409_thumb.j

Source is too huge for code box :alien: -> Look here to have a look to the source code

Additional credits to:

Ward for MD5 checksum / MemoryDLL routines

Harald Vistnes for cd2iso used in v1 and v2

Yashied for WinAPIEx.au3

wolf9228 to play wave from memory

AutoItObject Team

Download (purely written with AutoIt): ISO Creator v1.16 build 2015-07-13 beta.7z (1110 downloads previously)

Thanks to smashly for pointing me to right direction :huh2:

The development of v1 and v2 is discontinued!

Download v1: ISO Creator v1.0.0 build 2011-08-03 beta v1.7z (195 downloads previously)

Download v2 (everything is called directly from memory): ISO Creator v1.0.0 build 2011-08-03 beta v2.7z (117 downloads previously)

Thanks to smartee for the DLL version (experimental) of cd2iso!

v1 is using cd2iso.exe to create the ISO

v2 is using cd2iso.dll which was created by smartee.

For compiled v1, v2 and pure AutoIt versions only (x86) visit (ISO Creator Exe only): 4shared.com or MediaFire

You can call ISO Creator.exe also with command line parameters: ISO Creator.exe -s [source cd/dvd drive] -d [filename] (-md5) (-aem) (-exit)

-s and -d are mendatory if called from command line!

Tested on Win7 x64.

If you find any bug please report here!

Many thanks to smartee and smashly for their efforts on this project!

Br,

UEZ :ph34r:

Change Log:

Spoiler

2011-06-17: added better check whether any media is inserted/mounted on the listed drives

2011-06-17: added option to create MD5 checksum of created ISOs + background texture of input box

2011-06-18: added v2 which is completely called from memory! Thanks for smartee for converting the exe into a DLL ;)

2011-06-18: disabled cursor blinking in input box

2011-06-19: added command line parameter support -> ISO Creator.exe -s [source cd/dvd drive] -d [filename]

2011-06-20: added mor information about the media in combo box (thanks to smartee for the idea)

2011-06-20: some small bugs fixed

2011-06-21: added some small feature like eject disk and added v3 which is written in pure AutoIt (thanks to smashly for pointing me to right direction)

2011-06-22: added CD001 check also for EL TORITO SPECIFICATION section and some bugs fixed

2011-06-25: added command line parameter -exit to exit program when finished + feature to change background image + small bug fixes

2011-08-03: modified some look'n'feel settings

2011-08-19: added disc image to view how sectors are read + some internal changes. The development of v1 and v2 is discontinued!

2011-08-23: some internal changes regareding GDI+ drawing and change info in disc image to x/ disc size mb

2011-08-29: removed one check in function ISO9660_Check() otherwise UDF discs will not be copied and enabled drawing of the sectors onto the disc image.

2011-08-30: found bug in display of MB copied on disc image and added MD5 creation from menu -> you can create now MD5 files from ISOs directly

2011-09-11: added play short sound when finished or aborted + update function

2011-09-24: changed ISO check function and some small code modifications

2011-10-06: made some small changes to the MD5 checksum function

2011-12-28: fixed a bug in combo resizing code and added check when no drive is available

2012-03-06: added $iShare parameter in _WinAPICreateFile() (ISO check function) line because otherwise an error may return when creating an ISO image

2012-09-10: fixed a bug in sector view and update check function, added taskbar progress bar and added feature to eject media when task is finsihed

2012-09-11: fixed a bug on app crashing when an external CD/DVD was plugged in and combo selection was not working properly, added DVD+RW DL and DVD+R DL media type into the list

2015-07-13: changed some functions to built-in functions (WinAPIEx, _GDIPlus_BitmapCreateFromMemory)

 

 

Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

  • Replies 76
  • Created
  • Last Reply

Top Posters In This Topic

Very cool! A couple of interesting things to be learnt with your Script UEZ.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

I used cd2iso 1.0 which is a command line tool made by Harald Vistnes.

Br,

UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

Thanks for your comments! :huh2:

I updated the code again. Now you can see a texture in the input box.

Source code is now too big to post it into code box. ;) Sorry.

Anybody got any issue, problem or bug?

Br,

UEZ

Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

Hi UEZ,

Here's an idea ;) , I've taken a look at the source for cd2iso, it should be fairly straightforward to turn it into a dll, with some callback functions, then load that into memory and use it. Have you considered doing this?

Going this route should be easier than loading the exe from memory.

Also, wasn't the code displaying fine a few mins ago? :huh2:

-smartee

Link to comment
Share on other sites

@smartee: I'm unfortunately a noob regarding C++. I wanted to ask the coder whether he can provide a DLL version of it. I'm not able to this. :huh2:

A DLL can be loaded directly from mem using Ward's code.

After I added the code for the texture in the input box I cannot post the code into the code box anymore.

Br,

UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

Great job, UEZ :huh2:

Noob question: Can I create ISO from bootable CD, then recreate bootable CD from ISO?

To be honest I didn't try it but it should work.

Br,

UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

I'm no expert at C++ either but I always play around with new languages in case one day my life depends on one :huh2:

Here's a rough port, all the functions with as little modification as possible, as a proof of concept; if you are interested, I can try to make it better.

Download Link

Careful though, it can be tricky to exit while control is in the dll's hands. PS: right now the callback function gets called alot

Regards,

-smartee

Edited by smartee
Link to comment
Share on other sites

@smartee: thank you very much! I will try to integrate it to the actual code.

Without the possibility to abort iso creation it will a pain in the ass.

Br,

UEZ

Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

@smartee: thank you very much! I will try to integrate it to the actual code.

Without the possibility to abort iso creation it will a pain in the ass.

My pleasure.

Totally. Working on a exit strategy :huh2:

Link to comment
Share on other sites

In an attempt to return control to AutoIt, I'm splitting up the dll functions then calling them, it looks more elegant too. I'm going take a break so I packaged what I have so far for you to test; I have done no error checking whatsoever :huh2:

Download Link

Edited by smartee
Link to comment
Share on other sites

you can make the loop like this it will show percent :huh2:

;copy all sectors
For $i = 17 To $aResult[0]
    $m=GUIGetMsg()
    DllCall($sDllPath, "int:cdecl", "CopySector")
    WinSetTitle($Form1,"",($i/$aResult[0])*100&"% complete")
    GUICtrlSetData($Progress1,($i/$aResult[0])*100)
    If $m=-3 or $m=$Button1 Then ExitLoop
Next
Link to comment
Share on other sites

Ok, thank you very MUCH. I will try to embedd it and will come back when it is finished. :huh2:

Br,

UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

Very nice program, UEZ. I'm still trying to figure out how it works. You said you used cd2iso 1.0 which is command line. Your script runs for me without any other files. Therefore, I assume you ported part of their C++ code to AutoIt. Would that be the bunch of hex values for the variable $ISOCreator? Is that just header information and the files are simply packed after the header?

Again, this is some really nice work. I'm gonna keep studying it and maybe I'll learn a few tricks.

#include <ByteMe.au3>

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...