C# WinForm TextBox 作为密码输入框时,如何禁止密码查看器获取密码 ?
2013-05-23 15:49
519 查看
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { myTextBox1.CheckPass = myTextBox1.Handle.ToInt32() * 2; String strText = myTextBox1.Text; myTextBox1.CheckPass = 0; MessageBox.Show(strText); } } public class MyTextBox : TextBox { private Int32 _CheckPass; public Int32 CheckPass { get { return _CheckPass; } set { _CheckPass = value; } } protected override void WndProc(ref Message m) { if (m.Msg == 0x000D) { if (CheckPass != m.HWnd.ToInt32() * 2) { return; } } base.WndProc(ref m); } } }
在屏蔽WM_GETTEXT前加一个算法判断
应该是可以的,不过获取前后都要更新设置,麻烦,应该还能优化点
或者还有更好的方法
参考:http://bbs.csdn.net/topics/390087189
相关文章推荐
- C# winform如何在textbox中判断输入的是字母还是数字?
- 请问在C#的Winform下如何用正则表达式限制用户只能在textBox中输入18位的身份证号码。
- C# Winform 中如何获取本机安装输入法,并设置为默认输出语言,如何打开搜狗输入法和手写板
- Winform TextBox中只能输入数字的几种常用方法(C#)
- Winform TextBox中只能输入数字的几种常用方法(C#)
- C#-WinForm-TextBox中只能输入数字的几种常用方法(C#)
- 如何在c#winform的文本框限制只能输入汉字,并且汉字的个数最多不能超过4个!
- c# winform 让textbox中只能输入int64位的数字
- [Winform]TextBox中只能输入数字的几种常用方法(C#)
- C# Winform中如何获取文件路径
- Winform TextBox中只能输入数字的几种常用方法(C#)
- js如何获取键盘输入的值来比较两次输入密码是否一样
- Unix下如何直接获取键盘输入而不需要以回车作为结束符的方法总结
- C# WinForm TextBox猜想输入和历史记录输入(源码)
- C#Winform限制Textbox只能输入数字
- C#中如何在登录案例中设置用户输错三次密码禁止登陆,15分钟后才能继续。
- [Winform]TextBox中只能输入数字的几种常用方法(C#)
- 浅谈:如何用C#实现简单的带有验证码及密码使用MD5加密的“登录”WinForm小程序
- C#的winform中控制TextBox中只能输入数字(加上固定位数和首位不能为0)
- C#Winform限制Textbox只能输入数字