2011-11-21 9 views
6

Byłem znudzony, więc starałem się stworzyć program, który pisze Smiley Disapproval Look (twarz ಠ_ಠ), naciskając ctrl + shift + L. Teraz wszystko działa, z wyjątkiem podkreślenia, które jest w buźce, które w ogóle nie zostanie zapisane.Nie można wysłać znaku podkreślenia za pomocą polecenia Sendkeys w języku C#?

To właśnie użyłem pierwszy:

SendKeys.Send("ಠ_ಠ"); 

Próbowałem różnych rzeczy, takich jak dodawanie {} nawiasy wokół podkreślenia, i oczywiście google to zbyt.

Czy jest jakiś sposób, w jaki mogę uzyskać znak podkreślenia, aby zostać wysłanym?

Z góry dziękuję.

+5

+1 za programowanie z nudów. Dobra przyczyna. – MPelletier

+0

To musi być kodowanie znaków. 'ಠ' nie jest ASCII. – MPelletier

+0

E-maile są w porządku, to jest to, które z jakiegoś powodu jest zepsute: \ – JeremyG

Odpowiedz

1

Mieszanie różnych kodowań tworzy dziwne wyniki. jest Unicode, _ jest ASCII. Różne długości znaków mylą i irytują Visual Studio.

Spróbuj:

SendKeys.Send("\u0CA0_\u0CA0"); 

Lub:

SendKeys.Send("\u0CA0\u005F\u0CA0"); 
+3

Oznacza to, że nawet jeśli można wpisać "ಠ_ಠ", nie jest to interpretowane jako "ಠ_ಠ", ponieważ Visual Studio widzi: Unicode, a następnie oczekuje więcej Unicode i znajdzie coś, co nie jest. Wynik końcowy sprawia, że ​​* czujesz * tak samo jak twoje wejście: ಠ_ಠ. – MPelletier

+2

Niepoprawnie. Każdy porządny system kodowania poradzi sobie z tą grzywną. – SLaks

+0

@SLaks Nigdy nie powiedziałem, że Unicode był przyzwoity. :) Ale poważnie, jest to ograniczenie interpretacji Unicode przez VS. Zgodziłbyś się? – MPelletier

0

Jeśli nie używać angielski układ klawiatury, który ma podkreślenia jako klucza nie można po prostu wpisać znak ASCII, ale muszą zapisz go jako kombinację klawiszy modyfikujących i znaków.

Powiązane problemy