bb.donnay-software.com

Donnay Software Web Forums
It is currently Fri Aug 23, 2019 8:17 pm

All times are UTC - 7 hours




Post new topic Reply to topic  [ 1 post ] 
Author Message
PostPosted: Sun Nov 18, 2018 9:20 pm 
Offline
User avatar

Joined: Sat Feb 04, 2012 2:23 am
Posts: 1296
Location: Russia, Southern federal district, city of Krasnodar
This is to make it impossible to run an external exe module that has been replaced or corrupted by viruses.

If an executable module exists and its checksum matches, run it for execution:
Code:
************************************************************************************************************
******** Если исполнимый модуль существует и его контрольная сумма совпадает, то запустить его на исполнение
************************************************************************************************************
FUNCTION LC_RunShell(cFile, mCheckSum)

Running(.T.)
CLoseAll()            // Закрытие всех баз данных с ожиданием завершения операций

  DIRCHANGE(Disk_dir)                                  // Перейти в папку с исполнимым модулем системы Эйдос

* ********** Формирование текстового файла с параметрами запуска модуля ************************
* set device to printer;set printer on;set printer to ("ImageResize.txt");set console off
* ??M_PathAppl+"\SWOTDiagrCls\"+cFileName+' '+ALLTRIM(STR(nWidth))+' '+ALLTRIM(STR(nHeight-29))  // <<<===#################
* Set device to screen;Set printer off;Set printer to;Set console on
* а можно просто сформировать и записать переменную StrFile(). Наверное так лучше
************************************************************************************************

  IF FILE(cFile)
     IF FILECHECK(cFile) = mCheckSum
        RunShell("",cFile,.F.)                         // Чтобы процесс не бежал дальше, пока ImageResize.exe не закончится
     ELSE
        aMess := {}
        AADD(aMess, L('Исполнимый модуль: "')+cFile+'" '+L('заменен или поврежден, возможно вирусами.'))
        AADD(aMess, L('Поэтому он не может быть запущен на исполнение. Для получения этого модуля'))
        AADD(aMess, L('скачайте и установите новую версию системы "Эйдос" с сайта автора:'))
        AADD(aMess, L('- полная инсталляция (около 217 Мб): http://lc.kubagro.ru/Aidos-X.exe'))
        AADD(aMess, L('- только обновления  (около 8 Мб): http://lc.kubagro.ru/Downloads.exe'))
        AADD(aMess, L('Контрольная сумма=')+ALLTRIM(STR(FILECHECK(cFile),19)))                   // <<<===#################
        LB_Warning(aMess)
     ENDIF
  ELSE
     aMess := {}
     AADD(aMess, L('Исполнимый модуль: "')+cFile+'" '+L('в текущей папке системы "Эйдос" отсутствует.'))
     AADD(aMess, L('Для его получения скачайте и установите новую версию системы "Эйдос" с сайта автора:'))
     AADD(aMess, L('- полная инсталляция (около 217 Мб): http://lc.kubagro.ru/Aidos-X.exe'))
     AADD(aMess, L('- только обновления  (около 8 Мб): http://lc.kubagro.ru/Downloads.exe'))
     LB_Warning(aMess)
  ENDIF

CLoseAll()            // Закрытие всех баз данных с ожиданием завершения операций
Running(.F.)

RETURN nil

_________________
http://sj.kubsau.ru/editorialboard
http://sj.kubsau.ru/authors/521
http://translate.google.ru/translate?hl ... ubagro.ru/
http://lc.kubagro.ru/


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 16 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group