Быстрый запуск Windows XP с WinKey

1083
Mehrdad

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

3
Windows 7 делает именно это, хотя вся панель задач теперь является панелью быстрого запуска. paradroid 13 лет назад 0
@Paranoid: O OMG, как удивительно! Я понятия не имел, что Windows 7 сделает это, и это было чистое совпадение, что я сказал «XP» в названии и вопросе! (... лол, шучу, я использую это пятьдесят раз в час, когда использую Windows 7, и я хочу это в XP; вот почему я спросил.: P) Mehrdad 13 лет назад 0

2 ответа на вопрос

1
Moab

Конечно, используйте 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. Вот и все
+1, потому что это работает, но на самом деле это не делает то, что мне нужно (хотя я думаю, что я был расплывчатым об этом, хотя). То, что делает эта программа, * не * специфично для быстрого запуска. В отличие от этого, я искал решение, где `WinKey + N` всегда выполнял бы` N` -й элемент на панели быстрого запуска, чего не происходит. Mehrdad 13 лет назад 0
В статье говорится, как привязать его к быстрому запуску? Moab 13 лет назад 0
Нет, он связывает его с * программой *, которая * оказывается * в быстром запуске. Если я перемещу ярлыки в панели быстрого запуска, клавиши будут по-прежнему связаны, как и раньше, поэтому WinKey + 1 может запустить программу # 4. На самом деле это связано не с иконками, а с самими программами, а это не совсем то, чего я хочу. Mehrdad 13 лет назад 0
Я полагаю, вы могли бы использовать монитор процессов для захвата события на ПК W7, посмотрите, как он вызывает позицию 1 на панели задач. Moab 13 лет назад 0
Скорее всего, это не то, что вы можете увидеть в Process Monitor - это, вероятно, просто какое-то сообщение в окне, возможно, лучше увидеть в Spy ++. Я мог бы, вероятно, понять это и написать программу для этого, если я действительно хочу, но если что-то уже доступно, я не хочу изобретать велосипед. Mehrdad 13 лет назад 0
1
Mehrdad

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

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; } 

Похожие вопросы