当前位置: 首页 > news >正文

网站制作学费多少钱大东吴建设新材料公司网站

网站制作学费多少钱,大东吴建设新材料公司网站,黄酒的电商网页设计网站,高端网站设计元素图片文章目录 运行效果功能描述代码mian.cppincludeMouseKeyControl.hTipsManagement.h srcMouseControl.cppTipsManagement.cpp 运行效果 功能描述 线程一:每隔n随机秒,动一下鼠标滚轮,防止屏幕息屏。 线程二:运行时加载txt文件中的…

文章目录

  • 运行效果
  • 功能描述
  • 代码
    • mian.cpp
    • include
      • MouseKeyControl.h
      • TipsManagement.h
    • src
      • MouseControl.cpp
      • TipsManagement.cpp

运行效果

在这里插入图片描述

功能描述

线程一:每隔n+随机秒,动一下鼠标滚轮,防止屏幕息屏。
线程二:运行时加载txt文件中的句子到数组,然后每隔n秒随机显示一个句子。

代码

mian.cpp

#include<iostream>
#include"TipsManagement.h"
#include"MouseKeyControl.h"
#include <thread>  
using namespace std;// 声明两个线程函数,以便可以独立于 main 函数运行  
void showTipsInThread(TipsManagement* tm) {  while (true) {tm->randomShowTip();  }  
}  void autoRollMouseInThread(MouseKeyControl* mc)
{while (true) {  mc->autoScrollMouseWheel();}
} int main()
{TipsManagement* tm = new TipsManagement();MouseKeyControl* mc = new MouseKeyControl();tm->n = 2 * 60 * 1000;mc->n = 3 * 60 * 1000;;thread tipsThread(showTipsInThread, tm);  thread mouseThread(autoRollMouseInThread, mc);  // 等待线程完成  tipsThread.join();  mouseThread.join(); // delete tm;// delete mc;return 0;
}

include

MouseKeyControl.h

#pragma once
#include<iostream>
#include<string>
#include <windows.h>
#include<fstream>
#include <algorithm>  
#include <random>  
#include <ctime> 
using namespace std;class MouseKeyControl
{
public:unsigned int n;   RECT screenRect; // get screen size;INPUT inputs[2] = {};int delta;int offsets[10] = {-3240,-3010,-2030,-1003,0,0,-998,-817,-603,-710};void initRandomIndexVec();void autoRandomMoveMouse();void autoScrollMouseWheel();MouseKeyControl();~MouseKeyControl();
};

TipsManagement.h

#pragma once
#include<iostream>
#include<string>
#include <windows.h>
#include<fstream>
#include <algorithm>  
#include <random>  
#include <ctime>   
#define FILENAME "tipsFile.txt"  
using namespace std;class TipsManagement
{
public:bool fileIsEmpty;int tipsNum;string* tipsArr;vector<int> randomIndexVec;unsigned int n; // sleep n minutes;void showMenu();void initTips();void initRandomIndexVec();void randomShowTip();int getTipsNum();void showAllTips();void cleanFile();void save();void addTips();void findTips();void deleteTips();void modifyTips();void sortTips();void exitSystem();string GbkToUtf8(string src_str1);string Utf8ToGbk(string src_str1);TipsManagement();~TipsManagement();
};

src

MouseControl.cpp

#include "MouseKeyControl.h"
#include <windows.h>  MouseKeyControl::MouseKeyControl()
{SystemParametersInfo(SPI_GETWORKAREA, 0, &this->screenRect, 0);// 创建一个包含两个INPUT结构体的数组,一个用于按下滚轮,一个用于释放滚轮  this->delta = 1;ZeroMemory(this->inputs, sizeof(this->inputs));  // 第一个INPUT结构体:滚轮滚动(向下滚动为正,向上滚动为负)  this->inputs[0].type = INPUT_MOUSE;  this->inputs[0].mi.dx = 0;  this->inputs[0].mi.dy = 0;  this->inputs[0].mi.mouseData = delta * WHEEL_DELTA; // WHEEL_DELTA是滚动一个“滴答”的量  this->inputs[0].mi.dwFlags = MOUSEEVENTF_WHEEL; // 指定这是一个滚轮事件  this->inputs[0].mi.time = 0;  
}void MouseKeyControl::autoRandomMoveMouse()
{// 初始化随机数种子  // srand(static_cast<unsigned int>(time(0)));  Sleep(this->n); // 生成随机位置  int x = rand() % (this->screenRect.right - this->screenRect.left);  int y = rand() % (this->screenRect.bottom - this->screenRect.top);  // 将鼠标移动到随机位置  SetCursorPos(x + this->screenRect.left, y + this->screenRect.top);  }void MouseKeyControl::autoScrollMouseWheel() { // 根据当前时间初始化srand(static_cast<unsigned int>(time(0)));  // 生成0到10的随机整数(包含0但不包含10)  int randomNum = rand() % 10;  Sleep(this->n+this->offsets[randomNum]);// 正数表示向上滚动SendInput(1, this->inputs, sizeof(INPUT));  
} MouseKeyControl::~MouseKeyControl()
{
}

TipsManagement.cpp

#include "TipsManagement.h"TipsManagement::TipsManagement()
{this->n = 3000; // the default sleep time is 3s.ifstream ifs;ifs.open(FILENAME, ios::in);//-----------------------1.file is not exist-------------------------if (!ifs.is_open()){cout << "The file does not exist!" << endl;// the label of the empty file   this->fileIsEmpty = true;// label the tip number to 0this->tipsNum = 0;// set the tip Array is Null.this->tipsArr = NULL;ifs.close(); return;}//----------------2.file is exist, but the data is NULL.-------------------char ch;ifs >> ch;     // read a char in the file.if (ifs.eof()) // eof is the end lable of the file.{cout << "The file is empty!" << endl;this->tipsNum = 0;         this->fileIsEmpty = true; this->tipsArr = NULL;    ifs.close();return;}//---------------------3.file is exist and the data are not null.-------------------------int num = this->getTipsNum();// cout << "the file have " << num << " tips." << endl;this->tipsNum = num; this->fileIsEmpty = false;this->tipsArr = new string[this->tipsNum];this->initTips(); // read the file tips to tipsArr// this->showAllTips();this->initRandomIndexVec();// create the random vec index}void TipsManagement::initRandomIndexVec()
{for (int i = 0; i < this->tipsNum; i++){this->randomIndexVec.push_back(i);}random_device rd;  mt19937 g(rd());  shuffle(begin(this->randomIndexVec), end(this->randomIndexVec), g);  
}void TipsManagement::randomShowTip()
{int index;for (int i = 0; i < this->tipsNum; i++){index = this->randomIndexVec[i];cout<<endl;cout<< this->tipsArr[index]<<endl;Sleep(this->n);system("cls");}}// when open the tips file, read all tips to tipsArr.
void TipsManagement::initTips()
{ifstream ifs;ifs.open(FILENAME, ios::in);string tip;int index = 0;while (ifs >> tip){this->tipsArr[index] = tip;index++;}ifs.close();
}// read tips file to get the number of tips.
int TipsManagement::getTipsNum()
{ifstream ifs;ifs.open(FILENAME, ios::in);string tip;int num = 0;while (ifs >> tip){num++;}ifs.close();return num;
}void TipsManagement::showAllTips()
{if (this->fileIsEmpty){cout << "File is not exist or the file is empty!" << endl;}else{for (int i = 0; i < this->tipsNum; i++){cout<<this->tipsArr[i]<<endl;}}system("pause");system("cls");
}//------------------------------------------------useless---------------------------------------------------void TipsManagement::showMenu()
{cout << "**********************************************" << endl;cout << "************0.Exit tipsManagement.*************" << endl;cout << "************1.Add tip.*******************" << endl;cout << "************2.Show tips.******************" << endl;cout << "************3.Delete someone tip.******" << endl;cout << "************4.Modify tip.****" << endl;cout << "************5.Find tip.******" << endl;cout << "************6.Sort by id.*****************" << endl;cout << "************7.Clear all documents*************" << endl;cout << "**********************************************" << endl;cout << endl;
}void TipsManagement::addTips()
{cout << "Please enter the number of tips to be added:"<<endl;int addNum = 0;cin >> addNum;if (addNum > 0){int newSize = this->tipsNum + addNum;string* newSpace = new string[newSize];if (this->tipsArr != NULL){for (int i = 0; i < this->tipsNum; i++){newSpace[i] = this->tipsArr[i];}}for (int i = 0; i < addNum; i++){string tip;cout << "Please enter the " << i + 1 << " tip:" << endl;cin >> tip; cout<<"new input:"<<tip<<endl;newSpace[this->tipsNum + i] = tip;cout<<"new input(arr):"<<newSpace[this->tipsNum + i]<<endl;}delete[] this->tipsArr;this->tipsArr = newSpace;this->tipsNum = newSize;this->fileIsEmpty = false;cout << "Successfully added " << addNum << " new tips!" << endl;this->save();}else{cout << "Your input is incorrect." << endl;}system("pause");system("cls");
}// put the tipsArr to file.
void TipsManagement::save()
{ofstream ofs;ofs.open(FILENAME, ios::out);for (int i = 0; i < this->tipsNum; i++){ofs << this->tipsArr[i]<< endl;}ofs.close();
}void TipsManagement::exitSystem()
{cout << "exit." << endl;system("pause");exit(0);
}string TipsManagement::GbkToUtf8(string src_str1)
{const char *src_str = src_str1.data();int len = MultiByteToWideChar(CP_ACP, 0, src_str, -1, NULL, 0);wchar_t* wstr = new wchar_t[len + 1];memset(wstr, 0, len + 1);MultiByteToWideChar(CP_ACP, 0, src_str, -1, wstr, len);len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);char* str = new char[len + 1];memset(str, 0, len + 1);WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL);std::string strTemp = str;if (wstr) delete[] wstr;if (str) delete[] str;return strTemp;
}string TipsManagement::Utf8ToGbk(string src_str1) //const char *src_str
{const char* src_str = src_str1.data();int len = MultiByteToWideChar(CP_UTF8, 0, src_str, -1, NULL, 0);wchar_t* wszGBK = new wchar_t[len + 1];memset(wszGBK, 0, len * 2 + 2);MultiByteToWideChar(CP_UTF8, 0, src_str, -1, wszGBK, len);len = WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, NULL, 0, NULL, NULL);char* szGBK = new char[len + 1];memset(szGBK, 0, len + 1);WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, szGBK, len, NULL, NULL);std::string strTemp(szGBK);if (wszGBK) delete[] wszGBK;if (szGBK) delete[] szGBK;return strTemp;
}TipsManagement::~TipsManagement()
{}
http://www.yayakq.cn/news/774440/

相关文章:

  • 兼职做放单主持那个网站好电子商务电商网站饿建设
  • 中仑建设网站设计公司起名字大全
  • 本作业是网站建设与维护服装电子商务网站有哪些
  • 网上商城网站建设网络推广网络营销软件
  • 潍坊哪里有做360网站的WordPress显示中文
  • 专门查企业信息的网站舆情优化
  • iis网站重定向深圳网站设计 深圳市利
  • 网站改版业务做电商网站搭建就业岗位
  • 代做电子商务网站作业wordpress照片评选插件
  • 网站建设核电东莞合网站建设
  • 承德网站建设费用上往建站
  • 外汇平台网站开发需求说明中标公示查询官网
  • 网站为什么百度不收录温州企业建站系统模板
  • 建网站费用记技术服务费上海知名网站建设
  • 网页设计与网站建设毕业设计糖果屋网站建设策划书
  • 站长工具seo综合查询方法公司做竞拍网站的收入怎么报税
  • 中国观鸟记录的网站架构浙江建设职业技术学院塘栖校区网站
  • 如何做平台网站淘宝客如何做淘宝客网站
  • 成都建网站公司电话国外建设网站
  • pc站转换手机网站中信建设有限责任公司陶扬
  • 贺兰县住房和城乡建设局网站网站开发 flex布局
  • 网站免费发布与推广搜索网站有哪几个
  • 无锡响应式网站制作阿里云网站模板 解析
  • 做网站的会计分录做谷歌推广比较好的公司
  • 网站建设过程发生的费用王天野演员
  • 广州网站建设丿新科送推广河南省建设厅上班时间
  • elementui 做的网站上海做网络口碑优化的公司
  • 高新门户网站专题建设网络舆情分析报告
  • 做ppt的网站 知乎在线免费解答网站怎么建
  • 怎么做自己的网站教程怎么做农家乐联盟网站