用C语言在浏览器中生成按键
我正在运行FedoraLinux,我正在尝试在浏览器中模拟按键(特别是箭头键)。在C中执行此操作的最佳方法是什么?您可以使用XTest extesion执行此操作,这是一个简单的示例:用C语言在浏览器中生成按键,c,linux,browser,C,Linux,Browser,我正在运行FedoraLinux,我正在尝试在浏览器中模拟按键(特别是箭头键)。在C中执行此操作的最佳方法是什么?您可以使用XTest extesion执行此操作,这是一个简单的示例: #include <X11/Xlib.h> #include <X11/Intrinsic.h> #include <X11/extensions/XTest.h> #include <unistd.h> static void SendKey (Display
#include <X11/Xlib.h>
#include <X11/Intrinsic.h>
#include <X11/extensions/XTest.h>
#include <unistd.h>
static void SendKey (Display *disp, KeySym keysym)
{
KeyCode keycode = 0;
keycode = XKeysymToKeycode (disp, keysym);
if (keycode == 0) return;
XTestGrabControl (disp, True);
XTestFakeKeyEvent (disp, keycode, True, 0);
XTestFakeKeyEvent (disp, keycode, False, 0);
XSync (disp, False);
XTestGrabControl (disp, False);
}
/* Main Function */
int main ()
{
Display *disp = XOpenDisplay (NULL);
/* A, B */
SendKey (disp, XK_A);
SendKey (disp, XK_B);
return 0;
}
#包括
#包括
#包括
#包括
静态无效SendKey(显示*disp,KeySym KeySym)
{
KeyCode KeyCode=0;
keycode=XKeysymToKeycode(disp,keysym);
如果(keycode==0)返回;
XTestGrabControl(disp,True);
XTestFakeKeyEvent(disp,keycode,True,0);
XTestFakeKeyEvent(disp,keycode,False,0);
XSync(disp,False);
XTestGrabControl(disp,False);
}
/*主要功能*/
int main()
{
Display*disp=XOpenDisplay(空);
/*A,B*/
SendKey(disp,XK_A);
SendKey(disp,XK_B);
返回0;
}
(改编自)您可以使用XTest执行此操作-请参阅