Perl可以监视弹出窗口并自动选择是吗?

问题描述:

我将下面的代码嵌入到脚本中,我可以通过业务逻辑层将记录插入到数据库中。当我运行脚本时,弹出一个Win32对话框,并询问我是否回答了一个问题。只有在数据库中输入了某些值时,该对话框才会显示给用户。所以这只是一个问题的时间百分比。是否有一个命令嵌入到我的脚本中,该脚本忽略默认Yes响应的弹出窗口?还是有办法让脚本响应并继续处理?在使用Google搜索和搜索此网站时,我没有在这个主题上看到太多内容。也许有,我正在寻找错误的词组。如果这是不可能的,我可以让业务逻辑程序员为我的脚本将运行的角色设置一个例外。Perl可以监视弹出窗口并自动选择是吗?

#Process each action required to update the State field 
      foreach $action (@performAction) { 
       $entity->EditEntity($action); 
       #Evaluate for validation errors 
       $trappedErrorValidate = $entity->Validate(); 
        if ($trappedErrorValidate ne "") { 
        print ERRFILE "The State field has not been updated from $startState to $finishState for record number @fieldValues[0] due to the error code below.\n"; 
        print ERRFILE "Error Code:$trappedErrorValidate\n"; 
        print ERRFILE "*********************************************************************************\n"; 
         $entity->Revert(); 
            } else { 
               #Commit and evaluate for errors 
            $trappedErrorCommit =$entity->Commit(); 
            if ($trappedErrorCommit ne "") { 
             print ERRFILE "The State field has not been updated from $startState to $finishState for record number @fieldValues[0] due to the error code below.\n"; 
             print ERRFILE "Error Code:$trappedErrorCommit\n"; 
             print ERRFILE "*********************************************************************************\n"; 
                          }else { 
                  $stateChanges++; 
                              } 
            } 
          } 

你有ClearQuest钩子中的代码来弹出对话框吗?这些不是来自你粘贴的脚本,所以他们一定是从钩子来。

你可以做的是在脚本中设置一个会话变量,例如,

$session->SetNameValue("RUNNING_IN_SCRIPT", "true"); 

然后在你的钩子代码有这样的:

my $runningInHook = $session->GetNameValue("RUNNING_IN_SCRIPT"); 
my $suppressPopup = $runningInHook eq "true"; 

然后任何地方,你可能做的弹出窗口中,检查是否$ suppressPopup,并承担“是”,而不是试图弹出一个对话框。