Atalhos do Windows XP Quick Launch com o WinKey

3

Como posso fazer a combinação WinKey + [número] executar o item [number] th na barra Quick Launch do Windows XP? Em outras palavras, quero imitar o comportamento do Windows 7.

    
por Mehrdad 06.07.2011 / 00:32

2 respostas

1

Claro, use o HotKeyBind

link

  1. First Download and install HotKeyBind.

  2. You will see a gray colored icon in the task bar if it is running

  3. Double click on this icon a new window will appear

  4. Click on the Add button, and select the option which says Launch a File >> Executes a Program and Click Ok

  5. Browse to the target quick launch items folder , path for it would be :\Documents and Settings\Application Data\Microsoft\Internet Explorer\Quick Launch

For Example: C:\Documents and Settings\zapper\Application Data\Microsoft\Internet Explorer\Quick Launch

Note: Make sure the that Show hidden files and folder is set to shown in folder options before browsing to this path. Other wise copy the path above and paste it in the address bar and drag the quick launch items on the target box.

  1. After selecting the shortcut for the program like Gtalk in quick launch items click Ok

  2. A New window will open up with title as Edit Keys , click the checkbox WIN and press any number key.

As Google talk is the first item in my quick launch after Start button so I have set the shortcut for it as Win +1

  1. That’s it Done
    
por 06.07.2011 / 01:37
1

Eu acabei de escrever um programa para fazer isso sozinho.

Versão codificada em Base64 do meu executável:

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

Código-fonte:

//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;
}
    
por 22.08.2011 / 03:25