2016-03-29 19 views
3

bu kodu kullanarak küresel boyutudur ayarlamak için:Bir macosx kakao uygulamasında sistem imlecinin boyutunu programlı olarak hızlı veya objektif-c? Denedim

-(void)setOption { 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    NSDictionary *olddict = [defaults persistentDomainForName:@"com.apple.universalaccess"]; 
    NSMutableDictionary *newdict = [olddict mutableCopy]; 
    [newdict setObject:@4.0 forKey:@"mouseDriverCursorSize"]; 
    [defaults setPersistentDomain:newdict forName:@"com.apple.universalaccess"]; 
    [defaults synchronize]; 
    NSLog(@"Cursor size set to %@", newdict); 
} 

Ve onu değiştirdiğini ben NSLog görebilirsiniz ama/yeniden sırayla sistem imleci sıfırlamak için nasıl bilmiyorum imlecin belirtilen boyuta değişmesi.

Programlı olarak boyutunu değiştirmek veya varsayılanlar değiştikten sonra sistem imlecini yeniden başlatmanın daha iyi bir yolu bilen var mı?

DÜZENLEME (yaklaşık çoğaltma): Sorumum, benzersizdir çünkü bu, diğer konudaki yanıt gibi bunun çözümlenmesinde el yazması kullanamaz. Ayrıca konu 2013 yılında oluşturuldu ve modası geçmiş görünüyor. Belki o zamandan beri işler biraz değişti. Belki de Swift bunu çözmek için uygun bir çözüm olabilirdi. Kim bilir? Bütün bu argümanlar, bunun yinelenen bir soru olmadığını açıkça ortaya koymaktadır.

+0

Olası yinelenen [Mac'te imleç boyutunu programlı olarak değiştirme] (http://stackoverflow.com/questions/14510870/how-to-prog ramatically-change-the-imleç-boyutu-a-mac) – Daniel

+0

Bu konuyu takip ettim ama gereksinimleri karşılanmadı. Bu yüzden farklı bir soru sordum. İlginiz için teşekkürler! – eeschimosu

+0

herhangi bir güncelleme var mı? öneriyi aşağıda denediniz mi? – StefanS

cevap

0

Uyarı. Bu kod tercihlerinde nelerin kaydedileceğini dayalı değildir bu yüzden birleştirin:

float cursorScale = 2; 
    cursorScale = MAX(1, MIN(cursorScale,4)); 
    int connectionID = CGSMainConnectionID(); 
    CGSSetCursorScale(connectionID, cursorScale); 

boyutunu

CGSGetCursorScale(connectionID, &cursorScale); 

almak için,

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    NSDictionary *olddict = [defaults persistentDomainForName:@"com.apple.universalaccess"]; 
    NSMutableDictionary *newdict = [olddict mutableCopy]; 
    [newdict setObject:@4.0 forKey:@"mouseDriverCursorSize"]; 
    [defaults setPersistentDomain:newdict forName:@"com.apple.universalaccess"]; 
    [defaults synchronize]; 
    NSLog(@"Cursor size set to %@", newdict); 

KREDİ: ait Alex Zielenski

İlgili konular