определить, запустил ли Kofax пользовательский модуль или пользователя - PullRequest
1 голос
/ 12 мая 2019

Когда пользовательский модуль запускается, я могу использовать

if (Environment.UserInteractive)
{
   // Run as WinForms app
}
else
{
   // Run as service
}

для переключения между фоновой службой и приложением WinForms.Но я также могу запустить файл .exe без запуска Kofax.

Можно ли проверить, запустил ли Kofax модуль?Мой пример кода будет выглядеть как

if (Environment.UserInteractive)
{
   // Run as WinForms app

   if (Application.LaunchedByKofax)
   {
      // Do something additional
   }
}
else
{
   // Run as service
}

1 Ответ

3 голосов
/ 13 мая 2019

Единственный контекст, в котором Kofax Capture запускает ваш пользовательский модуль, - это когда пользователь пытается обработать пакет из Batch Manager, и этот пакет в данный момент находится в очереди для вашего пользовательского модуля.Если вы имеете в виду что-то другое, то вам нужно уточнить ваш вопрос.

Когда это происходит, путь, зарегистрированный для вашего пользовательского модуля, вызывается с дополнительными параметрами, наиболее заметным из которых является -B ###, где ### - десятичный идентификатор партии.Подробнее об этом см. Статью Kofax KB 1713 , которая устарела, но все еще применима для текущих версий.

Таким образом, вы можете использовать функцию, подобную этой, для проверки ожидаемых параметров.

public bool LaunchedFromBatchManager()
{
    var args = Environment.GetCommandLineArgs();

    //args[0] will contain the path to your exe, subsquent items are the actual args
    if (args.Count() > 1)
    {
        // When a user tries to process a batch from batch manager, 
        // it launches the module with -B###, where ### is the decimal batch ID
        // see: http://knowledgebase.kofax.com/faqsearch/results.aspx?QAID=1713
        if (args[1].StartsWith("-B"))
        {
            return true;
        }
    }

    return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...