怎么阻止某个进程获得鼠标、键盘焦点

如何阻止某个进程获得鼠标、键盘焦点?
问题是这样的,我自己用VC做的程序 my.exe, 需要多次调用别人的程序other.exe来完成相关计算,而other.exe每次执行时它都会弹出子窗口到整个Windows系统的最顶层。使得我在执行my.exe来调用other.exe时,我想干些别的活,比如用Word写文档,导致每过一会other.exe就抢走了word的焦点,影响word干活,请问有什么办法可以不让other.exe获得鼠标、键盘焦点?

我在my.exe中是通过创建一个线程,然后在这个线程中创建一个进程来启动other.exe, 启动other.exe时使用了窗口隐藏的命令。但other.exe还是会抢鼠标、键盘的焦点?

------解决方案--------------------
用钩子拦截消息
------解决方案--------------------
用HOOK把other.exe注入了吧,让其不响应鼠标键盘消息
------解决方案--------------------
探讨
用HOOK把other.exe注入了吧,让其不响应鼠标键盘消息

------解决方案--------------------
你运行的时候指定的隐藏的参数, 但如果other程序自己调用了ShowWindow, 还是会显示的, 用一个线程或定时器监视窗口,如果是Other的窗口显示, 立即隐藏之.
------解决方案--------------------
把other放到另一个桌面
------解决方案--------------------
获取other的句柄,然后给他showwindows hide。

------解决方案--------------------
C/C++ code

    STARTUPINFO si = {0};
    PROCESS_INFORMATION si;

    si.cb = sizeof(STARTUPINFO);
    si.dwFlags = STARTF_USESHOWWINDOW;
    si.wShowWindow = SW_HIDE;

    ::CreateProcess(TEXT("other.exe"), NULL, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi);

------解决方案--------------------
BOOL AttachThreadInput(
DWORD idAttach, // thread to attach
DWORD idAttachTo, // thread to attach to
BOOL fAttach // attach or detach
);