use32org0x0db'MENUET01'; 8 byte id dd38; required os ddSTARTAPP; program start ddI_END; program image size dd0x1000000; required amount of memory dd0x1000000; stack heap dd0x0dd0x0include'../../../proc32.inc'include'../../../macros.inc'include'../../../dll.inc'PATH_MAXequ255STARTAPP:; Initialize heapmcall68,11; Import libraries stdcalldll.Load,importTable; Set button style: flat or gradient (3D)invokeini_get_int,aIni,aSection,aButtonStyle,0movecx,eaxmcall48,1; Set desktop backgroundinvokeini_get_str,aIni,aSection,aBgProgram,sz_app,PATH_MAX,0invokeini_get_str,aIni,aSection,aBgParam,sz_param,PATH_MAX,0cmpbyte[sz_param],'\' ;detecting KIV param like '\S__/path/to/img'jne@fm2mdword[ReadFile.path],sz_param+4callcheck_file_exists@@:mcall70,RunApp; Set system skininvokeini_get_str,aIni,aSection,aSkinPath,sz_param,PATH_MAX,0cmpbyte[sz_param],0;no need to set skin if it was not specifiedje@fm2mdword[ReadFile.path],sz_paramcallcheck_file_existsmcall48,8,sz_param@@:; Exit appmcall-1;----------------------------------------------------------------; This is fix for files located at /kolibrios and /usbhd drives; It checks is the file exists for 5 times with perioud 1 secondcheck_file_exists:movedi,0@@:mcall70,ReadFilecmpeax,0je.exitmcall5,100incedicmpedi,5jle@b.exit:ret;----------------------------------------------------------------importTable:library\libini,'libini.obj'importlibini,\ini_get_str,'ini_get_str',\ini_get_int,'ini_get_int'RunApp:dd7; subfunction number dd0; position in the file in bytes ddsz_param; upper part of the position address dd0; number of bytes to read dd0; pointer to the buffer to write data db0ddsz_app; pointer to the filenameReadFile:dd0; subfunction number dd0; position in the file in bytes dd0; upper part of the position address dd4; number of bytes to read ddbuf; pointer to the buffer to write data db0.pathdd?; pointer to the filenamebufrb4aInidb'/sys/settings/system.ini',0aSectiondb'style',0aBgProgramdb'bg_program',0aBgParamdb'bg_param',0aButtonStyledb'buttons_gradient',0aSkinPathdb'skin',0sz_app:rbPATH_MAXsz_param:rbPATH_MAXI_END:; End of application code and data marker