OS X'te bir iletişim kutusunun metin içeriğini nasıl kopyalarım?


9

Birçok kişi, Windows'da iletişim kutusu odaklandığında Ctrl ⌃+ tuşuna basarak bir MessageBox'ın tüm metin içeriğini kopyalayabileceğinizin farkında değildir C.

Bu, hata mesajlarını bildirmek için önemli bir özelliktir ve bazı durumlarda bunlar çok büyük olabilir.

Yine de, OS X'te, bu Command ⌘+ Cçalışmıyor ve bunu yapmak için başka bir yöntem olup olmadığını merak ediyorum.

Ekran görüntüleri yapmak o kadar uygun değil, özellikle de aranamaz durumda değiller: p

Varsa, genel bir çözüm arıyorum . İşte bir örnek:

resim açıklamasını buraya girin


2
Bazı durumlarda metni fare / izleme dörtgeni ile seçebilir ve seçildikten sonra Cmd + C ile kopyalayabilirsiniz; ama ne yazık ki, bu her zaman mümkün değildir
iolsmit

Görünüşe göre geliştiricinin iletişim kutusunu nasıl uyguladığına bağlı. Safari, Textmate ve Terminal'de denediğim iletişim kutularının tümü seçilebilirdi. İletim için yaklaşık iletişim kutusunu görüntülemeye çalıştım ve metni seçilemiyor.
badamlar

Kabul. Her şey kutuya bağlıdır. Seçebileceğim bazı metin kutuları, bazıları seçemiyorum. En iyi seçeneğiniz, iletişim kutusunun ekran görüntüsünü almaktır.
daviesgeek

Yanıtlar:


6

En genel yol Erişilebilirlik Denetçisini kullanmak ve metni penceresinden kopyalamak olabilir.

Mac OS X v10.4 ve sonraki sürümlerinde Apple, Erişilebilirlik Denetçisi test aracını sunar ...

Erişilebilirlik Denetçisi, fare işaretçisinin altında bulunan nesnenin erişilebilirlik hiyerarşisinde nitelikleri (ve değerleri), eylemleri ve konumu görüntüleyen bir yardımcı program penceresi sunar. Erişilebilirlik Denetçisini kullanmak için Evrensel Erişim Tercihleri'nde yardımcı uygulamaları etkinleştirdiğinizden emin olun.

Erişilebilirlik Denetçisi simgesi

"Hakkında" sekmesinin metnini seçemeyeceğiniz ve kopyalayamayacağınız Trim Etkinleştirici için bir örnek:

Trim Etkinleştirici - Hakkında sekmesi

Ve Erişilebilirlik Denetçisi tarafından görüntülenen pencere:

Erişilebilirlik Denetçisi örneği

Bu, fare işaretçisinin daha sonra AXValue'da bulunabilen uzun metnin üzerine gelmesiyle olur.

2014-10-18'i düzenleyin:

Sonraki örnek, Erişilebilirlik Denetçisi 4.0 kullanılarak seçilemeyen metnin nasıl kopyalanacağını adım adım gösterir:

Bilgilerin alınacağı pencereyi açın ve Erişilebilirlik Denetçisini açın, ardından fare işaretçisini ilgilenilen öğenin üzerine getirin:

copy_text_with_Accessibility_Inspector

Erişilebilirlik Denetçisini kilitlemek için Command ⌘+ tuşuna basın 7, sonra kopyalamak istediğiniz satırı tıklayın (örneğin AXValue) ve panoya kopyalamak için Command ⌘+ tuşuna basın C:

lock_Accessibility_Inspector_and_select_AXValue

Kopyalanan metni gereken yere yapıştırın:

yapıştırılan metin


Bunu erişilebilirlik denetçisini kullanarak yapmaya çalıştım, ancak metni alamadım. Adımları açıklayabilir misiniz?
Metal Gear

1
@MetalGear -> Erişilebilirlik Denetçisi 4.0'ı kullanarak istenen metnin nasıl kopyalanacağını gösteren adım adım başka bir örnek ekledim
iolsmit

1

Genel durum, programcının bu metni iletişim kutusu bazında diyalog temelinde göstermesi gerektiğidir, bu nedenle program bu işleve sahip olmanızı istemediği sürece metni kolayca kopyalayamazsınız.

Yapabileceğiniz, ancak değerinden daha fazla iş gibi görünen şeyler, metnin braille ekranı veya diğer özel amaçlı bir cihaz gibi harici bir cihaza gönderilip bir şekilde yakalanabildiği evrensel erişimi etkinleştirmektir.

Ayrıca, her zaman seçilebilir olmasını sağlamak için bu programı kırmaya ve iletişim çağrısını değiştirmeye çalışabilirsiniz. Bu, şeylerin programlama tarafı için daha iyi bir soru olabilir.

Pratik olanı yaptınız - anlık görüntü alın ve mesajın başka bir yere bir metin dosyasına kaydedildiğini umun. Bu soruya bağlantı vermek, Safari, Terminal ve yukarıdaki yorumlarda bahsedilen diğer programlar gibi kodlama uygulamalarını değiştirmek için bu yeteneğe ihtiyaç duyduğunuz programların geliştiricisine sormanın iyi bir yolu olabilir.


0

AppleScript Editor'da şöyle bir komut dosyası da çalıştırabilirsiniz:

tell application "System Events"
    value of UI elements of windows of process "Application Name"
end tell

Sonuçlarda metni görmüyorsanız, arkasından bir veya daha fazla UI elements ofparça eklemeyi deneyin value of.

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.