开发者

Is it possible to programmatically click button of another app in Linux?

开发者 https://www.devze.com 2023-03-23 23:33 出处:网络
Is it possible to send an event to a particular widget (say a button) in Linux (X window system) I am looking for an equivalent to the following code for Linux (using Xlib)

Is it possible to send an event to a particular widget (say a button) in Linux (X window system)

I am looking for an equivalent to the following code for Linux (using Xlib)

#include <windows.h>
int main()
{
  HWND WindowHandle;
  HWND ButtonHandle;

  WindowHandle = FindWindow(NULL, "File Download");
  ButtonHandle = FindWindowEx(WindowHandle, 0, "Button", "&Open");
  SendMessage (ButtonHandle, BM_CLICK, 0 , 0);

 return开发者_StackOverflow 0;
}

I guess that FindWindow can be simulated by XFetchName, but I have no idea how to find a particular widget's ID by name (FindWindowEx) in the case where I only know the widget "name" (i.e. caption in the case of a button).

Can I do that?


Maybe, using the XTest extension:

http://www.x.org/releases/X11R7.5/doc/Xext/xtestlib.pdf

However, there is no portable way to determine what is and isn't a widget on the screen, as some GUI toolkits render everything as separate X objects, while others do their own compositing first.

0

精彩评论

暂无评论...
验证码 换一张
取 消