×
Siemens Industry Online Support
Siemens AG
Beitragstyp: FAQ Beitrags-ID: 14179297, Beitragsdatum: 25.02.2008
(0)
Bewerten

Wie können Tastenkombinationen abgefragt und die Tastenwiederholfunktion von Windows, bei Verwendung von Scripten, verhindert werden?

  • Beitrag
  • Betrifft Produkt(e)

Beschreibung:
Sie können an WinCC-Objekten das Ereignis Tastatur drücken bzw. loslassen projektieren. Bei längerem Drücken einer Taste wird die automatische Eingabewiederholung aktiviert und die Aktion so lange wiederholt ausgeführt wie die Taste gedrückt ist.

Um dies zu verhindern, oder abzufragen welche Taste oder Tastenkombination gedrückt wurde, können Sie die Paramater "nChar" und "nFlags" in einem C-Script verwenden.
 

Nr. Beschreibung:
1 C-Script:
in diesem Beispiel wird auf die Tastenkombination Shift - F1 abgefragt:

#include "apdefap.h"
void OnKeyDown(
           char* lpszPictureName, char* lpszObjectName,
           char* lpszPropertyName, UINT nChar,
           UINT nRepCnt, UINT nFlags)

{
// Wenn die Taste immer noch gedrückt ist > keine Bearbeitung
if (nFlags & 0x4000) return;
// Abfrage auf F1

if (nChar==112) {

     //Abfrage auf zusätlich gedrückter Shift-Taste
     if (GetAsyncKeyState(VK_SHIFT) & 0x8000) {
        printf("SHIFT-F1\r\n");
        // Weitere Anweisungen... 
       }
    }
}

2 Konstanten zur Abfrage von zusätzlichen Keys
 
Beschreibung Konstante
Shift - Taste VK_SHIFT
Strg - Taste VK_CONTROL
AltGr - Taste KF_ALTDOWN
Alt - Taste 1) VK_MENU

1)  Da die Alt-Taste ein "System-Key" ist, kann diese nicht abgefragt werden.

Suchbegriffe:
Tastenwiederholung, Typematic

Securityhinweise
Um technische Infrastruktur, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches IT Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts. Weitergehende Informationen über Cyber Security finden Sie unter
https://www.siemens.com/cybersecurity#Ouraspiration.