相关疑难解决方法(0)

在UNIX shell脚本中将十进制转换为十六进制

在UNIX shell脚本中,我可以使用什么来将十进制数转换为十六进制数?我认为od可以解决这个问题,但它没有意识到我正在为它提供数字的ASCII表示.

printf的?毛!现在使用它,但还有什么可用吗?

unix shell hex

102
推荐指数
6
解决办法
18万
查看次数

获取最顶层窗口的pid和详细信息

有谁知道如何获得顶部活动窗口的PID,然后如何使用PID获取窗口的属性?我指的是流程名称,程序名称等属性.

我在Linux下使用Qt(Ubuntu 9.10).

linux qt pid xlib

17
推荐指数
5
解决办法
2万
查看次数

如何在X Windows上将进程窗口置于前台?(C++)

我有进程的PID(和名称),我想把它带到linux(ubuntu)的前面.在Mac上,我只是这样做SetFrontProcess(pid),在Windows上我会枚举窗口,选择我想要的那个,然后打电话,SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);但我不知道在linux上做什么.我已经看了一下X Lib,但是大多数/所有这些函数似乎都在你进程中的窗口上运行.


编辑:使用bdk的答案我将这些助手添加到我的代码中以获取Window

bool searchHelper(Display* display, Window w, Atom& atomPID, unsigned long pid, Window& result)
{
    bool ret = false;

    Atom atomType;
    int format;
    unsigned long nItems;
    unsigned long bytesAfter;
    unsigned char* propPID = 0;
    if (Success == XGetWindowProperty(display,w,atomPID,0,1,False,XA_CARDINAL,&atomType,&format,&nItems,&bytesAfter,&propPID))
    {
        if (propPID != 0)
        {
            if (pid == *((unsigned long *)propPID))
            {
                result = w;
                ret = true;
            }
            XFree(propPID);
        }
    }

    if (ret)
        return ret; //we found …
Run Code Online (Sandbox Code Playgroud)

c++ linux

10
推荐指数
2
解决办法
1万
查看次数

内核模块,用于识别按键是否来自浏览器窗口

我有一个基本的密钥记录器内核模块,它将所有按键记录到syslog上.我只需要记录浏览器中的那些按键.有没有办法找到导致中断的应用程序的进程ID?另外,有没有办法将按键保存到文件?任何人都可以帮助.. :)

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/keyboard.h>
#include <linux/notifier.h>

MODULE_LICENSE("GPL");
#ifdef notifier_block
struct notifier_block {
  int (*notifier_call)(struct notifier_block *, unsigned long, void *);
  struct notifier_block *next;
  int priority;
};
#endif
char call(int v)
{
    char val=NULL;
    if (v == 16) {val='q';}
    else if (v == 17) {val='w';}
    else if (v == 18) {val='e';}
    else if (v == 19) {val='r';}
    else if (v == 20) {val='t';}
    else if (v == 21) {val='y';}
    else if (v == 22) {val='u';}
    else if …
Run Code Online (Sandbox Code Playgroud)

linux-kernel

6
推荐指数
1
解决办法
848
查看次数

是否可以在X11/Xlib中获取活动窗口和可执行文件名称?

在查看RescueTime for windows/mac之后,似乎有一个适用于Linux的版本,但似乎不是最新版本.此外,这是周末,我想花时间玩X11 ..

我正在考虑制作一个简单的生产力轮询应用程序,每个短间隔轮询活动窗口,并截取(并传递)鼠标和键盘按下以测量生产力.

这有可能吗?在检查Xlib后,我在哪里找不到可执行文件的二进制名称.等等

x11 filenames

5
推荐指数
1
解决办法
3149
查看次数

将属于我启动的独立进程的 X11 窗口嵌入到我自己的窗口中?

是否有捷径可寻?我从来没有在任何地方见过这个(除了 Adob​​e/... Firefox 插件),所以我对此表示怀疑......

如果没有,是否有一种可靠的、hacky 的方法(例如Xlib通过 挂钩到该进程的调用LD_PRELOAD)?

如果重要的话,假设外部进程是mplayer,我的编程语言是C。我有一种预感,Xlib直接使用是我最好的选择,但请随意建议其他选择。仅有mplayer- 的解决方案是不够的。

x11 window window-management

4
推荐指数
1
解决办法
2660
查看次数

标签 统计

linux ×2

x11 ×2

c++ ×1

filenames ×1

hex ×1

linux-kernel ×1

pid ×1

qt ×1

shell ×1

unix ×1

window ×1

window-management ×1

xlib ×1