CAOHUIMIN.zip
大小:12.32KB
价格:29积分
下载量:0
评分:
5.0
上传者:weixin_37854039
更新日期:2025-09-22

无标题界面跳转以及倒计时

资源文件列表(大概)

文件名
大小
CAOHUIMIN/
-
CAOHUIMIN/CAOHUIMIN.pro
948B
CAOHUIMIN/CAOHUIMIN.pro.user
19.08KB
CAOHUIMIN/createwidget.cpp
324B
CAOHUIMIN/createwidget.h
357B
CAOHUIMIN/createwidget.ui
1.49KB
CAOHUIMIN/gobackbarwidget.cpp
347B
CAOHUIMIN/gobackbarwidget.h
441B
CAOHUIMIN/gobackbarwidget.ui
969B
CAOHUIMIN/logindialog.cpp
2.63KB
CAOHUIMIN/logindialog.h
580B
CAOHUIMIN/logindialog.ui
2.61KB
CAOHUIMIN/main.cpp
247B
CAOHUIMIN/mainwindow.cpp
1.82KB
CAOHUIMIN/mainwindow.h
784B
CAOHUIMIN/mainwindow.ui
6.64KB
CAOHUIMIN/searchpasswordwidget.cpp
388B
CAOHUIMIN/searchpasswordwidget.h
421B
CAOHUIMIN/searchpasswordwidget.ui
1.51KB

资源内容介绍

啦啦啦啦啦啦啦
#include "logindialog.h"#include "ui_logindialog.h"#include <Windows.h>#include "mainwindow.h"#include <QMessageBox>#include <QDebug>LoginDialog::LoginDialog(QWidget *parent) : QDialog(parent) , ui(new Ui::LoginDialog){ ui->setupUi(this);}LoginDialog::~LoginDialog(){ delete ui;}void LoginDialog::on_pushButton_login_clicked(){ QString userName = ui->lineEdit_username->text().trimmed(); QString passWord = ui->lineEdit_password->text().trimmed(); QString errorString; if (loginToWindows(userName, passWord, errorString)) { this->close(); m_MainWindow = new MainWindow; m_MainWindow->show(); } else { QMessageBox::critical(this, "error", errorString); }}void LoginDialog::on_pushButton_exit_clicked(){ qApp->quit();}bool LoginDialog::loginToWindows(const QString &username, const QString &password, QString &errorInfo){ // 将QString转换为wchar_t* wchar_t *usernameW = new wchar_t[username.length() + 1]; wchar_t *passwordW = new wchar_t[password.length() + 1]; username.toWCharArray(usernameW); password.toWCharArray(passwordW); bool loginResult = true; // 调用LogonUser API HANDLE token; if (!LogonUserW(usernameW, NULL, passwordW, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, &token)) { DWORD errorCode = GetLastError(); // 使用FormatMessage获取错误描述 LPWSTR messageBuffer = NULL; FormatMessageW( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, // 指向错误信息的地址,NULL表示使用系统的最后一个错误信息 errorCode, // 错误代码 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // 消息语言 (LPWSTR)&messageBuffer, // 指向缓冲区的指针 0, // 缓冲区大小 NULL // 指向Arguments数组的指针 ); // 检查是否成功获取错误消息 if (messageBuffer) { errorInfo = QString::fromWCharArray(messageBuffer); // 将获取的错误消息显示给用户 LocalFree(messageBuffer); // 释放由FormatMessage分配的内存 } else { errorInfo = "unknow error!"; // 如果FormatMessage失败,显示一个通用的错误消息 } CloseHandle(token); loginResult = false; } delete[] usernameW; delete[] passwordW; return true;}

用户评论 (0)

发表评论

captcha