我正在尝试创建一个应用程序,即使该应用程序不是重点,它也允许我运行事件。当我使用[ctrl + alt + V]触发事件时,它将在数组中选择一个随机字符串,并将其粘贴到当前选定的输入框中(在Firefox中,这可能是记事本,一个游戏...)。但是,该应用程序不会粘贴剪贴板中的信息。我正在使用SendKeys.Send("^v")
复制[ctrl + V]。
任何改进代码或解决问题的建议将不胜感激。
Public Class Form
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Tmr.Interval = 100
Tmr.Start()
End Sub
Private Sub Tmr_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Tmr.Tick
If CBool(GetAsyncKeyState(Keys.ControlKey)) And CBool(GetAsyncKeyState(Keys.V)) Then
' Create Variables for Array
Dim PhrasesArray() As String = {"1", "2", "3", "4"}
Dim Rand As New Random()
Dim Index As Integer = Rand.Next(0, PhrasesArray.Length - 1)
Dim SelectedValue = PhrasesArray(Index)
My.Computer.Clipboard.SetText(SelectedValue) ' Copy To clipboard
End If
End Sub
End Class
更新:我尝试过:SendKeys.Send("^(v)")
和SendKeys.Send("^v")
都不会触发粘贴命令。
我尝试SendKeys.Send("{ENTER}")
来查看是否有任何SendKeys可以正常工作。应用程序使用SendKeys.Send("{ENTER}")
触发了回车键。
答案 0 :(得分:1)
如果要发送Ctrl + V,可以使用when(userRepository.save(Mockito.any(User.class)))
.thenAnswer(i -> i.getArguments()[0]);
。
检查您要发送的每个不同命令键的文档:https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/sendkeys-statement