1

Тема: Library CriptoGSS_GUI v2

%REM
    Library CriptoGSS_GUI
    Created 22.03.2021 by Andrew Mirkin/Justice
    Description: Умеет рабоать с версией >3.6
%END REM
Option Public
Option Declare

%REM
    Function SignXMLfile
    ver 2.0
    Description: Вызывает CryptoGSS для подписания infile, возвращает true если подписан outfile.
%END REM
Function SignXMLfile (infile As String, outfile As String) As Boolean
    SignXMLfile=false
    Dim cmd, CryptoGSS, FName As String
    Dim WShell, WshExec As Variant
'Ищем CryptoPath
    If Environ("CryptoPath")="" Then
        CryptoGSS=Environ("APPDATA")+|\GSS PMR\CryptoGSS\CryptoGSS.exe| 'путь к проге в профиле <3.6
    Else
        CryptoGSS=Environ("CryptoPath")+|CryptoGSS.exe| 'путь к новой версии > 3.6
    End If

    FName = Dir$(CryptoGSS, 0) 'проверяем есть ли CryptoGSS
    If FName = "" Then
        Print CryptoGSS
        Print "Не найден CryptoGSS! Установите его!!!"
        Exit function
    End If
   
    cmd = |"|+CryptoGSS+|" "| + infile + |" "| + outfile +|"|        
    Set WShell=Nothing
    Set WshExec=Nothing
    Set WShell = CreateObject("WScript.Shell")
    Set WshExec = WShell.Exec(cmd)    'запускаем прогу           
    While WshExec.Status=0 'ждем закрытия проги
        Sleep 1
        FName = Dir$(outfile, 0)
        If FName <> "" Then
            Print "найден файл: "+FName
            SignXMLfile=True
        Else
            Print "жду файл секундочку..."   
        End If
    Wend
    Set WShell=Nothing
    Set WshExec=Nothing
   
End Function

Поделиться