Punto Switcher

Обсуждение любых программ, не имеющих отношения к Total Commander.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Аватара пользователя
alexey65536
Сообщения: 1056
Зарегистрирован: Пт янв 20, 2006 10:58
Откуда: Taganrog

Сообщение alexey65536 »

ask-rus писал(а):Кстати, PuntoSwitcher пишется раздельно.
Вот прямо так и пишется? :D
#199018
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

"Жы", "шы" пиши через "и".
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

alexey65536 писал(а):Вот прямо так и пишется?
Неа, прямо так не пишется и уже исправлено, т. к. имелся в виду заголовок темы.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

ask-rus
Там портабелизация не очевидная, но, то-ли в ридми, то-ли в хелпе описана: сначала запустить, потом в настройках выбрать, где сохранять настройки, а потом руками (!) скопировать папку с настройками из профиля в папку программы. Но работает...
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Под Win8 x64 иногда ломается переключение раскладки по правому Ctrl. Версия Пунты последняя на данный момент.

Добавлено спустя 1 час 28 минут:

Банально пускаем Пунту с правами админа, чтобы решить проблему. На будущее стоит теперь запоминать, что с админом запускать, а что без.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

У неё и под админом не всё работает. Переключение раскладки на правильную при открытии меню не работает, если она запущена под админом, а приложение - нет, а удобная была бы фича. А так всегда запускаю под админом (из планировщика заданий), чтобы работала в программах, запущенных под админом.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Как бы смешно это ни звучало, Пунта у меня используется только для одной цели. :D
Win8 так и не подарил возможности менять раскладку на один Ctrl, "Ё" же выполняет другую функцию.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

У меня она тоже только для одной цели - для изменения раскладки текста по Shift+Pause и регистра по Scroll Lock+Pause. Интеллектуальное переключение на фиг вырубаю, переключение раскладки в менюшках криво работает. И то замечал глюки при переключении (если в буфере картинка, она пропадает), но тулза, которую я раньше использовал для перекодировки выделенного текста, ещё более глючная и древняя.
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Сегодня не запустился при старте Windows, хотя соответствующий флажок в программе установлен.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Аватара пользователя
jentoso
Сообщения: 443
Зарегистрирован: Чт дек 20, 2007 01:36

Сообщение jentoso »

ask-rus, у меня это проявлялось часто. Только добавление ярлыка, и снятие флажка, решало проблему.
TC 11.58 combo, Windows 11 x64
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Меня больше убило как-то раз, когда то ли я, то ли она сама внезапно запустила вторую копию... и эта копия выругалась мне на каждую комбинацию клавиш, которую ей не удалось зарегистрировать, и после этого открыла диалог настройки клавиш, где ОЧИСТИЛА ВСЕ НАСТРОЙКИ, и сохранила эту пустоту в конфиг! :D
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Перейду, однако, на скрипт AHK.

Добавлено спустя 20 минут:

Нашел кое-что, не проверял.

Изменяем текущую раскладку нажатием правой Ctrl

Код: Выделить всё

 $~RControl::LangSwitch(1)
 $~RControl up::LangSwitch(2)

 LangSwitch( iKeyDownUp=0 )
 {
 static tickLast
 IfEqual,iKeyDownUp,1
 { tickLast=%A_TickCount%
 return
 }
 IfEqual,iKeyDownUp,2
 If( A_TickCount-tickLast>200 )
 return

 HKL:=DllCall("GetKeyboardLayout", "uint",GetThreadOfWindow(), "uint")

 HKLnum:=DllCall("GetKeyboardLayoutList","uint",0,"uint",0)
 VarSetCapacity( HKLlist, HKLnum*4, 0 )
 DllCall("GetKeyboardLayoutList","uint",HKLnum,"uint",&HKLlist)
 loop,%HKLnum%
 { if( NumGet( HKLlist, (A_Index-1)*4 ) = HKL )
 { HKL:=NumGet( HKLlist, mod(A_Index,HKLnum)*4 )
 break
 }
 }
 ControlGetFocus,ctl,A
 SendMessage,0x50,0,HKL,%ctl%,A ;WM_INPUTLANGCHANGEREQUEST

 ;show traytip
 LOCALE_SENGLANGUAGE=0x1001
 LOCALE_SENGCOUNTRY=0x1002
 VarSetCapacity( sKbd, 260, 0 )
 VarSetCapacity( sCountry, 260, 0 )
 DllCall("GetLocaleInfo","uint",HKL>>16,"uint",LOCALE_SENGLANGUAGE, "str",sKbd, "uint",260)
 DllCall("GetLocaleInfo","uint",HKL & 0xFFFF,"uint",LOCALE_SENGCOUNTRY, "str",sCountry, "uint",260)
 traytip,%sKbd%,%sCountry%
 SetTimer,REMOVE_TOOLTIP,500 ;0.5 second
 return
 REMOVE_TOOLTIP:
 SetTimer,REMOVE_TOOLTIP,off
 traytip
 return
 }

 ;returns first thread for the ;sets optional to pipe | separated thread list for the GetProcessThreadOrList( processID, byRef list="" )
 {
 ;THREADENTRY32 {
 THREADENTRY32_dwSize=0 ; DWORD
 THREADENTRY32_cntUsage = 4 ;DWORD
 THREADENTRY32_th32ThreadID = 8 ;DWORD
 THREADENTRY32_th32OwnerProcessID = 12 ;DWORD
 THREADENTRY32_tpBasePri = 16 ;LONG
 THREADENTRY32_tpDeltaPri = 20 ;LONG
 THREADENTRY32_dwFlags = 24 ;DWORD
 THREADENTRY32_SIZEOF = 28

 TH32CS_SNAPTHREAD=4

 hProcessSnap := DllCall("CreateToolhelp32Snapshot","uint",TH32CS_SNAPTHREAD, "uint",0)
 ifEqual,hProcessSnap,-1, return

 VarSetCapacity( thE, THREADENTRY32_SIZEOF, 0 )
 NumPut( THREADENTRY32_SIZEOF, thE )

 ret=-1

 if( DllCall("Thread32First","uint",hProcessSnap, "uint",&thE ))
 loop
 {
 if( NumGet( thE ) >= THREADENTRY32_th32OwnerProcessID + 4)
 if( NumGet( thE, THREADENTRY32_th32OwnerProcessID ) = processID )
 { th := NumGet( thE, THREADENTRY32_th32ThreadID )
 IfEqual,ret,-1
 ret:=th
 list .= th "|"
 }
 NumPut( THREADENTRY32_SIZEOF, thE )
 if( DllCall("Thread32Next","uint",hProcessSnap, "uint",&thE )=0)
 break
 }

 DllCall("CloseHandle","uint",hProcessSnap)
 StringTrimRight,list,list,1
 return ret
 }

 ; Returns thread owning specified window handle
 ; default = Active window
 GetThreadOfWindow( hWnd=0 )
 {
 IfEqual,hWnd,0
 hWnd:=WinExist("A")
 DllCall("GetWindowThreadProcessId", "uint",hWnd, "uintp",id)
 GetProcessThreadOrList( id, threads )
 IfEqual,threads,
 return 0
 CB:=RegisterCallback("GetThreadOfWindowCallBack","Fast")
 lRet=0
 lParam:=hWnd
 loop,parse,threads,|
 { NumPut( hWnd, lParam )
 DllCall("EnumThreadWindows", "uint",A_LoopField, "uint",CB, "uint",&lParam)
 if( NumGet( lParam )=true )
 { lRet:=A_LoopField
 break
 }
 }
 DllCall("GlobalFree", "uint", CB)
 return lRet
 }

 GetThreadOfWindowCallBack( hWnd, lParam )
 {
 IfNotEqual,hWnd,% NumGet( 0+lParam )
 return true
 NumPut( true, 0+lParam )
 return 0
 }
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Ответить