【发布时间】:2021-01-22 06:26:34
【问题描述】:
我在考虑创建一个程序的方法时遇到了麻烦,该程序可以随时监控剪贴板的使用情况,并将其打印到 .txt 文件中(应该可以监控任何窗口/应用程序的剪贴板)。我使用了使用剪贴板 WIn32,但我不确定如何让这个过程持续运行?我能够获得一次剪贴板,但我的程序停止了。我应该使用while循环吗?基本上,我的程序只在我希望它继续跟踪更改时运行一次。我该怎么办?
///
剪贴板格式侦听器能否帮助我满足我的需求?
///
int main()
{
OpenClipboard(nullptr);
HANDLE hData = GetClipboardData(CF_TEXT);
char* pszText = static_cast<char*>(GlobalLock(hData));
string text = pszText;
GlobalUnlock(hData);
CloseClipboard();
cout << text;
return 0;
}
【问题讨论】:
-
诸如“剪贴板”之类的东西非常依赖于操作系统,有时甚至依赖于环境。请edit您的问题至少包含您的目标操作系统作为标签。也请花一些时间阅读How to Ask,以及this question checklist。
-
@Someprogrammerdude 请看上面。改变了。
-
也许可以使用WM_CLIPBOARDUPDATE 消息进行调查。 Stack Overflow 上的某个地方甚至可能还有另一个帖子...
-
...也许不完全是重复的,但在这里:stackoverflow.com/q/59460658/10871073
-
已经看过这些资源了。还是很迷茫。