Hilfe beim Bloodsheed Dev-C++



  • Hallo,
    Ich bräuchte Hilfe beim Bloodsheed Dev-C++. Hab gerade mein erstes "Hello, World" geschrieben und wenn ich es ausführen möchte, erscheint nur kurz die Eingabeaufforderung und verschwindet dann wieder? Mein Programm stimmt (funkt. auf Pelles C problemlos).

    Hilfe für einen 😕 Programmierneuling!!!



  • system("Pause")

    Eigentlich ist es kein C++ Forum



  • Super, danke. Jetzt funktionierts 😉
    Aber was war mit "Kein C++ Forum" gemeint?
    Ich benutz Bloodsheed als C-Compiler



  • Du hast es im C# und .NET Forum gepostet.



  • Dieser Thread wurde von Moderator/in CMatt aus dem Forum C# und .NET in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • vadimiron schrieb:

    system("Pause")

    Das ist so ziemlich die schlechteste Variante - in unserer Konsolen-FAQ findest du bessere Alternativen.



  • Warum benutzt du eine IDE die seit jahren nicht mehr weiterentwickelt wird und schon defakto tot ist? benutz doch express?



  • Hmmm wie haste denn dein Hello-World Programm geschrieben?
    Hab auch vor ein paar Tagen angefangen mit C++ zu programmieren
    und benutze auch den Bloodshed Dev-C++ Compiler.

    So müsste das Programm eigendlich funktionieren zumindest hat es das bei mir, mit dem gleichen Compiler getan.

    #include<iostream>
        using namespace std;
    
        int main()
        {
          cout<<"Hello World";
          cin.get();
        }
    

    Hoffe, dass es bei dir auch klappt^^

    mfg, Nico



  • ich hab einen MineSweeper Hack mit Dev-C++ gemacht so geht er 😃 :[/code]#include <iostream>
    #include <windows.h>

    using namespace std;

    class cMineMain
    {
    public:
    int x_size;
    int y_size;
    int mines;

    public:
    int ReadXSize(HWND hWnd);
    int ReadYSize(HWND hWnd);
    int ReadMines(HWND hWnd);
    int MineCheck(HWND hWnd,int x_coord,int y_coord);
    void FirstClick(HWND hWnd,int win_x_pos,int win_y_pos,int screen_x,int screen_y);
    void ClickTehShit(HWND hWnd,int x,int y,int screen_x,int screen_y,int win_x_pos,int win_y_pos);

    };

    int main ( void )
    {

    cMineMain MineBot;
    HWND hWnd;
    RECT *rect; // Rect Pointer für GetWindowRect
    hWnd = FindWindow(0,"MineSweeper");
    int screen_x = GetSystemMetrics(SM_CXSCREEN);
    int screen_y = GetSystemMetrics(SM_CYSCREEN);

    if (!hWnd)
    {
    cout << "MineSweeper nicht gefunden!" << endl;

    }

    else
    {
    GetWindowRect(hWnd,rect);
    MineBot.x_size = MineBot.ReadXSize(hWnd);
    MineBot.y_size = MineBot.ReadYSize(hWnd);
    MineBot.mines = MineBot.ReadMines(hWnd);
    cout << screen_x << endl;
    cout << screen_y << endl;
    cout << "X-Felder: " << MineBot.x_size << endl;
    cout << "Y-Felder: " << MineBot.y_size << endl;
    cout << "Anzahl der Minen: " << MineBot.mines << endl;
    cout << "X-Position: " << rect->left << endl;
    cout << "Y-Position: " << rect->top << endl;

    MineBot.FirstClick(hWnd,rect->left,rect->top,screen_x,screen_y);

    // Ausgabe !!!
    int x = 0;
    int y = 0;

    do
    {
    for(x;x < MineBot.x_size;x++)
    {
    if (MineBot.MineCheck(hWnd,x,y) == 0)
    {
    cout << "x " ;
    MineBot.ClickTehShit(hWnd,x,y,screen_x,screen_y,re ct->left,rect->top);
    Sleep(0);
    continue;

    }
    else
    {
    cout << "B " ;

    }

    }

    y++;
    x = 0;
    cout << endl;
    }while (y < MineBot.y_size);

    cout << "Got teh Shit !!!" << endl;
    // Ausgabe!!!

    }

    cin.get();

    }

    // Read X Size //
    // Parameter : hWnd //
    // Rückgabewert : Größe des Feldes in X Richtung //
    int cMineMain::ReadXSize(HWND hWnd)
    {
    // Variablen
    DWORD procid;
    HANDLE mine_handle;
    unsigned const address = 0x1005334;
    int buf = 0;

    GetWindowThreadProcessId(hWnd,&procid);
    mine_handle = OpenProcess(PROCESS_ALL_ACCESS,false,procid);
    ReadProcessMemory(mine_handle,LPCVOID(address),&bu f,sizeof(buf),NULL);
    CloseHandle(mine_handle);
    return buf;
    }

    // Read Y Size //
    // Parameter : hWnd //
    // Rückgabewert : Größe des Feldes in Y Richtung //
    int cMineMain::ReadYSize(HWND hWnd)
    {
    // Variablen
    DWORD procid;
    HANDLE mine_handle;

    unsigned const address =0x10056A8 ;
    int buf = 0;

    GetWindowThreadProcessId(hWnd,&procid);
    mine_handle = OpenProcess(PROCESS_ALL_ACCESS,false,procid);
    ReadProcessMemory(mine_handle,LPCVOID(address),&bu f,sizeof(buf),NULL);
    CloseHandle(mine_handle);
    return buf;
    }

    // Read Mines Number //
    // Parameter : hWnd //
    // Rückgabewert : Anzahl der Minen im Feld //

    int cMineMain::ReadMines(HWND hWnd)
    {
    DWORD procid;
    HANDLE mine_handle;
    unsigned const address = 0x1005194;
    int buf = 0;

    GetWindowThreadProcessId(hWnd,&procid);
    mine_handle = OpenProcess(PROCESS_ALL_ACCESS,false,procid);
    ReadProcessMemory(mine_handle,LPCVOID(address),&bu f,sizeof(buf),NULL);
    CloseHandle(mine_handle);
    return buf;
    }

    // Mine Check //
    // Parameter: hWnd , x-Koordinate , y- Koordinate //
    // Rückgabewert : 1 = Mine ; 0 = Keine Mine //

    int cMineMain::MineCheck(HWND hWnd,int x_coord,int y_coord)
    {
    DWORD procid;
    HANDLE mine_handle;
    unsigned address =(0x1005340) + (32 * (y_coord+1)) + (x_coord+1);
    int buf = 0;

    GetWindowThreadProcessId(hWnd,&procid);
    mine_handle = OpenProcess(PROCESS_ALL_ACCESS,false,procid);
    ReadProcessMemory(mine_handle,LPCVOID(address),&bu f,1,NULL);

    if (buf == 0x8f)
    {
    return 1;
    }
    else
    {
    return 0;
    }
    CloseHandle(mine_handle);
    }

    void cMineMain::FirstClick(HWND hWnd,int win_x_pos,int win_y_pos,int screen_x, int screen_y)
    {
    float x_pixel = 65535/screen_x;
    float y_pixel = 65535/screen_y;
    float complete_winx = x_pixel * static_cast<float>(win_x_pos)+ x_pixel23;
    float complete_winy = y_pixel * static_cast<float>(win_y_pos)+ y_pixel
    110;

    SetForegroundWindow(hWnd);
    mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE, complete_winx,complete_winy,0,0);
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

    }

    void cMineMain::ClickTehShit(HWND hWnd,int x,int y,int screen_x,int screen_y,int win_x_pos,int win_y_pos)
    {

    const float pixel_per_field = 16.0;
    float x_pixel = 65535/screen_x;
    float y_pixel = 65535/screen_y;
    float complete_winx = x_pixel * static_cast<float>(win_x_pos)+ x_pixel23;
    float complete_winy = y_pixel * static_cast<float>(win_y_pos)+ y_pixel
    110;
    SetForegroundWindow(hWnd);
    mouse_event(MOUSEEVENTF_ABSOLUTE|MOUSEEVENTF_MOVE, complete_winx+(x*pixel_per_field*x_pixel) ,complete_winy+(y*pixel_per_field*y_pixel),0,0);
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

    }



  • #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main(int argc, char *argv[])
    {
      char txt[81];
      void *pointer;
    
      while(1) { //Endlosschleife
        pointer = strstr(txt, "exit");    
        if(pointer) {
          break; //Schleife abbrechen
        }     
        printf("Bitte eine Zeichenkette eingeben (max. 80 Zeichen)!\n\n");
        scanf("%80s", txt);
        printf("\nZeichenkettenlaenge: ");
        printf("%d", strlen(txt));
        printf("\nDu hast eingegeben: ");
        printf("%s", txt);
        printf("\n\n");
      }
    
      exit(0);	
      return 0;
    }
    

Anmelden zum Antworten