meta data for this page
SendKeys - Tastenanschläge senden
Set WshShell = CreateObject("WScript.Shell") WshShell.SendKeys "{F5}" ' Es wird F5 gedrückt 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
Option Explicit const S_Groesse = "2/3/4/5/6/7/8" Dim WshShell Dim Abbruch,HTML_Code Dim text_Text,text_Link Dim D_Groesse,D_Kursiv,D_Fett Dim Array,element Set WshShell = CreateObject("WScript.Shell") call main Set WshShell = nothing '------------------------------------------------------------------------- Sub main '** Start Dialog Textlink ** FF_AddDialog "Textlink",151,89 FF_AddControl "Textlink","Text","STATIC",5,5,12,10 FF_AddControl "Textlink","text_Text","SLEDIT",21,5,125,10 FF_AddControl "Textlink","Link","STATIC",5,18,12,10 FF_AddControl "Textlink","text_Link","SLEDIT",21,18,125,10 FF_AddControl "Textlink","Darstellung","GROUP",5,33,140,24 FF_AddControl "Textlink","Größe","STATIC",12,43,18,10 FF_AddControl "Textlink","D_Groesse","COMBO",29,43,18,10 FF_AddControl "Textlink","Kursiv","STATIC",62,43,16,10 FF_AddControl "Textlink","D_Kursiv","BOOL",85,44,8,8 FF_AddControl "Textlink","Fett","STATIC",109,43,12,10 FF_AddControl "Textlink","D_Fett","BOOL",127,44,8,8 FF_AddControl "Textlink","Abbrechen","BUTTON",43,72,34,11 FF_AddControl "Textlink","HTML-Code erzeugen","BUTTON",82,72,60,11 FF_AddControl "Textlink","HTML_Ergebnis","EDIT",5,62,140,4 '** End Dialog Textlink ** Array = split(S_Groesse,"/") for each element in Array FF_SetControl "Textlink","D_Groesse",element next do Abbruch = false Select Case FF_ShowDialog ("Textlink") Case "HTML-Code erzeugen" call Werte_Lesen if not Abbruch then call HTML FF_SetControl "Textlink","HTML_Ergebnis",HTML_Code msgbox HTML_Code & vbNewLine & vbNewLine & _ "Mit OK wird der HTML-Code in die Zwischenablage übernommen!",vbInformation,"HTML-Code" FF_ActivateControl "Textlink","HTML_Ergebnis" WshShell.SendKeys("^{a}") ' Strg + A (alles markieren) WshShell.SendKeys("^{c}") ' Strg + C (Markierung kopieren) WshShell.SendKeys("{ESC}") ' Escape (Beenden) end if Case "CANCEL", "Abbrechen" exit do Case Else End Select loop FF_CloseDialog ("Textlink") End Sub '------------------------------------------------------------------------- Sub Werte_Lesen text_Text = FF_GetControl("Textlink","text_Text") if text_Text = "" then msgbox "Es wurde kein Untertitel eingegeben!",vbExclamation,"Abbruch" Abbruch = true exit sub end if text_Link = FF_GetControl("Textlink","text_Link") if text_Link = "" then msgbox "Es wurde kein Link eingegeben!",vbExclamation,"Abbruch" Abbruch = true exit sub end if D_Groesse = FF_GetControl("Textlink","D_Groesse") D_Kursiv = FF_GetControl("Textlink","D_Kursiv") D_Fett = FF_GetControl("Textlink","D_Fett") End Sub '------------------------------------------------------------------------- Sub HTML if D_Fett = 1 then HTML_Code = "<b>" if D_Kursiv = 1 then HTML_Code = HTML_Code & "<i>" HTML_Code = HTML_Code & "<font size=" & chr(148) & D_Groesse & chr(148) & ">" & _ "<a href=" & text_Link & " >" & text_Text & "</a>" if D_Kursiv = 1 then HTML_Code = HTML_Code & "</i>" if D_Fett = 1 then HTML_Code = HTML_Code & "</b>" End Sub '-------------------------------------------------------------------------