Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Сейчас буду опять навязывать громоздкое решение .
Есть такой планировщик - nnrcon . Есть также клавиатура Defender KM-1080B. C помощью планировщика который может отслеживать нажатие кнопок клавиатуры настраиваем как душе угодно. К примеру:


Код: Выделить весь код
#( KB_Opera
AsLoggedUser
LoadProfile
WatchHotKey: "{0xAC}"
Rule: PROC-EXIST: "opera.exe" NOT
Action:
StartIn: "D:\programs\Inet\Opera75" 
ShowMaximized   NormalPriority
START-APP: D:\programs\Inet\Opera75\Opera.exe
)#

#( KB_Maxthon
AsLoggedUser
LoadProfile
WatchHotKey: "+{0xAC}"
Rule: PROC-EXIST: "myie.exe" NOT
Action:
StartIn: "D:\programs\Inet\Maxthon" 
ShowMaximized   NormalPriority
START-APP: D:\programs\Inet\Maxthon\Maxthon.exe
)#

#( KB_IE
AsLoggedUser
LoadProfile
WatchHotKey: "^{0xAC}"
Action:
StartIn: "C:\Program Files\Internet Explorer" 
ShowMaximized   NormalPriority
START-APP: C:\Program Files\Internet Explorer\iexplore.exe
)#

#( KB_FireFox
AsLoggedUser
LoadProfile
WatchHotKey: "@{0xAC}"
Rule: PROC-EXIST: "firefox.exe" NOT
Action:
StartIn: "D:\programs\Inet\Firefox08" 
ShowMaximized   NormalPriority
START-APP: D:\programs\Inet\Firefox08\firefox.exe
)#

#( KB_Mailer
AsLoggedUser
WatchHotKey: "{0xB4}"
Rule: PROC-EXIST: "thebat.exe" NOT
Action:
StartIn: "D:\programs\Inet\The Bat! 2" 
ShowNormal   NormalPriority
START-APP: D:\programs\Inet\The Bat! 2\thebat.exe /NOLOGO
)#

#( KB_Miranda
AsLoggedUser
WatchHotKey: "{0xAB}"
Rule: PROC-EXIST: "miranda32.exe" NOT
Action:
StartIn: "D:\programs\Inet\Miranda IM" 
ShowNormal   NormalPriority
START-APP: D:\programs\Inet\Miranda IM\Miranda32.exe
)#

#( KB_Back
NoActive
AsLoggedUser
WatchHotKey: "{0xA6}"
Action:
RE-MATCH: "%ACTIVE-WINDOW%" "/.*Opera$/"
IF
  WIN-SEND-KEYS: "*Opera*" "z"
ELSE
  RE-MATCH: "%ACTIVE-WINDOW%" "/.*Explorer$/"
  IF
    WIN-SEND-KEYS: "*Internet Explorer*" "@{0x25}"
  THEN
THEN
)#

#( KB_Forward
NoActive
AsLoggedUser
WatchHotKey: "{0xA7}"
Action:
RE-MATCH: "%ACTIVE-WINDOW%" "/.*Opera$/"
IF
  WIN-SEND-KEYS: "*Opera*" "x"
THEN
RE-MATCH: "%ACTIVE-WINDOW%" "/.*Explorer$/"
IF
  WIN-SEND-KEYS: "*Internet Explorer*" "@{0x27}"
THEN
)#

#( KB_Volume+
AsLoggedUser
WatchHotKey: "{0xAF}"
Action:
MIXER-STATE 0=
IF
ELSE
  3 MIXER-UP 
THEN
)#

#( KB_Volume-
AsLoggedUser
WatchHotKey: "{0xAE}"
Action:
MIXER-STATE 0=
IF
ELSE
  3 MIXER-DOWN
THEN
)#

#( KB_Lock
AsLoggedUser
WatchHotKey: "{0x5F}"
WINAPI: LockWorkStation USER32.DLL
Action:
    LockWorkStation DROP

)#

#( KB_MediaPlayPause
WatchHotKey: "{0xB3}"
Rule: PROC-EXIST: "winamp.exe" 
Action:
RE-MATCH: "%ACTIVE-WINDOW%" "/.*Media Player$/"
IF
  WIN-SEND-KEYS: "*Windows Media Player*" " "
ELSE
  RE-MATCH: "%ACTIVE-WINDOW%" "/ActiveMovie Window$/"
  IF
    WIN-SEND-KEYS: "ActiveMovie Window" " "
  ELSE
    S" D:\programs\Audio\Winamp295\!wapause.tmp" EXIST?
    IF
      WINAMP-PLAY  
      S" D:\programs\Audio\Winamp295\!wapause.tmp" FDELETE
    ELSE
      WINAMP-PAUSE
      S" D:\programs\Audio\Winamp295\!wapause.tmp" FCREATE
    THEN
  THEN
THEN
)#

#( KB_MediaStop
AsLoggedUser
WatchHotKey: "{0xB2}"
Action:
RE-MATCH: "%ACTIVE-WINDOW%" "/.*Media Player$/"
IF
  WIN-SEND-KEYS: "*Windows Media Player*" "{ESC}"
ELSE
  RE-MATCH: "%ACTIVE-WINDOW%" "/ActiveMovie Window$/"
  IF
    WIN-SEND-KEYS: "ActiveMovie Window" "{ESC}"
  ELSE  
    WINAMP-STOP
    S" D:\programs\Audio\Winamp295\!wapause.tmp" FCREATE
  THEN
THEN
)#

#( KB_NextTrack
AsLoggedUser
WatchHotKey: "{0xB0}"
Action:
RE-MATCH: "%ACTIVE-WINDOW%" "/.*Media Player$/"
IF
  WIN-SEND-KEYS: "*Windows Media Player*" "{PGDN}"
ELSE
  RE-MATCH: "%ACTIVE-WINDOW%" "/ActiveMovie Window$/"
  IF
    WIN-SEND-KEYS: "ActiveMovie Window" "{PGDN}"
  ELSE  
    WINAMP-NEXT-TRACK
  THEN
THEN
)#

#( KB_PrevTrack
AsLoggedUser
WatchHotKey: "{0xB1}"
Action:
RE-MATCH: "%ACTIVE-WINDOW%" "/.*Media Player$/"
IF
  WIN-SEND-KEYS: "*Windows Media Player*" "{PGUP}"
ELSE
  RE-MATCH: "%ACTIVE-WINDOW%" "/ActiveMovie Window$/"
  IF
    WIN-SEND-KEYS: "ActiveMovie Window" "{PGUP}"
  ELSE  
    WINAMP-PREVIOUS-TRACK
  THEN
THEN
)#

#( KB_WhereIsIt
AsLoggedUser
WatchHotKey: "+{0xAA}"
Rule: WIN-EXIST: "*Where Is It? - *" NOT
Action:
StartIn: "D:\programs\CD\WhereIsIt" 
ShowMaximized   NormalPriority
START-APP: D:\programs\CD\WhereIsIt\WhereIsIt.exe
)#

#( KB_SpeakTime
AsLoggedUser
WatchHotKey: "$+t"
Action:
SPK-RUSSIAN SpkTime
)#

#( KB_ShowTime
AsLoggedUser
WatchHotKey: "$t"
Action:
GET-CUR-TIME
HINT-POS: 1017 27
THINTW: "%hh%:%mm%:%ss%%crlf%%DD%.%MM%.2k%YY%" 3
)#
Это задачи планировщика, срабатывают они по определенным клавиатурным комбинациям и действия выполняются какие необходимы мне, а не той программе которая пришла с клавиатурой. Тут задействованы не только мультимедийные клавиши (их можно узнать по шеснадцатиричному виду представления). Например задача KB_Mailer переопределяет запуск мэйл-клиента на любимый мне TheBat!, а KB_Miranda запуск Миранды по клавише которая до вмешательства открывала "избранное" (на кнопке звездочка очень похожая на цветок Миранды). В общем можно сделать все что угодно... при желании . В вашем случае это будет несколько неудобно ибо больше этого планировщик использоваться не будет и хоть памяти и времени процессора он кушает мало это все равно как-то неоптимально. Остается полюбить nncron и юзать его везде и всегда . Желаю удачи в поиске оптимального решения.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 03:05, 24-09-2004 | #5