No hay una función que conozca que asigne un carácter a un código de tecla virtual. Sin embargo, puede usar la siguiente tabla para comenzar a construir dicha asignación.
http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx.
Tenga en cuenta que necesitará saber el teclado, mirando la tecla que menciona '\' esta es la clave virtual VK_OEM_5 que para teclados de EE. UU. Es '\' si no está desplazada y '|' si se desplaza, su función necesitará saber también que el teclado está siendo utilizado.
Por supuesto, si desea asignar un código de tecla virtual a un carácter, puede usar interop para llamar a la función MapVirtualKeyEx.
Actualización Según su comentario, esto le daría lo que quiere.
[DllImport("user32.dll")]
static extern int MapVirtualKey(int uCode, uint uMapType);
const uint MAPVK_VK_TO_CHAR = 0x02;
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
int key = MapVirtualKey((int)e.KeyCode, MAPVK_VK_TO_CHAR);
if (key == (int)'\\')
{
}
}
¿Alguna vez resolvió esto con éxito? ¿Aún necesitas ayuda con esto? – jcolebrand
¿Has visto esta respuesta? http://stackoverflow.com/questions/318777/c-how-to-translate-virtual-keycode-tochar – jcolebrand
Sí. Necesito convertir de char a int. Y necesito una solución independiente de la plataforma. Sin WM_Messages ... –