poner contraseña asteriscos .net

.net - contraseña - inputbox vb6



Convertir código clave a clave char (9)

Parece que no puedo responder a DaveH, pero si haces lo que él dice, ¡funciona bien!

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Public sub harry() For i = 1 to 255 If Chr(i) = Convert.ToChar(Keys.Enter) Then Label1.Text &= " [Enter] " ElseIf Chr(i) = Convert.ToChar(Keys.Delete) Then Label1.Text &= " [Delete] " End If Next i End Sub

¿Cómo convierto un código clave en un keychar en .NET?


Convert.ToChar(65)


String.fromCharCode (event.keyCode)


Convert.ToChar (Keys.Enter);


Aquí un ejemplo de mi parte :)

#region Just for fun :D private string _lastKeys = ""; private readonly Dictionary<string, string[]> _keyChecker = _ new Dictionary<string, string[]> { // Key code to press, msgbox header, msgbox text {"iddqd", new[] {"Cheater! :-)", "Godmode activated!"}}, {"idkfa", new[] {"Cheater! :-)", "All Weapons unlocked!"}}, {"aAa", new[] {"Testing", "Test!"}}, {"aaa", new[] {"function", "close"}} }; private void KeyChecker(KeyPressEventArgs e) { _lastKeys += e.KeyChar; foreach (var key in _keyChecker.Keys) if (_lastKeys.EndsWith(key)) if (_keyChecker[key][0] != "function") MessageBox.Show(_keyChecker[key][1], _keyChecker[key][0]); else KeyCheckerFunction(_keyChecker[key][1]); while (_lastKeys.Length > 100) _lastKeys = _lastKeys.Substring(1); } private void KeyCheckerFunction(string func) { switch (func) { case "close": Close(); break; } } private void FormMain_KeyPress(object sender, KeyPressEventArgs e) { KeyChecker(e); } #endregion Just for fun :D


En VB.NET:

ChrW(70)

En C # puedes lanzar:

(char) 70


Encontré este fragmento bastante útil para detectar una pulsación de tecla de la tecla Intro:

Private Sub StartValue_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles StartValue.KeyPress If ChrW(13).ToString = e.KeyChar And StartValue.Text = "" Then StartValue.Text = "0" End If End Sub

Descubrí que esta es una solución decente para que las personas intenten enviar un valor nulo en un cuadro de texto. Esto simplemente fuerza a 0, pero usa la "detección de entrar presionada" para ejecutar.


Lo resolví usando una clase de biblioteca de user32.dll. Preferiría una clase Framework, pero no pude encontrar una, así que esto funcionó para mí.

Imports System.Runtime.InteropServices Public Class KeyCodeToAscii <DllImport("User32.dll")> _ Public Shared Function ToAscii(ByVal uVirtKey As Integer, _ ByVal uScanCode As Integer, _ ByVal lpbKeyState As Byte(), _ ByVal lpChar As Byte(), _ ByVal uFlags As Integer) _ As Integer End Function <DllImport("User32.dll")> _ Public Shared Function GetKeyboardState(ByVal pbKeyState As Byte()) _ As Integer End Function Public Shared Function GetAsciiCharacter(ByVal uVirtKey As Integer) _ As Char Dim lpKeyState As Byte() = New Byte(255) {} GetKeyboardState(lpKeyState) Dim lpChar As Byte() = New Byte(1) {} If ToAscii(uVirtKey, 0, lpKeyState, lpChar, 0) = 1 Then Return Convert.ToChar((lpChar(0))) Else Return New Char() End If End Function End Class


Prueba esto:

Char.ConvertFromUtf32(e.KeyValue)