Wojtek1990
22nd July 2010, 20:53
Hi.
At first ... sorry for my language skill...
I need your help... I'm trying to write simple application (bot for game) in last version of QT program. First "more advanced" function (Tasker) works, but all application windows lags after function call.
Main window open Tasker window by this code ...
void MainWindow::on_actionTasker_activated()
{
AddressBook *tasker = new AddressBook();
tasker->show();
}
... it look's like on this picture:
http://img375.imageshack.us/img375/7088/74884425.png
... and like on second picture while Tasker is runned (checkbox is sticked) ...
http://img101.imageshack.us/img101/1373/47199874.png
After closing application (ctrl + alt + delete) in "application messages" have showed:
C:\Users\Wojtek\Desktop\bot_gui\bot-build-desktop\release\bot.exe closed with code -805306369
I've attached tasker code, I hope you won't kill me that I don't have too much knowledge to write this application :P
addressbook.h
#ifndef ADDRESSBOOK_H
#define ADDRESSBOOK_H
#include <QWidget>
#include <QMap>
#include <QMessageBox>
#include <QString>
namespace Ui {
class AddressBook;
}
class AddressBook : public QWidget
{
Q_OBJECT
public:
explicit AddressBook(QWidget *parent = 0);
~AddressBook();
private:
Ui::AddressBook *ui;
public slots:
void submitContact();
int checkBox();
//void podzial_liter ();
int wielka_litera(char);
void wiadomosc(char *wsk, int dl);
void tasker();
//void wiadomosc();
};
#endif // ADDRESSBOOK_H
addressbook.cpp
#include "addressbook.h"
#include "ui_addressbook.h"
#include "mainwindow.h"
#include "mainwindow.cpp"
#include <stdio.h>
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <string.h>
#include <QtGui>
#include <QString>
#include <QStringList>
static const int EXPERIENCE = 0x49A00C;
static const int LEVEL = 0x49A008;
static const int MANA = 0x499FF8;
static const int HP = 0x49A014;
using namespace std;
int oldName;
QString oldAddress;
AddressBook::AddressBook(QWidget *parent) :
QWidget(parent),
ui(new Ui::AddressBook)
{
ui->setupUi(this);
Qt::WindowFlags flags;
flags = Qt::Window | Qt::WindowMinimizeButtonHint;
setWindowFlags( flags );
connect(ui->OK, SIGNAL(clicked()), this,SLOT(submitContact()));
connect(ui->checkBox, SIGNAL(clicked()), this,SLOT(checkBox()));
}
AddressBook::~AddressBook()
{
delete ui;
}
int AddressBook::wielka_litera (char znak) {
if ((int(znak) >= 33 && int(znak) <=43) || (int(znak) >= 58 && int(znak) <= 90)) return 1;
else return 0;
}
void AddressBook::wiadomosc (char *wsk, int dl)
{
char znak;
for(int i = 0; i < dl; i++)
{
znak=wsk[i];
Sleep(100);
if (wielka_litera(znak)) keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VkKeyScan(znak), 0, 0, 0);
keybd_event(VkKeyScan(znak), 0, KEYEVENTF_KEYUP, 0);
if (wielka_litera(znak)) keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
}
keybd_event(VK_RETURN, 0, 0, 0);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
}
void AddressBook::tasker () {
std::string message = oldAddress.toStdString();
//string message=std::string((const char*)oldAddress);
//string message = oldAdress;
for (int i=0;i<=oldName;i=i+6) {
Sleep(60);
}
int dlugosc = message.length();
char *message_char = new char[dlugosc+1];
strcpy(message_char, message.c_str());
wiadomosc (message_char,dlugosc);
}
int AddressBook::checkBox() {
Qt::CheckState state;
state = (ui->checkBox)->checkState();
if ( state == Qt::Checked ) return 1;
else return 0;
}
void AddressBook::submitContact()
{
oldName = ui->time->value();
oldAddress = ui->message->text();
while (checkBox()==1) tasker();
}
Please help me :)
PS. AddressBook - strange name because I've edited example of Address book included to QT library (I'm too lazy to change these names) :P
At first ... sorry for my language skill...
I need your help... I'm trying to write simple application (bot for game) in last version of QT program. First "more advanced" function (Tasker) works, but all application windows lags after function call.
Main window open Tasker window by this code ...
void MainWindow::on_actionTasker_activated()
{
AddressBook *tasker = new AddressBook();
tasker->show();
}
... it look's like on this picture:
http://img375.imageshack.us/img375/7088/74884425.png
... and like on second picture while Tasker is runned (checkbox is sticked) ...
http://img101.imageshack.us/img101/1373/47199874.png
After closing application (ctrl + alt + delete) in "application messages" have showed:
C:\Users\Wojtek\Desktop\bot_gui\bot-build-desktop\release\bot.exe closed with code -805306369
I've attached tasker code, I hope you won't kill me that I don't have too much knowledge to write this application :P
addressbook.h
#ifndef ADDRESSBOOK_H
#define ADDRESSBOOK_H
#include <QWidget>
#include <QMap>
#include <QMessageBox>
#include <QString>
namespace Ui {
class AddressBook;
}
class AddressBook : public QWidget
{
Q_OBJECT
public:
explicit AddressBook(QWidget *parent = 0);
~AddressBook();
private:
Ui::AddressBook *ui;
public slots:
void submitContact();
int checkBox();
//void podzial_liter ();
int wielka_litera(char);
void wiadomosc(char *wsk, int dl);
void tasker();
//void wiadomosc();
};
#endif // ADDRESSBOOK_H
addressbook.cpp
#include "addressbook.h"
#include "ui_addressbook.h"
#include "mainwindow.h"
#include "mainwindow.cpp"
#include <stdio.h>
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <string.h>
#include <QtGui>
#include <QString>
#include <QStringList>
static const int EXPERIENCE = 0x49A00C;
static const int LEVEL = 0x49A008;
static const int MANA = 0x499FF8;
static const int HP = 0x49A014;
using namespace std;
int oldName;
QString oldAddress;
AddressBook::AddressBook(QWidget *parent) :
QWidget(parent),
ui(new Ui::AddressBook)
{
ui->setupUi(this);
Qt::WindowFlags flags;
flags = Qt::Window | Qt::WindowMinimizeButtonHint;
setWindowFlags( flags );
connect(ui->OK, SIGNAL(clicked()), this,SLOT(submitContact()));
connect(ui->checkBox, SIGNAL(clicked()), this,SLOT(checkBox()));
}
AddressBook::~AddressBook()
{
delete ui;
}
int AddressBook::wielka_litera (char znak) {
if ((int(znak) >= 33 && int(znak) <=43) || (int(znak) >= 58 && int(znak) <= 90)) return 1;
else return 0;
}
void AddressBook::wiadomosc (char *wsk, int dl)
{
char znak;
for(int i = 0; i < dl; i++)
{
znak=wsk[i];
Sleep(100);
if (wielka_litera(znak)) keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VkKeyScan(znak), 0, 0, 0);
keybd_event(VkKeyScan(znak), 0, KEYEVENTF_KEYUP, 0);
if (wielka_litera(znak)) keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
}
keybd_event(VK_RETURN, 0, 0, 0);
keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0);
}
void AddressBook::tasker () {
std::string message = oldAddress.toStdString();
//string message=std::string((const char*)oldAddress);
//string message = oldAdress;
for (int i=0;i<=oldName;i=i+6) {
Sleep(60);
}
int dlugosc = message.length();
char *message_char = new char[dlugosc+1];
strcpy(message_char, message.c_str());
wiadomosc (message_char,dlugosc);
}
int AddressBook::checkBox() {
Qt::CheckState state;
state = (ui->checkBox)->checkState();
if ( state == Qt::Checked ) return 1;
else return 0;
}
void AddressBook::submitContact()
{
oldName = ui->time->value();
oldAddress = ui->message->text();
while (checkBox()==1) tasker();
}
Please help me :)
PS. AddressBook - strange name because I've edited example of Address book included to QT library (I'm too lazy to change these names) :P