UEZ Posted June 16, 2011 Share Posted June 16, 2011 (edited) 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!) Source is too huge for code box -> 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 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 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 August 15, 2019 by UEZ mLipok 1 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 More sharing options...
guinness Posted June 16, 2011 Share Posted June 16, 2011 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 parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Mat Posted June 17, 2011 Share Posted June 17, 2011 Just out of interest, what is the source for the actual ISO creator itself? (ofc you are not obliged to answer that) AutoIt Project Listing Link to comment Share on other sites More sharing options...
UEZ Posted June 17, 2011 Author Share Posted June 17, 2011 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 More sharing options...
Mat Posted June 17, 2011 Share Posted June 17, 2011 Ah right. Thank-you That could be very useful information one day. AutoIt Project Listing Link to comment Share on other sites More sharing options...
UEZ Posted June 17, 2011 Author Share Posted June 17, 2011 Added option to create MD5 checksum of created ISOs. 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 More sharing options...
smartee Posted June 17, 2011 Share Posted June 17, 2011 Very nice UEZ, Load_BMP_From_Mem() is awesome. Link to comment Share on other sites More sharing options...
UEZ Posted June 17, 2011 Author Share Posted June 17, 2011 (edited) Thanks for your comments! 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 June 17, 2011 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 More sharing options...
smartee Posted June 17, 2011 Share Posted June 17, 2011 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? -smartee Link to comment Share on other sites More sharing options...
UEZ Posted June 17, 2011 Author Share Posted June 17, 2011 @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. 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 More sharing options...
dmob Posted June 17, 2011 Share Posted June 17, 2011 Great job, UEZ Noob question: Can I create ISO from bootable CD, then recreate bootable CD from ISO? Link to comment Share on other sites More sharing options...
UEZ Posted June 17, 2011 Author Share Posted June 17, 2011 Great job, UEZ 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 More sharing options...
smartee Posted June 17, 2011 Share Posted June 17, 2011 (edited) I'm no expert at C++ either but I always play around with new languages in case one day my life depends on one 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 LinkCareful though, it can be tricky to exit while control is in the dll's hands. PS: right now the callback function gets called alotRegards,-smartee Edited June 30, 2011 by smartee Link to comment Share on other sites More sharing options...
UEZ Posted June 17, 2011 Author Share Posted June 17, 2011 (edited) @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 June 17, 2011 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 More sharing options...
mesale0077 Posted June 17, 2011 Share Posted June 17, 2011 hi thank you very much Link to comment Share on other sites More sharing options...
smartee Posted June 17, 2011 Share Posted June 17, 2011 @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 Link to comment Share on other sites More sharing options...
smartee Posted June 17, 2011 Share Posted June 17, 2011 (edited) 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 Download Link Edited June 30, 2011 by smartee Link to comment Share on other sites More sharing options...
smartee Posted June 17, 2011 Share Posted June 17, 2011 you can make the loop like this it will show percent ;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 More sharing options...
UEZ Posted June 17, 2011 Author Share Posted June 17, 2011 Ok, thank you very MUCH. I will try to embedd it and will come back when it is finished. 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 More sharing options...
sleepydvdr Posted June 17, 2011 Share Posted June 17, 2011 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now