我知道如果用户按下设置键,你可以设置触发操作,在我的情况下是Escape,如下所示:
transitions.push_back(new KeyTransition("GameMode", OIS::KC_ESCAPE));
我想知道的是,如果我能让程序“认为”按下了Escape键,即使它没有。例如,当用户单击按钮时,程序会模拟已按下转义键并触发附加到它的事件。
答案 0 :(得分:4)
执行此操作的一种方法是将其绑定到特定的按键事件,而不是将其绑定到特定的按键事件。
所以有一个像Cancel()
或GoBackOneScreen()
等方法,无论ESC正在做什么。然后你可以让ESC按键调用GoBackOneScreen()
,当你需要模拟ESC键按下时,你可以通过调用GoBackOneScreen()
方法来实现。
答案 1 :(得分:2)
请参阅:How do I send key strokes to a window without having to activate it using Windows API?
总结:你不能可靠。
答案 2 :(得分:-1)
//To force user to press escape key
#include<iostream.h>
#include<conio.h>
void main
{
cout<<"press escape to exit\n";
loop:
if(getch()==27);
else
{
if (getch()==27);
goto loop;
}
}