meta data for this page
  •  

SendKeys - Tastenanschläge senden

  1. Set WshShell = CreateObject("WScript.Shell")
  2.  
  3. WshShell.SendKeys "{F5}" ' Es wird F5 gedrückt
  4. WshShell.SendKeys("^{F4}") ' Strg + F4 wird gedrückt

Eine Anwendung für diesen Befehl wäre beispielsweise das Kopieren von Text in die Zwischenablage (alternativ gibt es dafür den Skriptbefehl FF_TextToClipboard).
Im folgenden Skript wird ein einzugebender Text und ein Webadresse in HTML-Code gewandelt zu einem Textlink, der anschließend in der Zwischenablage zur Verfügung steht.

Zur Übernahme des HTML-Codes in die Zwischenablage, wird dieser in ein Textelement geschrieben und nachdem der Fokus auf das Textelement gerichtet wurde, mit Senden von Strg + A der gesamte Text markiert und dann mit Strg + C kopiert.
Anschließend wird Escape gesendet. Damit wird die Schleife nochmal durchlaufen und anschließend der "CANCEL"-Fall simuliert, wodurch das Skript beendet wird. Würde man direkt mit exit do die Schleife verlassen, würde der gesamte Skripttext kopiert. Wer's nicht glaubt, kann es gerne ausprobieren.

VBS-Beispiel

  1. Option Explicit
  2. const S_Groesse = "2/3/4/5/6/7/8"
  3.  
  4. Dim WshShell
  5. Dim Abbruch,HTML_Code
  6. Dim text_Text,text_Link
  7. Dim D_Groesse,D_Kursiv,D_Fett
  8. Dim Array,element
  9.  
  10. Set WshShell = CreateObject("WScript.Shell")
  11. call main
  12. Set WshShell = nothing
  13. '-------------------------------------------------------------------------
  14. Sub main
  15.  
  16. '** Start Dialog Textlink **
  17. FF_AddDialog "Textlink",151,89
  18. FF_AddControl "Textlink","Text","STATIC",5,5,12,10
  19. FF_AddControl "Textlink","text_Text","SLEDIT",21,5,125,10
  20. FF_AddControl "Textlink","Link","STATIC",5,18,12,10
  21. FF_AddControl "Textlink","text_Link","SLEDIT",21,18,125,10
  22. FF_AddControl "Textlink","Darstellung","GROUP",5,33,140,24
  23. FF_AddControl "Textlink","Größe","STATIC",12,43,18,10
  24. FF_AddControl "Textlink","D_Groesse","COMBO",29,43,18,10
  25. FF_AddControl "Textlink","Kursiv","STATIC",62,43,16,10
  26. FF_AddControl "Textlink","D_Kursiv","BOOL",85,44,8,8
  27. FF_AddControl "Textlink","Fett","STATIC",109,43,12,10
  28. FF_AddControl "Textlink","D_Fett","BOOL",127,44,8,8
  29. FF_AddControl "Textlink","Abbrechen","BUTTON",43,72,34,11
  30. FF_AddControl "Textlink","HTML-Code erzeugen","BUTTON",82,72,60,11
  31. FF_AddControl "Textlink","HTML_Ergebnis","EDIT",5,62,140,4
  32. '** End Dialog Textlink **
  33.  
  34. Array = split(S_Groesse,"/")
  35. for each element in Array
  36. FF_SetControl "Textlink","D_Groesse",element
  37. next
  38.  
  39. do
  40. Abbruch = false
  41.  
  42. Select Case FF_ShowDialog ("Textlink")
  43. Case "HTML-Code erzeugen"
  44. call Werte_Lesen
  45. if not Abbruch then
  46. call HTML
  47. FF_SetControl "Textlink","HTML_Ergebnis",HTML_Code
  48.  
  49. msgbox HTML_Code & vbNewLine & vbNewLine & _
  50. "Mit OK wird der HTML-Code in die Zwischenablage übernommen!",vbInformation,"HTML-Code"
  51.  
  52. FF_ActivateControl "Textlink","HTML_Ergebnis"
  53. WshShell.SendKeys("^{a}") ' Strg + A (alles markieren)
  54. WshShell.SendKeys("^{c}") ' Strg + C (Markierung kopieren)
  55. WshShell.SendKeys("{ESC}") ' Escape (Beenden)
  56. end if
  57. Case "CANCEL", "Abbrechen"
  58. exit do
  59. Case Else
  60. End Select
  61. loop
  62.  
  63. FF_CloseDialog ("Textlink")
  64.  
  65. End Sub
  66. '-------------------------------------------------------------------------
  67. Sub Werte_Lesen
  68.  
  69. text_Text = FF_GetControl("Textlink","text_Text")
  70. if text_Text = "" then
  71. msgbox "Es wurde kein Untertitel eingegeben!",vbExclamation,"Abbruch"
  72. Abbruch = true
  73. exit sub
  74. end if
  75.  
  76. text_Link = FF_GetControl("Textlink","text_Link")
  77. if text_Link = "" then
  78. msgbox "Es wurde kein Link eingegeben!",vbExclamation,"Abbruch"
  79. Abbruch = true
  80. exit sub
  81. end if
  82.  
  83. D_Groesse = FF_GetControl("Textlink","D_Groesse")
  84. D_Kursiv = FF_GetControl("Textlink","D_Kursiv")
  85. D_Fett = FF_GetControl("Textlink","D_Fett")
  86.  
  87. End Sub
  88. '-------------------------------------------------------------------------
  89. Sub HTML
  90.  
  91. if D_Fett = 1 then HTML_Code = "<b>"
  92. if D_Kursiv = 1 then HTML_Code = HTML_Code & "<i>"
  93. HTML_Code = HTML_Code & "<font size=" & chr(148) & D_Groesse & chr(148) & ">" & _
  94. "<a href=" & text_Link & " >" & text_Text & "</a>"
  95. if D_Kursiv = 1 then HTML_Code = HTML_Code & "</i>"
  96. if D_Fett = 1 then HTML_Code = HTML_Code & "</b>"
  97.  
  98. End Sub
  99. '-------------------------------------------------------------------------