Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include <cstdio>
- LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
- {
- switch (msg)
- {
- /*case WM_KEYDOWN:
- printf("KeyDown: %d\n", (int)wParam);
- break;*/
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
- default:
- return DefWindowProcW(hWnd, msg, wParam, lParam);
- }
- return 0;
- }
- int main(int argc, char** argv)
- {
- WNDCLASSEXW wc = {
- .cbSize = sizeof(WNDCLASSEXW),
- .lpfnWndProc = WndProc,
- .hCursor = LoadCursorW(nullptr, IDC_ARROW),
- .lpszClassName = L"Window"
- };
- RegisterClassExW(&wc);
- HWND hWnd = CreateWindowExW(0L, L"Window", L"UELiveCodingMacro", WS_OVERLAPPEDWINDOW | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, 300, 100, nullptr, nullptr, nullptr, nullptr);
- if (!hWnd)
- return 1;
- RegisterHotKey(hWnd, 0x100, 0, VK_F7);
- MSG msg = { 0 };
- while (GetMessageW(&msg, hWnd, 0, 0) > 0)
- {
- if (msg.message == WM_HOTKEY)
- {
- if (msg.wParam == 0x100)
- {
- printf("hotkey\n");
- static INPUT inputs[3] = {
- {
- .type = INPUT_KEYBOARD,
- .ki = {
- .wVk = VK_LCONTROL
- }
- },
- {
- .type = INPUT_KEYBOARD,
- .ki = {
- .wVk = VK_LMENU
- }
- },
- {
- .type = INPUT_KEYBOARD,
- .ki = {
- .wVk = VK_F11
- }
- }
- };
- SendInput(3, inputs, sizeof(INPUT));
- Sleep(20);
- static INPUT inputs1[3] = {
- {
- .type = INPUT_KEYBOARD,
- .ki = {
- .wVk = VK_F11,
- .dwFlags = KEYEVENTF_KEYUP
- }
- },
- {
- .type = INPUT_KEYBOARD,
- .ki = {
- .wVk = VK_LMENU,
- .dwFlags = KEYEVENTF_KEYUP
- }
- },
- {
- .type = INPUT_KEYBOARD,
- .ki = {
- .wVk = VK_LCONTROL,
- .dwFlags = KEYEVENTF_KEYUP
- }
- }
- };
- SendInput(3, inputs1, sizeof(INPUT));
- }
- }
- TranslateMessage(&msg);
- DispatchMessageW(&msg);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment