Güvenilir özel Windows kısayol tuşları?


9

Birkaç farklı cmd.exe örneklerine atanmış genel Windows kısayol tuşları var. Bunu masaüstümde cmd.exe kısayolları oluşturarak ve her birine benzersiz bir kısayol tuşu (örneğin, CTRL + ÜST KRKT + U) atayarak yaparım. Oldukça basit şeyler. Win2K8 kullanıyorum (R1 ve R2).

Bu iyi çalışıyor ... çoğu zaman. Ama çileden çıkaran düzenlilikle bazen olmaz. Veya uzun bir gecikmeyle (birçok saniye) çalışacaktır. Şu anda hangi uygulamanın odağı olduğu önemli değil (komut istemlerinden biri bile olabilir). Hangi tuşları atadığım önemli değil (WIN, CTRL ve SHIFT'in birkaç varyasyonunu denedim). Bu genellikle, ama her zaman değil, explorer.exe bir şekilde veya başka bir şekilde mücadele ile ilişkili olduğunu fark ettim (örneğin, kullanılamayan bir dosya paylaşımına açılan bir explorer penceresi veya bir uygulama yanıt vermiyor, ya da her neyse). Başka bir deyişle, kısayol tuşunun kullanımı ilgisiz sistem etkinliğine çok duyarlı görünmektedir. Bu sorunla karşılaştığımda, her zaman başarılı bir şekilde ALT + SEKME'yi almak istediğim pencereye götürebileceğimi unutmayın, ama bu sıkıcı.

Bu komut pencerelerinin kısayollarını günde yüzlerce kez kullanıyorum, böylece% 1'lik bir hata oranı bile gerçekten can sıkıcı oluyor.

Bunu düzeltmenin bir yolu var mı, yoksa diğer sistem etkinliğinden bağımsız bir şekilde istediğim uygulamalara odaklanmak için özel tuş kombinasyonlarını güvence altına alacak bazı üçüncü taraf yardımcı programları var mı?

EK:

Bir üçüncü taraf kısayol tuşu aracına geçiş yaparken kaybetmek istemediğim Windows kısayollarının bir özelliği var: Windows kısayolları idempotent. Eğer kısayol tuşu combo basarak bazı uygulamaya bir kısayol başlattıktan sonra tekrar zaten başlatılan sürecin götürür - bu mu değil yeni bir süreç başlatacak.

Yanıtlar:


7

Autohotkey'i kullanın. Komut dosyası dili standart değildir ve öğrenmesi zor olabilir, ancak yapmak istediğiniz tek şey programları güvenilir bir şekilde başlatmaksa, bu basittir. Ayrıca kısayolları Windows tuşundan da çıkarabilirsiniz! Aşağıdaki örnek komut dosyasını kullanın ve ihtiyaçlarınıza göre değiştirin. (İle başlayan satırlar yorumdur ;.)

;win + alt + e ... unload ipod
#!E::
   run d:\Downloads\Apps\deveject\eject ipod.bat
   return

;win + w ... launch winamp
#w::
    run c:\program files (x86)\winamp\winamp.exe
    return

;win + a ... launch AS400
#a::
    run C:\Program Files (x86)\IBM\Client Access\Emulator\Private\1.ws
    return

;win + Shift a ... launch AS400 Printer
#+a::
    run C:\Program Files (x86)\IBM\Client Access\Emulator\Private\3.ws
    return

;win + ctrl + Shift a ... launch 2nd AS400 
#^+a::
    run C:\Program Files (x86)\IBM\Client Access\Emulator\Private\2.ws
    return

Bunu masaüstünüze bir .ahk dosyası olarak kaydedin, autohotkey'i yükleyin ve çalıştırın.

Herhangi bir tuş bileşimine her bastığınızda, AutoHotkey bu komut dosyasını tarar. A tuşundan önce gelen tuş kombinasyonlarından biriyle eşleşirse ::, sonraki komutu yürütür. Return ifadesi eksikse, AHK ifadenizi yürüttükten sonra komut dosyasını eşleşmeler için taramaya devam eder. Tuş kombinasyonları aşağıda açıklanmaktadır.

# = Windows Key
+ = Shift
^ = Control
! = Alt

Bunları klavyenizin harfleriyle herhangi bir kombinasyonda kullanabilirsiniz. Son derece yararlı bulduğum bir kombinasyon aşağıdaki gibidir.

; ALT Backtick ... ctrl f4
!`::
    Loop, parse, RcvCtrlW, `,
    {
     IfWinActive %A_LoopField%
     {
        sendinput ^w
        Return
     }
    }
    sendinput ^{f4}
    return

; win Backtick ... alt f4
#`::
   sendinput !{f4}
   return   

Bu Alt + `ve Win +`. Bu komut dosyası çalışırken ve alt + `tuşlarına bastığımda, komut dosyası ctrl + F4 gönderir. Win + `alt + F4 olur.

Autohotkey temel olarak kendi programlama dilidir. Ben "Rocker Hareketleri" sistemi geniş taklit scriptler var. E-postam için GMail gibi kısayollar var. Eğer onun bazı hilelerini öğrenmek için zaman harcıyorsanız, onunla fındık alabilirsiniz. Lifehacker, Autohotkey için bir sürü yararlı komut dosyasına sahiptir. İyi eğlenceler!


3
Hmm - güvendiğim Windows kısayol tuşunun önemli bir özelliği onun idempotency. CTRL + ÜST KRKT + U tuşlarına ilk kez bastığımda, komut istemini açmak için cmd.exe dosyasını başlatır. Bir dahaki sefere bu komboyu vurduğumda, cmd.exe hala çalışıyorsa, başka bir örneği (Autohotkey çalıştırma komutunun yaptığı şey) başlatmak yerine onu öne getirir. AHK ile bunu kolayca yapmanın bir yolu var mı?
Peter Baer

3

AutoHotKey'i idempotent gereksiniminizi karşılayacak şekilde nasıl kullanacağım .

Bir örnek olarak, ben bağımlısı oldum Caps Lock+ ayığın taşması üzerine bir Firefox penceresine Caps Lock+ sSuper User Firefox için ve Caps Lock+ distemi bir komuta.

StartOrToggleMinimize(TheWindowTitle,TheAppPath)
{  
   SetTitleMatchMode, 2
   DetectHiddenWindows, Off
   IfWinActive, %TheWindowTitle%
   {
      WinMinimize, %TheWindowTitle%
   }
   else
   { 
      IfWinExist, %TheWindowTitle%
      {
         WinGet, winid, ID, %TheWindowTitle%
         DllCall("SwitchToThisWindow", "UInt", winid, "UInt", 1)
      }
      else
      {
         run %TheAppPath%
      }
   }
   return
}

; the actual hotkeys:
CapsLock & a::StartOrToggleMinimize("Stack Overflow", "c:\program files\mozilla firefox\firefox.exe -new-window stackoverflow.com")
CapsLock & s::StartOrToggleMinimize("Super User", "c:\program files\mozilla firefox\firefox.exe -new-window superuser.com")
CapsLock & d::StartOrToggleMinimize("cmd", "cmd")

Başlık eşleme modunu istediğiniz kadar kısıtlayıcı olacak şekilde değiştirebilirsiniz . "Mozilla Firefox" ile eşleşen başka bir kısayolum olsaydı (örneğin "Süper Kullanıcı" yerine), her Firefox örneğimde dolaşırdı, çünkü her birinin pencere başlığında bu metni olduğu ve metni eşleşecek şekilde ayarladığını başlığın herhangi bir yerinde.

Bu senaryo, LifeHacker'daki bu makaleye dayanmaktadır .


Bu komut dosyası idempotent DEĞİL olarak nasıl değiştirilebilir? Özellikle, kısayol tuşlarına basarsam bir programın birden fazla örneğini istiyorum (macun kullanıyorum ve herhangi bir zamanda 4+ sunucuya bağlanabilmem gerekiyor ve fareye ulaşmak istemiyorum )
Doktor J

Her örnek için pencere başlığında belirli ve benzersiz bir metin varsa, o metne uyması için kısayol tuşları atayabilirsiniz. Bkz Caps+ave Caps+sateş, @DoktorJ iki farklı örnekleri için yukarıda
yhw42

Ama ya hiç eşleşmesini istemezsem? Aralarında geçiş yaparken, sadece ALT + SEKME, bu yüzden her PuTTY örneği için kısayollara ihtiyacım yok - Zaten kaç tane PuTTY penceresi olursa olsun, her zaman yeni bir PuTTY örneği açan bir kısayola ihtiyacım var açık. Sadece atanan kısayol tuşundan "run c: \ tools \ putty \ putty.exe" çağrısı yapılacak mı?
Doktor J

@ DoktoraJ: Oh! Evet. Tam olarak böyle yapardın. Yine de Windows kısayol özelliklerinde kısayol tuşları atayabileceğinizi düşünüyorum. Ne olması gerekiyordu kabul vardı Caps+1(Bence daha iyi AltTab daha hangi PuTTY belirli bir örneğine noktası :)).
yhw42

3

Programlarınızı hızlı ve sezgisel olarak başlatmak için başka bir alternatif:

Launchy

Launchy, başlat menünüzü, masaüstünüzdeki simgeleri ve hatta dosya yöneticinizi unutmanıza yardımcı olmak için tasarlanmış ücretsiz bir pencere ve linux yardımcı programıdır.

Launchy, başlat menünüzdeki programları dizine ekler ve dokümanlarınızı, proje dosyalarınızı, klasörlerinizi ve yer işaretlerinizi birkaç tuşa basarak başlatabilir!

alternatif metin


Bu, Win7 başlat menüsü aramasına benziyor.
Theo Belaire

@Tyr: öyle. Bunu Windows XP'de kullanmaya başladım, ancak Win7'de de kullanmaya devam ediyorum. Başlat menüsü aramasını çok fazla kullanmadım, ama izlenimim Launchy'nin daha hızlı olduğu. Buna rağmen yanılmış olabilirim.
Gauthier

2

Ne yazık ki 6 yıl sonra Windows 10 ile aynı sorunlar var ve son Windows 10 güncellemesi ile bazı kısayolların / programların artık idempotent olmadığını gördüm ! Özellikle Putty aynı oturum için birden fazla kısayol var.

Bu yüzden AutoHotKey kullanıyorum ve bu iş parçacığında ( LifeHacker'daki bu makaleye dayanarak) paylaşılan işlevi değiştirdim, böylece her kısayolu izlemek için bir INI dosyası kullanıyor. Bu, her programın Windows Başlığını kullanmaz, çünkü ekranı veya SSH'yi başka bir sunucuda, kişisel olarak saklamak istediğim bir özellik kullanırsanız Putty'de değişebilir!

Ayrıca INI dosyasından bir UniqueName girişi kaldırmak için bir kısayol oluşturabilirsiniz bir işlev "DeleteINIEntry ()" dahildir. Veya dosyayı manuel olarak düzenleyebilir ve değiştirebilirsiniz.

INIFilePath := "C:\Temp\AHK.ini"

RunOrSwitchWin( UniqueName, AppPath )
{  
    global INIFilePath
    IniRead, TargetID, %INIFilePath%, windowids, %UniqueName%
    ActiveID := WinExist("A")

    ; cannot use '=' here as comparing an integar to string doesn't work well
    IfEqual TargetID, %ActiveID%
    {
        WinMinimize 
        return
    }

    WinGet, AllIDs, list

    Loop, %AllIDs%
    {
        this_id := AllIDs%A_Index%

        ifEqual TargetID, %this_id%
        {
            DllCall("SwitchToThisWindow", "UInt", this_id, "UInt", 1)
            return
        }
    }

    run, %AppPath%,,, CurrentPID
    WinWait ahk_pid %CurrentPID%
    IniWrite, % WinExist("A"), %INIFilePath%, windowids, %UniqueName%

   return
}

DeleteINIEntry()
{
    global INIFilePath
    InputBox, UniqueName, Delete INI Entry, Enter UniqueName

    If ErrorLevel = 0
        IniDelete, %INIFilePath%, windowids, %UniqueName%

    return
}

^!3::DeleteINIEntry()

; Putty shortcuts. 
; ^!1 is NOT idempotent and will run it over and over again.
^!1::run "C:\Program Files\PuTTY\putty.exe"
^!2::RunOrSwitchWin( "session1", "C:\Program Files\PuTTY\putty.exe -load session1" )

Pencerenin Simge Durumuna Küçültülmesini istemiyorsanız, WinMinimize satırına yorum yapın (a başına); yalnızca etkin pencereye odaklanmaya devam edecektir.


1

İlgisiz bir etkinlik değil, explorer bu kısayolları işleyen süreçtir.

Bu işlevselliğe sahip olduğunu iddia eden yardımcı programlar (örneğin http://www.vsisystems.com/keyboardshortcuts.htm ) vardır, ancak bunlardan herhangi birinin hız sorununu çözüp çözmeyeceğini bilmiyorum.


1

Gezgin meşgulse, kısayolları işleyemez, bu nedenle başka bir program gerekir.

Basit ve verimli bir başlatıcı, PS Hot Launch VVL :

Bu, kendi kısayol tuşlarınızı tanımlamanıza izin veren ücretsiz bir yardımcı programdır, böylece tek bir tuşa basıldığında bir uygulama başlatılabilir, yaygın olarak kullanılan metinler eklenebilir, ses düzeyiniz değiştirilebilir veya hemen hemen her şey yapılabilir. Program Win95 / 98 / ME veya WinNT / 2000 / XP gerektirir ve yavaş makinelerde bile mükemmel bir performanstır. PS Hot Launch, Başlat menüsüne ve Hızlı Başlat paneline mükemmel bir alternatiftir.

görüntü

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.