zoukankan      html  css  js  c++  java
  • C# WinForm TextBox 作为密码输入框时,如何禁止密码查看器获取密码 ?

    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

  • 相关阅读:
    重定向与转发比较
    servlet_5
    servlet_4
    servlet_3
    字符串的操作以及格式化的操作
    2019的Python
    函数2
    函数
    文件操作
    集合 set
  • 原文地址:https://www.cnblogs.com/meteortent/p/3095010.html
Copyright © 2011-2022 走看看