在底部设置运行过程
set running process on bottom
我是C 的新手成功。
这是我到目前为止的代码:
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <string>
#include <iostream>
using namespace std;
void set_to_bg() {
LPCSTR app_name = "Calculator";
HWND hWnd = FindWindowA(0, (app_name));
HWND ProgmanHwnd = FindWindow(_T("Progman"), _T("Program Manager"));
SetParent(hWnd, ProgmanHwnd);
SetWindowPos(hWnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
}
int main()
{
set_to_bg();
return 0;
}
发生的是"计算器"窗口消失。我正在使用间谍 监视Windows,并且注意到"计算器"是为"程序管理器"的,但没有显示出来。如果省略"SetParent(hWnd, ProgmanHwnd);"
,则显示"计算器"并将其设置为底部。当我打开一个文件夹或其他应用程序时,它们将重叠"计算器",这是一个很好的结果,但是如果我单击"计算器",则它会丢失其" Onbottom"属性,并与所有打开的所有其他文件夹或应用重叠。
任何想法,代码片段,指导将不胜感激!
shelldll_defview,其中包含桌面图标listView是Progman窗口的孩子,并且覆盖整个桌面,如果您想"粘在桌面,但这是一个黑客,依靠内部外壳详细信息。
HWND_BOTTOM
不是属性,它只是告诉 SetWindowPos
现在将窗口放在z订单的底部,但不会卡在那里,它仍然是正常的窗口。窗口管理器中有一个内部的"底部"属性,但是您不能在自己的应用程序中使用它,只有Shell桌面图标窗口才能使用此内部样式。
您可以查看Rainlendar和其他开源小工具应用程序,以了解它们是如何做到的,但没有完美的解决方案。您必须考虑"如果两个应用程序执行此情况"。
相关文章:
- 使用 Qt 测量过程的实际运行时间
- 运行程序时找不到共享对象库,但在编译过程中链接了它
- 在底部设置运行过程
- 如何检查过程是否在Red Hat Linux上运行
- C - 将代码注入运行过程(使用DLL)
- 我的代码在执行过程中运行良好.但是当我去提交它的显示分割错误时
- 在输入结构对象的输入过程中运行时间错误
- 如何创建一个新过程,而没有从管理模式运行的MFC应用程序中的管理特权
- 为什么两个执行矩阵乘法的过程并行运行比连续运行慢
- 英特尔引脚:检测运行过程
- 在Windows上运行cygwin的C ++程序的安装后过程是什么
- Windows如何获取已经运行的过程的过程组
- 检查一个特定的过程是否在Windows上使用C 运行
- 创建在新Windows桌面上运行IE的过程
- 运行3个儿童过程
- 为特定过程的特定运行设置环境变量
- CLI命令到运行过程
- 应用程序停滞在构建/运行过程中
- C++Qt在单独的过程中运行应用程序的各个部分
- 如何从Lua运行过程中读取变量值(获取过程变量值)