Pano içeriğini otomatik olarak değiştirmek için AHK komut dosyası


5

Böyle bir AHK komut dosyası yazarken:

::abc::alphabet

Cazibe gibi çalışır. Tek şey, metnin bir kopyasını almak istediğimde (otomatik olarak değiştirmek istediğim şeyleri içeren bir şey) onu değiştirmek istemiyor.

Örneğin:

!INS::{Ctrl Down}c{Ctrl Up}{Tab 2}{Enter}{Ctrl Down}v{Ctrl Up}

Kopyalamama abcizin veriyor ama yapıştırıldığında alamadım alphabet(daha önce tanımlandığı gibi).

Kopyalanan ve yapıştırılan sözcüklerin yerini almanın bir yolu var mı? sendKomutu bir satır göndermek için kullandığımda veya otomatik olarak değiştirmek istediğim bir kelimeyi içeren bazı kelimeler gibi mi?

Yanıtlar:


9

Hotstrings yalnızca fiziksel olarak yazdıklarınızı etkiler. Arama yapmak ve üzerinde değiştirmek için panoya kullanabilirsiniz REGEXREPLACE komutu.

Aşağıda seçilen metni kopyalayan ve değiştirilen içeriği (arama ve değiştirdikten sonra) yapıştıran bir betik bulunmaktadır. Demek istediğinin bu olduğuna inanıyorum:

#x:: ;[Win]+[X]

;Empty the Clipboard.
    Clipboard =
;Copy the select text to the Clipboard.
    SendInput, ^c
;Wait for the Clipboard to fill.
    ClipWait

;Perform the RegEx find and replace operation,
;where "ABC" is the whole-word we want to replace.
    haystack := Clipboard
    needle := "\b" . "ABC" . "\b"
    replacement := "XYZ"
    result := RegExReplace(haystack, needle, replacement)

;Empty the Clipboard
    Clipboard =
;Copy the result to the Clipboard.
    Clipboard := result
;Wait for the Clipboard to fill.
    ClipWait

;-- Optional: --
;Send (paste) the contents of the new Clipboard.
    SendInput, %Clipboard%

;Done!
    return
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.