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,并承担“是”,而不是试图弹出一个对话框。