专栏文章
结束极域
个人记录参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minx52c7
- 此快照首次捕获于
- 2025/12/02 09:47 3 个月前
- 此快照最后确认于
- 2025/12/02 09:47 3 个月前
CPP
#include <windows.h>
#include <string>
#include <cstdlib>
#include <thread>
#include <chrono>
void ExecuteCommand(const std::wstring& command) {
_wsystem(command.c_str());
}
// 检查鼠标左右键是否同时按下
bool AreBothMouseButtonsPressed() {
// 获取鼠标状态
bool leftPressed = (GetAsyncKeyState(VK_LBUTTON) & 0x8000) != 0;
bool rightPressed = (GetAsyncKeyState(VK_RBUTTON) & 0x8000) != 0;
return leftPressed && rightPressed;
}
// 检查鼠标中键是否按下
bool IsMiddleMouseButtonPressed() {
return (GetAsyncKeyState(VK_MBUTTON) & 0x8000) != 0;
}
// 检查键盘按键是否按下
bool IsKeyPressed(int vk) {
return (GetAsyncKeyState(vk) & 0x8000) != 0;
}
int main() {
std::wstring killCommand = L"taskkill /f /t /im StudentMain.exe";
std::wstring startCommand = L"start \"\" \"C:\\Program Files (x86)\\Mythware\\StudentMain.exe\"";
bool wasKillTriggered = true;
while (true) {
// 检查鼠标左右键是否同时按下(结束程序)
if (AreBothMouseButtonsPressed() && !wasKillTriggered) {
ExecuteCommand(killCommand);
wasKillTriggered = true;
std::this_thread::sleep_for(std::chrono::milliseconds(500)); // 防抖
}
// 检查鼠标中键是否按下(启动程序)
if (IsMiddleMouseButtonPressed() && wasKillTriggered) {
ExecuteCommand(startCommand);
wasKillTriggered = false;
std::this_thread::sleep_for(std::chrono::milliseconds(500)); // 防抖
}
// 检查上下键是否同时按下(隐藏屏幕广播窗口)
if (IsKeyPressed(VK_UP) && IsKeyPressed(VK_DOWN)) {
HWND hwnd = FindWindow(NULL, "屏幕广播");
if (hwnd) {
// 切换窗口显示状态
while (1) {
ShowWindow(hwnd, false);
// 检查左右键是否同时按下(显示屏幕广播窗口)
if (IsKeyPressed(VK_LEFT) && IsKeyPressed(VK_RIGHT)) {
HWND hwnd = FindWindow(NULL, "屏幕广播");
if (hwnd) ShowWindow(hwnd, true);
break;
}
// 检查鼠标左右键是否同时按下(结束程序)
if (AreBothMouseButtonsPressed() && !wasKillTriggered) {
ExecuteCommand(killCommand);
wasKillTriggered = true;
std::this_thread::sleep_for(std::chrono::milliseconds(500)); // 防抖
break;
}
// 短暂延迟,降低CPU使用率
std::this_thread::sleep_for(std::chrono::microseconds(1));
}
}
}
// 短暂延迟,降低CPU使用率
std::this_thread::sleep_for(std::chrono::milliseconds(50));
}
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...