gpt4 book ai didi

objective-c - 如何模拟Cocoa的截图功能(Mac)?

转载 作者:行者123 更新时间:2023-12-03 17:39:04 25 4
gpt4 key购买 nike

这是我当前不起作用的代码:

CGEventSourceRef src =
CGEventSourceCreate(kCGEventSourceStateHIDSystemState);

CGEventRef cmdd = CGEventCreateKeyboardEvent(src, 0x37, true);
CGEventRef cmdu = CGEventCreateKeyboardEvent(src, 0x37, false);
CGEventRef optd = CGEventCreateKeyboardEvent(src, 0x3A, true);
CGEventRef optu = CGEventCreateKeyboardEvent(src, 0x3A, false);
CGEventRef dd = CGEventCreateKeyboardEvent(src, 0x02, true);
CGEventRef du = CGEventCreateKeyboardEvent(src, 0x02, false);

CGEventSetFlags(dd, kCGEventFlagMaskCommand ^ kCGEventFlagMaskAlternate);
CGEventSetFlags(du, kCGEventFlagMaskCommand ^ kCGEventFlagMaskAlternate);


CGEventTapLocation loc = kCGHIDEventTap; // kCGSessionEventTap also works
CGEventPost(loc, cmdd); //Cmd down
CGEventPost(loc, optd); //Option down
CGEventPost(loc, dd); //D down
CGEventPost(loc, cmdu); //Cmd up
CGEventPost(loc, optu); //Option up
CGEventPost(loc, du); //D up

CFRelease(cmdd);
CFRelease(cmdu);
CFRelease(optd);
CFRelease(optu);
CFRelease(dd);
CFRelease(du);
CFRelease(src);

我需要更改什么才能使其正常工作?有谁知道为什么它无法工作?

最佳答案

我无法理解为什么你想通过模拟关键命令来截取屏幕截图(顺便说一句,它可以更改,因此很脆弱)。从各方面来说,简单地以编程方式执行此操作都要好得多。苹果有example code对此,以及 Quartz Display Services documentation可以帮助您超越这一点。

关于objective-c - 如何模拟Cocoa的截图功能(Mac)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25835621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com