problem, mit klassen variablen ausgabe, brauche hilfe!



  • hi ich habe hier hier eine kleine anwendung die den process von MineSweeper findet und die zeit in der console ausgibt. doch das problem ist das sich der wert der eigentlich die zeit ist nicht aendert sondern bei 0 stehen bleibt. hier ist der code:

    /*******************************************************************************
    *   Data:   Minesweeper.h                                                      *
    *   Date:   30th Nov. 2006                                                     *
    *******************************************************************************/
    #ifndef _MINESWEEPER_H
    #define _MINESWEEPER_HH
    
    class MineSweeper {
    
        public:
    
            MineSweeper();
            ~MineSweeper();
    
            void print();
            void getProcess();
            void readProcess();
            void writeProcess();
            bool keyboard();
            bool isrun;
    
        private:
    
            HWND hWnd;
            HANDLE hProc;
            DWORD procID, r, w;
            unsigned int address[5];
            int buffer[5];
    
    };
    
        MineSweeper::MineSweeper() {
    
            hWnd = 0;
            hProc = 0;
            procID = 0;
            r = 0;
            w = 0;
            address[0] = 0;
            buffer[0] = 0;
            isrun = true;
        }
    
        MineSweeper::~MineSweeper() {
    
            hWnd = 0;
            hProc = 0;
            procID = 0;
            r = 0;
            w = 0;
            address[0] = 0;
            buffer[0] = 0;
            isrun = false;
        }
    
        void MineSweeper::getProcess() {
    
            cout << "\n Search process MineSweeper, wait..." << endl;
            Sleep( 700 );
    
            hWnd = FindWindow( 0, "MineSweeper" );
                if( !( hWnd ) ) {
    
                    cout << " Error, couldn't found process MineSweeper." << endl;
    
                    getchar();
                    isrun = false;
                    return;
                }
                else {
    
                    cout << " All right, process MineSweeper was found." << endl;
                    Sleep( 700 );
                    clrscr();
                }
    
            GetWindowThreadProcessId( hWnd, &procID );
            hProc = OpenProcess( PROCESS_ALL_ACCESS, 0, procID );
            CloseHandle( hProc );
        }
    
        bool MineSweeper::keyboard() {
    
            if( kbhit() ) {
    
                switch( getch() ) {
    
                    case 27: {
    
                        isrun = false;
                        break;
                    }
                }
            }
            return true;
        }
    
        void MineSweeper::readProcess() {
    
            address[0] = 0x100579C;
    
            ReadProcessMemory( hProc, (LPCVOID)address[0], &buffer[0],
                               sizeof( buffer ), &r );
        }
    
        void MineSweeper::print() {
    
            gotoxy( 5, 5 );
            cout << "   Elapsed Time: " << buffer[0];
        }
    
    #endif
    

    und die main

    /*******************************************************************************
    *   Data:   MWT1.cpp                                                           *
    *   Date:   30th Nov. 2006                                                     *
    *******************************************************************************/
    #include <conio>
    #include <string>
    #include <windows.h>
    #include <iomanip>
    #include <iostream>
        using namespace std;
    
    #pragma hdrstop
    #pragma argsused
    
    #include "minesweeper.h"
    
    int main( int argc, char* argv[] ) {
    
        MineSweeper ms;
    
        ms.getProcess();
    
        do {
    
            ms.readProcess();
            ms.keyboard();
            ms.print();
    
        } while( ms.isrun );
    
        ms.~MineSweeper();
        return 0;
    }
    

    könntet ihr mir sagen wo das problem liegt?



  • Falsches Forum und arg ungenaue beschreibung wo das Problem liegt.

    Kannst Du das Problem ein wenig einschränken ?



  • T0bi schrieb:

    ...
    könntet ihr mir sagen wo das problem liegt?

    Klar, Du hast ein "problem, mit klassen variablen ausgabe, brauche hilfe!".
    😉

    Gruß,

    Simon2.



  • -.-"... jo sorry... aber mitlerweile hab ich des prob selber gefunden... es lag am CloseHandle( hProc ) logisch das des dann net funktionieren kann, aber trotzdem thx

    [CLOSED]



  • Das hat zwar jetzt nichts mit dem Kernproblem zu tun, aber:

    T0bi schrieb:

    #ifndef _MINESWEEPER_H
    #define _MINESWEEPER_HH
    ...
    #endif
    

    Das ist auf jeden Fall kein funktionsfähiger Include-Guard.


Anmelden zum Antworten