用InputBox怎么实现隐写(语言-c++)

要做一个登录系统,密码的输入要用*隐藏
希望用inputbox做因为控制台不够简洁方便

#include <windows.h>
#include <iostream>

using namespace std;

int main() {
    char password[50] = { 0 }; // 声明一个长度为50的字符数组用来保存密码,初始化为0
    int ret; // 声明一个整型变量用于存储MessageBox的返回值
    do {
        ret = MessageBox(NULL, "请输入密码:", "登录系统", MB_OKCANCEL | MB_ICONINFORMATION); // 弹出一个MessageBox,让用户输入密码
        if (ret == IDOK) { // 如果用户点击了“确定”按钮
            HWND hwnd = GetForegroundWindow(); // 获取当前活动窗口的句柄
            if (hwnd) { // 如果句柄有效
                HWND edit = GetDlgItem(hwnd, 0x000003E8); // 获取对话框中ID为0x000003E8的控件的句柄,即密码框
                if (edit) { // 如果句柄有效
                    SendMessage(edit, EM_SETPASSWORDCHAR, '*', 0); // 将密码框的显示字符设为'*'
                    SendMessage(edit, WM_SETTEXT, 0, (LPARAM)password); // 将密码保存到password数组中
                    break; // 跳出循环
                }
            }
        }
    } while (ret == IDOK); // 如果用户点击了“确定”按钮,继续弹出MessageBox让用户输入密码

    cout << "输入的密码是:" << password << endl; // 输出输入的密码

    return 0; // 返回0表示程序执行成功
}
  • 这篇博客: 【C语言项目】通讯录与可视化界面实现中的 1、增加模块输入InputBox函数如何录入到数组中 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 解决办法:1.查找资料,直接将字符串定义为wchar_t数组,然后使用memcpy函数拷贝。2.大lao指点博客名:JFL1224