如何激活某个指定程序的窗口?

开发基于GTK+或QT的应用程序
回复
头像
jouyouwen
帖子: 96
注册时间: 2011-02-13 15:50
系统: Deepin
送出感谢: 0
接收感谢: 0
联系:

如何激活某个指定程序的窗口?

#1

帖子 jouyouwen » 2013-04-26 14:49

知道进程名,如:nautilus,其状态为最小化或者被其他窗口覆盖,现需要写一程序来激活它,使它成为当前窗口。这要怎么实现,请高手告之。谢谢!!!
头像
jouyouwen
帖子: 96
注册时间: 2011-02-13 15:50
系统: Deepin
送出感谢: 0
接收感谢: 0
联系:

Re: 如何激活某个指定程序的窗口?

#2

帖子 jouyouwen » 2013-04-27 9:08

额,刚发现用 wmctrl -a name 可以激活窗口,不过它的参数是窗口的标题。

再问一下:怎么向指定进程发送按键事件?
例如:firefox,CTRL+T 是新建标签,怎么用程序向其发送 CTRL+T 事件,达到新建标签的效果?
头像
jouyouwen
帖子: 96
注册时间: 2011-02-13 15:50
系统: Deepin
送出感谢: 0
接收感谢: 0
联系:

Re: 如何激活某个指定程序的窗口?

#3

帖子 jouyouwen » 2013-04-27 21:46

找到了一个方法,使用 xlib 库,先通过进程 id 获得此进程的 window id,然后在通过 window id 来激活窗口或发送按键事件。
头像
只是说
帖子: 1140
注册时间: 2012-03-12 22:44
系统: 贱兔
来自: 株洲
送出感谢: 32 次
接收感谢: 5 次

Re: 如何激活某个指定程序的窗口?

#4

帖子 只是说 » 2013-04-27 22:21

消灭楼主自问自答模式。我也不知道你在说什么。路过啊。
我的博客
头像
b33e
论坛版主
帖子: 3862
注册时间: 2011-06-07 14:20
系统: Mint18
送出感谢: 16 次
接收感谢: 62 次

Re: 如何激活某个指定程序的窗口?

#5

帖子 b33e » 2013-04-27 22:43

看标题我就想推荐awesome
进来一看,原来楼主要的不是这个 :em06
回复

回到 “GTK+和QT”