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

  • 相关阅读:
    upload1
    web2
    自动生成代码,简化开发
    rabbitmq简易安装
    jenkin安装
    mysql 数据插入为问号 ?
    git 基础复习
    git 使用,强制推远程仓库
    Spring 源码解析(持续集成,哈哈)
    ContainerBase.addChild: start: 错误
  • 原文地址:https://www.cnblogs.com/meteortent/p/3095010.html
Copyright © 2011-2022 走看看