#include "home.h" #include "ui_home.h" #include #include #include #include #include #include #include #include #include #include #include //#include //#include #pragma comment(lib, "user32.lib") #include "httpapi.h" #include "qresource.h" #include #include #include Home::Home(QWidget *parent) : QMainWindow(parent), ui(new Ui::Home) { ui->setupUi(this); myTimer = new QTimer(this); //start timer for screen capture connect(myTimer,&QTimer::timeout,[this](){ captureScreen(); }); // myTimer->start(60000); //set ui data webWidget = new QWebEngineView(this); QNetworkProxyFactory::setUseSystemConfiguration(false); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(webWidget); // setLayout(mainLayout); QWidget* widget = new QWidget(this); widget->setLayout(mainLayout); this->setCentralWidget(widget); setWindowState(Qt::WindowMaximized);//最大化 QString str = "http://118.190.47.230:9095/#/login"; loadNavigate(str); HANDLE hCurrentCursor = GetForegroundWindow(); qDebug()<(this)); PROCESSENTRY32 pe32; //再使用这个结构体前先定义它的大小 pe32.dwSize=sizeof(pe32); //给系统内的所有进程拍一个快照 HANDLE hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if (hProcessSnap==INVALID_HANDLE_VALUE) { printf("Create ToolHelp32Snaphhot调用失败!\n"); } BOOL bMore=::Process32First(hProcessSnap,&pe32); while(bMore) { qDebug()<<"进程名称="<grabWindow(0).save(filePathName, "jpg"); // 0值为整个电脑屏幕WId //start upload file QNetworkRequest request; request.setUrl(QUrl(SERVER_URL + "/imageProcessing/saveAndProcessImage")); QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType); QHttpPart imagePart; imagePart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("image/jpeg"));//如果是png图片填image/png imagePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"file\"; filename=\"image.jpg\"")); // imagePart.setRawHeader("Content-ID", "my@content.id"); // 添加任何你喜欢的 headers QFile *file = new QFile(filePathName); file->open(QIODevice::ReadOnly); imagePart.setBodyDevice(file); multiPart->append(imagePart); //text paramter QHttpPart textPart; textPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"uid\"")); textPart.setBody("2"); multiPart->append(textPart); QHttpPart textPart2; textPart2.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"indate\"")); QString indate = QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"); textPart2.setBody(indate.toUtf8()); multiPart->append(textPart2); QString processList = getProcessList(); qDebug() << processList ; QHttpPart textPart3; textPart3.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"processList\"")); textPart3.setBody(processList.toUtf8()); multiPart->append(textPart3); QNetworkAccessManager *m_pNetWorkManager = new QNetworkAccessManager(); m_pNetWorkManager->post(request, multiPart); } QString Home::getProcessList() { QProcess process; process.start("tasklist.exe"); if(process.waitForFinished()) { QByteArray result = process.readAll(); return result; } return NULL; } void Home::loadNavigate(QString sUrl) { webWidget->load(sUrl); } Home::~Home() { delete ui; }