微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何解决 ControlSetText 和 Save File 对话框之间的这个奇怪问题

如何解决如何解决 ControlSetText 和 Save File 对话框之间的这个奇怪问题

library(shiny)
library(shinydashboard)

js <- "
Shiny.addCustomMessageHandler('anim',function(x){

    var $Box = $('#' + x.id + ' div.small-Box');
    var value = x.value;

    var $icon = $Box.find('i.fa');

    var $s = $Box.find('div.inner h3');
    var o = {value: 0};
    $.Animation( o,{
        value: value
      },{
        duration: 1000
      }).progress(function(e) {
          $s.text((e.tweens[0].Now).toFixed(0));
    });

  }
);"

# UI
ui <- dashboardPage(
  skin = "black",dashboardHeader(title = "Test"),dashboardSidebar(disable = TRUE),dashboardBody(
    tags$head(tags$script(HTML(js))),fluidRow(
      tagAppendAttributes(
        valueBox("",subtitle = "Número sorteado",icon = icon("server"),color = "blue"
        ),id = "myBox"
      )
    ),br(),actionButton("btn","Change value")
  )
)

# Server response
server <- function(input,output,session) {

  rv <- reactiveVal()

  observeEvent(input[["btn"]],{
    rv(sample(1:100,1))
  })

  observeEvent(rv(),{
    for(i in 1:30){
      session$sendCustomMessage("anim",list(id = "myBox",value = rv()))
    }
  })

}

shinyApp(ui,server)
2::
STRING := "C:\Users\User1\Downloads\ExampleFile1"
ControlSend,^+{s},ahk_exe notepad.exe
Sleep,500
ControlSetText,Edit1,%sTRING%,ahk_class #32770 ahk_exe notepad.exe
ControlSend,{Enter},ahk_class #32770 ahk_exe notepad.exe
return

如果没有文件正在处理(记事本刚刚打开)热键 3:: STRING := "C:\Users\User1\Downloads\ExampleFile2" ControlSend,ahk_class #32770 ahk_exe notepad.exe return 成功保存名为 2文件。现在尝试运行热键 ExampleFile1,它将尝试创建一个名为 3 的新副本,它会询问我是否要覆盖该文件,即使名称字段中包含字符串 ExampleFile2

但是,如果在运行热键 ExampleFile2 后,我尝试通过运行以下代码模拟用户击键来保存具有相同名称 2 的新副本。文件被保存,系统认为我不想覆盖 ExampleFile2

ExampleFile1

我真的不想依赖模拟用户击键。有没有人遇到过这个问题?还有另一种方法可以保存新副本吗?谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。