星小夜的登录器  v1.0
changesp.cpp
浏览该文件的文档.
1 
10 #include "changesp.h"
11 #include "ui_changesp.h"
12 
18 void change_init(QAxWidget *tmp){
19  tmp->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}"));//注册组件ID
20 }
26 void deletesp(QAxWidget *tmp){
27  tmp->setControl(QString::fromUtf8("{d27cdb6e-ae6d-11cf-96b8-444553540000}"));
28 }
35 void change_sp(QAxWidget *tmp,QString url){
36  deletesp(tmp);
37  tmp->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}"));//注册组件ID
38  tmp->dynamicCall("Navigate(QString)",url);
39 }
40 
46 Changesp::Changesp(QWidget *parent) :
47  QWidget(parent),
48  ui(new Ui::Changesp)
49 {
50  ui->setupUi(this);
51  setAttribute(Qt::WA_QuitOnClose,false);
52  sp=new QAxWidget*[12];
53  for(int i=0;i<12;i++)
54  sp[i]=NULL;
55  sp[0]=ui->axWidget;
56  sp[1]=ui->axWidget_2;
57  sp[2]=ui->axWidget_3;
58  sp[3]=ui->axWidget_4;
59  sp[4]=ui->axWidget_5;
60  sp[5]=ui->axWidget_6;
61  sp[6]=ui->axWidget_7;
62  sp[7]=ui->axWidget_8;
63  sp[8]=ui->axWidget_9;
64  sp[9]=ui->axWidget_10;
65  sp[10]=ui->axWidget_11;
66  sp[11]=ui->axWidget_12;
67  for(int i=0;i<12;i++)
68  change_init(sp[i]);
69 
70  model = new QDirModel;
71  ui->treeView->setModel(model);
72  path=allpath+"/薄荷味的seer背包";
73  ui->treeView->setRootIndex(model->index(path));
74 
75  connect(ui->treeView,SIGNAL(pressed(QModelIndex)),this,SLOT(slot_treeView_pressed(QModelIndex)));
76  connect(ui->pushButton_3,SIGNAL(clicked()),this,SLOT(slot_pre_bag()));
77  connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(slot_savebag()));
78  connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(slot_auto_bag()));
79 }
85  QString tmp=ui->textEdit->toPlainText();
86  QStringList sections = tmp.split(QRegExp("[|]"));
87  QString webstr=QString("http://seer.61.com/resource/pet/head/"+sections[1]+".swf");//设置要打开的网页
88  for(int i=0;i<12;i++)
89  deletesp(sp[i]);
90  for(int i=0;i<sections.length();i++){
91  qDebug()<<sections[i];
92  webstr=QString("http://seer.61.com/resource/pet/head/"+sections[i]+".swf");
93  bag<<sections[i];
94  qDebug()<<bag[i];
95  change_sp(sp[i],webstr);
96  bag<<sections[i];
97  }
98 
99  qDebug()<<webstr;
100 }
106  QFileDialog saveDialog;
107  //设置对话框打开的模式,是打开文件还是保存文件
108  saveDialog.setAcceptMode(QFileDialog::AcceptSave);
109  //设置对话框的标题
110  saveDialog.setWindowTitle("0.0");
111  //设置对话框的打开路径(只是路径,加上文件名失效)
112  saveDialog.setDirectory(allpath+"/seer背包");
113  //设置对话框默认显示文件名
114  saveDialog.selectFile("1");
115  //设置文件过滤器
116  saveDialog.setNameFilter("*.txt");
117  //设置默认选中文件保存类型
118  saveDialog.selectNameFilter("*.txt");
119 
120  if (saveDialog.exec() == QFileDialog::AcceptSave) {
121  //保存文件的路径(包含文件名)
122  QString saveFile = saveDialog.selectedFiles().first();
123  //保存文件的路径
124  QString savePath = saveDialog.directory().path();
125  //获得文件过滤器类型
126  QString filter = saveDialog.selectedNameFilter();
127 
128  QFile file(saveFile);
129  if(!file.open(QIODevice::WriteOnly|QIODevice::Text|QIODevice::Append))
130  {
131  QMessageBox::warning(this,"sdf","can't open",QMessageBox::Yes);
132  }
133  QTextStream stream(&file);
134  stream<<ui->textEdit->toPlainText();
135 
136  file.close();
137  }
138 
139 
140 }
146 void Changesp::slot_treeView_pressed(QModelIndex modeIndex)
147 {
148  ui->treeView->resizeColumnToContents(modeIndex.row());
149  QString selectedRowTxt = ui->treeView->model()->itemData(modeIndex).values()[0].toString();
150  QFile file(path+"/"+selectedRowTxt);
151  file.open(QIODevice::ReadOnly | QIODevice::Text);
152  QString value = file.readAll();
153  ui->textEdit->setText(value);
154 }
160 {
161  delete ui;
162  delete []sp;
163  delete model;
164 }
170  QVariant x,y;
171  while(dm.FindPic(0,0,1000,600,"黑色入库.bmp","000000",0.8,0,x,y)==-1){
172  dm.MoveTo(633,268);
173  dm.LeftClick();
174  if(dm.FindPic(0,0,1000,600,"识别仓库.bmp|识别仓库2.bmp","000000",0.8,0,x,y)!=-1)
175  break;
176  Delay(500);
177  }
178 }
184  QVariant x,y;
185  while(dm.FindPic(0,0,1000,600,"识别仓库.bmp|识别仓库2.bmp","000000",0.8,0,x,y)==-1){
186  dm.MoveTo(849,470);
187  dm.LeftClick();
188  Delay(500);
189  }
190 }
195 void Changesp::Searchsp(HWND pid, QString name){
196  QVariant x,y;
197  dm.MoveTo(901,103);
198  dm.LeftDown();
199  dm.MoveTo(839,103);
200  QString s=name;
201  foreach(QChar c, s)
202  PostMessage(pid, WM_CHAR, c.unicode(), 0);
203  dm.LeftUp();
204  while(dm.FindPic(620, 115, 794, 186, "搜索结果.bmp","000000",0.8,0,x,y)==-1){
205  dm.MoveTo(925,108);
206  dm.LeftClick();
207  Delay(100);
208  }
209 }
215  for(int i=0;i<15;i++){
216  dm.MoveTo(216,489);
217  dm.LeftClick();
218  Delay(100);
219  }
220  for(int i=0;i<15;i++){
221  dm.MoveTo(925,137);
222  dm.LeftClick();
223  Delay(100);
224  }
225 }
231  QVariant x,y;
232  while(status==true){
233  if(dm.FindPic(406, 322, 562, 402,"放入背包确认.bmp","000000",0.8,0,x,y)!=-1){
234  dm.MoveTo(x.toInt(),y.toInt());
235  dm.LeftClick();
236  }
237  if(dm.FindPic(400, 200, 600, 300, "数据非法.bmp","000000",0.8,0,x,y)!=-1){
238  dm.MoveTo(x.toInt(),y.toInt());
239  dm.LeftClick();
240  }
241  if(dm.FindPic(0,0,1000,600,"消息盒子x.bmp","000000",0.8,0,x,y)!=-1){
242  dm.MoveTo(x.toInt(),y.toInt());
243  dm.LeftClick();
244  }
245 
246  Delay(1000);
247  }
248 }
254  Delay(100);
255  ffAutoC *tmp=new ffAutoC(this);
256  tmp->status=true;
257  tmp->start();
258  Putsp_home();
259  Opensphome();
260  QString tmp1=ui->textEdit->toPlainText();
261  QStringList sections = tmp1.split(QRegExp("[|]"));
262  bag.clear();
263  for(int i=0;i<sections.length();i++){
264  bag<<sections[i];
265  }
266  for(int i=0;i<bag.length();i++){
267  Searchsp(Pid,bag[i]);
268  Putsp_bag();
269  Delay(200);
270  }
271  tmp->status=false;
272  Delay(1000);
273  delete tmp;
274  qDebug()<<"success bag";
275 
276 }
Changesp::Opensphome
void Opensphome()
打开精灵仓库函数
Definition: changesp.cpp:183
Changesp::Putsp_home
void Putsp_home()
背包精灵全部入库函数
Definition: changesp.cpp:169
ffAutoC::run
void run()
自动非法确认-线程启动函数
Definition: changesp.cpp:230
Changesp::Changesp
Changesp(QWidget *parent=0)
一键换背包窗口构造函数
Definition: changesp.cpp:46
Dm::Idmsoft::FindPic
int FindPic(int x1, int y1, int x2, int y2, const QString &pic_name, const QString &delta_color, double sim, int dir, QVariant &x, QVariant &y)
Definition: dm.h:8311
Delay
void Delay(int time)
延迟线程(非阻塞)
Definition: xy.cpp:217
Changesp::~Changesp
~Changesp()
一键换背包窗口析构函数
Definition: changesp.cpp:159
ffAutoC
自动非法确认-多线程类 用于自动按下赛尔号的确认按钮的多线程
Definition: changesp.h:36
Changesp::model
QDirModel * model
Definition: changesp.h:65
Changesp::Searchsp
void Searchsp(HWND pid, QString name)
精灵仓库搜索精灵函数
Definition: changesp.cpp:195
Changesp::slot_savebag
void slot_savebag()
保存已输入背包函数
Definition: changesp.cpp:105
change_sp
void change_sp(QAxWidget *tmp, QString url)
换背包精灵头像预览函数
Definition: changesp.cpp:35
Dm::Idmsoft::LeftUp
int LeftUp()
Definition: dm.h:9327
change_init
void change_init(QAxWidget *tmp)
换背包精灵头像预览控件初始化函数
Definition: changesp.cpp:18
Changesp::slot_pre_bag
void slot_pre_bag()
预览输入背包函数
Definition: changesp.cpp:84
Changesp
一键换背包窗口类 一键换背包窗口这个类相关的函数
Definition: changesp.h:57
Changesp::Putsp_bag
void Putsp_bag()
仓库精灵放入背包函数
Definition: changesp.cpp:214
Changesp::path
QString path
Definition: changesp.h:66
allpath
QString allpath
登录器运行目录
Definition: ext.cpp:45
Dm::Idmsoft::MoveTo
int MoveTo(int x, int y)
Definition: dm.h:9423
deletesp
void deletesp(QAxWidget *tmp)
换背包精灵头像预览控件关闭函数
Definition: changesp.cpp:26
ffAutoC::status
bool status
Definition: changesp.h:40
Ui
Definition: atoken.h:17
Changesp::ui
Ui::Changesp * ui
Definition: changesp.h:78
changesp.h
一键换背包窗口头文件
Dm::Idmsoft::LeftDown
int LeftDown()
Definition: dm.h:9319
dm
Dm::Idmsoft dm
大漠插件相关的对象(唯一)
Definition: ext.cpp:15
Pid
HWND Pid
游戏界面窗口句柄
Definition: ext.cpp:17
Changesp::sp
QAxWidget ** sp
Definition: changesp.h:64
Changesp::slot_treeView_pressed
void slot_treeView_pressed(QModelIndex modeIndex)
背包txt选中函数
Definition: changesp.cpp:146
Dm::Idmsoft::LeftClick
int LeftClick()
Definition: dm.h:9303
Changesp::bag
QStringList bag
Definition: changesp.h:69
Changesp::slot_auto_bag
void slot_auto_bag()
一键换背包主函数
Definition: changesp.cpp:253