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 memory mcall68,11; Import libraries stdcalldll.Load,importTable; Set button style: flat or gradient (3D)invokeini_get_int,aIni,aSection,aButtonStyle,0movecx,eaxmcall48,1set_bg:invokeini_get_str,aIni,aSection,aBgProgram,sz_buffer,PATH_MAX,0invokeini_get_str,aIni,aSection,aBgParam,sz_param,PATH_MAX,0m2mdword[InfoStructure+8],sz_param; pointer to the parametrs m2mdword[InfoStructure+21],sz_buffer; pointer to the file name mcall70,InfoStructureset_skin:invokeini_get_str,aIni,aSection,aSkinPath,sz_param,PATH_MAX,0cmpbyte[sz_param],0;no need to set skin it was not specifiedje@f;mcall 63, 1, '0' ;debugmcall48,8,sz_param@@:mcall-1procRunProgramstdcall,app_path:dword,app_param:dwordm2mdword[InfoStructure+8],[app_param]; pointer to the parametrs m2mdword[InfoStructure+21],[app_path]; pointer to the file name mcall70,InfoStructureretendpimportTable:library\libini,'libini.obj'importlibini,\ini_get_str,'ini_get_str',\ini_get_int,'ini_get_int'InfoStructure:dd7; subfunction number dd0; position in the file in bytes dd?; upper part of the position address dd0; number of bytes to read dd0; pointer to the buffer to write data db0dd?; pointer to the filename aInidb'/sys/settings/system.ini',0aSectiondb'style',0aBgProgramdb'bg_program',0aBgParamdb'bg_param',0aButtonStyledb'buttons_gradient',0aSkinPathdb'skin',0sz_buffer:rbPATH_MAXsz_param:rbPATH_MAXI_END:; End of application code and data marker