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_pixel110;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_pixel110;
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; }