- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以使用具有句柄的其他进程的窗口执行某些操作?我想做的是:- 去除 window 装饰- 将窗口移动到屏幕的任意位置-让窗口保持在顶部而不使其成为模态
指向命令行工具、脚本或 C/C++ 代码片段的链接非常好。
非常感谢!
最佳答案
我决定再试一次,因此我尝试了您的代码并添加了缺少的内容:-naked
选项。
去除装饰的 key came from here 。尽管它有效,但您最终会发现裸露的应用程序可能会开始显示一些错误。
享受:
#include "windows.h"
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <limits>
using namespace std;
#ifdef min
#undef min
#endif
int main(int argc, char* argv[])
{
char** param = argv;
unsigned int x = numeric_limits<int>::min(), y=numeric_limits<int>::min(), w=numeric_limits<int>::min(), h=numeric_limits<int>::min();
HWND z = HWND_NOTOPMOST;
unsigned int flags = (SWP_SHOWWINDOW | SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER);
++param;
wstring winTitle;
bool close = false;
bool naked = false;
while (*param)
{
string sparam(*param);
if (sparam == "-title")
{
++param;
if (!*param) break;
sparam = *param;
winTitle.resize(sparam.size());
copy(sparam.begin(), sparam.end(), winTitle.begin());
}
else if (sparam == "-move")
{
++param;
if (!*param) break;
sparam =*param;
stringstream sstr(sparam);
char sep;
sstr >> x >>sep >> y;
if (x != numeric_limits<int>::min() && y != numeric_limits<int>::min())
{
flags &= ~SWP_NOMOVE;
}
}
else if (sparam == "-resize")
{
++param;
if (!*param) break;
sparam = *param;
stringstream sstr(sparam);
char sep;
sstr >> w >>sep >> h;
if (h != numeric_limits<int>::min() && w != numeric_limits<int>::min() )
{
flags &= ~SWP_NOSIZE;
}
}
else if (sparam == "-top")
{
z = HWND_TOP;
flags &= ~SWP_NOZORDER;
}
else if (sparam == "-staytop")
{
z = HWND_TOPMOST;
flags &= ~SWP_NOZORDER;
}
else if (sparam == "-bottom")
{
z = HWND_BOTTOM;
flags &= ~SWP_NOZORDER;
}
else if (sparam == "-hide")
{
flags |= SWP_HIDEWINDOW;
}
else if (sparam == "-close")
{
close = true;
}
else if (sparam == "-naked")
{
naked = true;
}
++param;
}
if (winTitle.empty())
{
return -1;
}
HWND win_handle = FindWindow(0, winTitle.c_str());
if (win_handle != 0)
{
if (close)
{
TerminateProcess( (HANDLE )GetProcessId( win_handle ), 0);
return 0;
}
SetWindowPos( win_handle, z, x, y, w, h, flags );
if (naked)
{
SetWindowLong(win_handle, GWL_STYLE, GetWindowLong(win_handle, GWL_EXSTYLE) | WS_EX_TOPMOST);
ShowWindow(win_handle, SW_SHOW);
}
}
else
{
cout << "!!! FindWindow failed" << endl;
}
return 0;
}
关于winapi - 在 MS Windows(XP) 上使用来自不同进程的窗口句柄进行窗口操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4023942/
问题是不言自明的。如果重要的话,我正在为 USB 驱动器命名。 谢谢。 最佳答案 32 characters in NTFS, 11 in FAT. 关于windows-xp - Windows XP
我在我的 macbook(lion os)上使用并行桌面,我想让 xampp/localhost 在我安装的 XP 版本上工作,这样我就可以在 Internet Explorer 中测试我的网站。 显
我将如何创建自己的 XP 打印机驱动程序,它将执行以下操作: 打印到文件(可能是 XPS 格式) 将此文件放入密码 protected ZIP 文件 将 zip 文件通过电子邮件发送到已配置的 电子邮
我记得看过 Mark Russinovich 的网络广播,显示了用户启动的内核转储的键盘按键序列。有人可以按键的确切顺序刷新我的内存。 请注意,这是针对 XP 的。 最佳答案 http://psaca
我父亲找到了一个他非常喜欢的俄语键盘映射here .但是,它是非标准的,因此不会出现在键盘布局选择的语言(控制面板->区域和语言选项->语言->详细信息->文本服务和输入语言->添加)下拉列表中。据我
我想将 Chocolatey 与某些 Windows XP VM 一起使用。不幸的是,Chocolatey 要求告诉我们至少需要 Windows 7。( https://chocolatey.org/
是否有官方的 Windows XP 注册表引用在线某处?我看到 Win 2000 有一个引用和 Win 2003 MS technet 上的服务器,但我似乎找不到适用于 XP 的服务器。是的,我知道
我有一个带有第三方应用程序的四核系统,偶尔会旋转多个进程(始终是相同的可执行文件,但有多个实例)并占用 100% 的 CPU 时间。我还在同一个机器上运行了几个 Web 服务(IIS 和第三方)。 所
我正在寻找“RunOnceEx”的反向版本。 RunOnceEx 确实在用户的 shell(桌面和任务栏)启动之前运行一些程序。在 runonceex 完成之前,登录进度不会继续。 我想做完全相同的事
我有一个程序,我试图在两台计算机上运行。在一台电脑上,它工作正常。但是,在另一台计算机上,它在尝试创建 USB channel 时挂起。我没有能力查看程序内部。确定两台机器之间差异的最佳方法是什么?
Windows XP 绘制带有漂亮阴影的图标文本,这有助于阅读各种背景上的文本。字体颜色为白色,阴影为黑色(如果桌面背景为白色)或根本没有阴影(如果桌面背景为黑色)。 所以有两个子任务: 阴影是如何绘
有没有办法通过批处理脚本在 Windows XP 中创建用户,甚至为其分配管理员/受限用户值? 最佳答案 假设用户名是 rased 密码是 pAsS net user rased pAsS /add
我正在寻找使用 SP2 或 winsock 在 XP 上访问 A2DP、AVRCP、MAP、HFP 等蓝牙配置文件的供应商独立方式。 我正在最终确定为蓝牙创建应用程序的方法。 除了服务发现之外,我还需
我想通过 Windows 代码包将 Direct2D 用于我的 .Net 应用程序。由于我的一些用户使用 XP,我需要提供 GDI+ 后备。我想知道人们通常如何进行这种后备。 他们是否将所有必要的图形
根据 Microsoft 文档,直到 Windows Vista,InterlockedCompareExchange64 才可用作 Windows API 调用。见 http://msdn.micr
计算机管理 -> 服务和应用程序 -> 消息队列 如何从特定队列中删除消息? 在我看来有一些方法,但我现在找不到。 最佳答案 嗯,不可能通过 MMC 删除有害消息。 你可以试试QueueExplore
Windows XP 中存储的用户帐户图标/图片在哪里? (显示在非经典登录屏幕和开始菜单上的那些。) 最佳答案 C:\Document and Settings\All Users\Applicat
在 WinXP 上安装时,出现以下错误 在 Win7 应用程序上安装没有问题。 Windows 窗体应用程序和 WPF 应用程序都存在相同的问题,并且在 VS 2010 之前它们都可以正常工作。 最佳
是否可以在 Windows XP 上的 Visual Studio 中使用/引用 Microsoft.Web.Administration?我知道,在 XP 上安装 IIS 7 是不可能的,但我(必须
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我是一名优秀的程序员,十分优秀!