3

Как сделать так, чтобы комбинация WinKey+[номер] запускала [number] -й элемент в панели быстрого запуска Windows XP? Другими словами, я хочу имитировать поведение Windows 7.

2 ответа2

1

Я просто написал программу, чтобы сделать это сам.

Base64-кодированная версия моего исполняемого файла:

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

Исходный код:

//Flags:  /O1 /link /NoDefaultLib /entry:WinMainCRTStartup /Subsystem:Windows
//No need for a C runtime library...

#define _WIN32_WINNT 0x502
#include <tchar.h>
#include <windows.h>
#include <commctrl.h>

static HHOOK hHook = NULL;

LRESULT CALLBACK KeyboardHook(IN int nCode,
                              IN WPARAM wParam, IN LPARAM lParam)
{
    BOOL suppress = FALSE;
    LPKBDLLHOOKSTRUCT pKBDHS = (LPKBDLLHOOKSTRUCT)lParam;
    int nKey = pKBDHS->vkCode - 0x30;
    if (nCode >= 0 && wParam == WM_KEYDOWN && 0 <= nKey && nKey <= 9)
    {
        if (nKey == 0)
        {
            /*Quit*/
            suppress = TRUE;
            PostQuitMessage(0);
        }
        else if (GetKeyState(VK_LWIN) < 0 || GetKeyState(VK_RWIN) < 0)
        {
            HWND hWnd = GetDesktopWindow();
            if (hWnd != NULL)
            { hWnd = FindWindowEx(hWnd, NULL, _T("Shell_TrayWnd"), NULL); }
            if (hWnd != NULL)
            { hWnd = FindWindowEx(hWnd, NULL, REBARCLASSNAME, NULL); }
            if (hWnd != NULL)
            {
                hWnd = FindWindowEx(hWnd, NULL,
                                    TOOLBARCLASSNAME, _T("Quick Launch"));
            }
            if (hWnd != NULL)
            {
                suppress = TRUE;
                DWORD btnSize = SendMessage(hWnd, TB_GETBUTTONSIZE, 0, 0);
                LONG coord = MAKELONG((nKey - 1) * LOWORD(btnSize), 0);
                PostMessage(hWnd, WM_LBUTTONDOWN, 0, coord);
                PostMessage(hWnd, WM_LBUTTONUP, 0, coord);
            }
        }
    }
    if (suppress) { return 1; }
    else if (hHook == NULL) { return 0; }
    else { return CallNextHookEx(hHook, nCode, wParam, lParam); }
}

int WinMainCRTStartup()
{
    HINSTANCE hInstance = GetModuleHandle(NULL);
    hHook = SetWindowsHookEx(WH_KEYBOARD_LL, &KeyboardHook, hInstance, 0);
    if (hHook != NULL && hHook != INVALID_HANDLE_VALUE)
    {
        MSG msg;
        BOOL success;
        while (success = GetMessage(&msg, NULL, 0, 0))
        {
            if (success == -1) { break; }
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }
    return 0;
}
1

Конечно, используйте HotKeyBind

http://www.technixupdate.com/assign-window-hotkeys-to-quick-launch-items-in-win-xp-with-hotkeybind/

  1. Сначала загрузите и установите HotKeyBind.

  2. Вы увидите серый значок на панели задач, если он запущен

  3. Двойной щелчок по этому значку откроется новое окно

  4. Нажмите кнопку «Добавить» и выберите опцию «Запустить файл» >> «Выполнить программу» и «ОК».

  5. Перейдите к целевой папке элементов быстрого запуска, путь к которой будет:\Documents and Settings\\ Данные приложения \ Microsoft \ Internet Explorer \ Quick Launch

Например: C:\Documents and Settings\ zapper \ Данные приложения \ Microsoft \ Internet Explorer \ Быстрый запуск

Примечание. Прежде чем перейти по этому пути, убедитесь, что для параметра Показать скрытые файлы и папки задано значение, отображаемое в параметрах папки. В противном случае скопируйте путь выше, вставьте его в адресную строку и перетащите элементы быстрого запуска на целевое поле.

  1. После выбора ярлыка для программы типа Gtalk в пунктах быстрого запуска нажмите Ok

  2. Откроется новое окно с названием в качестве ключа редактирования, установите флажок WIN и нажмите любую цифровую клавишу.

Так как Google Talk - это первый элемент в моем быстром запуске после кнопки «Пуск», поэтому я установил для него ярлык Win +1

  1. Вот и все

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .