Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Doom3 Minimizer

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ]
000
11.08.2004, 08:26 Uhr
Zero



Hi Leute, für alle die es interessiert mal einen Domm3 minimizer zu schreiben können mit folgendem Code rumbasteln: (funktioniert aber auch so bestens)


C++:
#include <inifiles.hpp>
#include <windows.h>
#include <iostream.h>
#include <stdio.h>



String v;
int d3found=0;
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR nCmdLine,int nShowCmd);

TIniFile *doom;
doom = new TIniFile("doom_launch.ini");
v = doom->ReadString("Parameter","ID","");


{
    HWND doom3=(HWND)0;
    FILE * d3exist;
    d3exist = fopen("Doom3.exe","r");
    if (d3exist == 0)
        return 0;
        WinExec(v.c_str(),3);
    fclose(d3exist);
    

        doom->WriteString("Parameter","ID","doom3.exe");
        delete doom;

    while(1)
    {
        if (GetAsyncKeyState(VK_MENU) && GetAsyncKeyState(VK_TAB))
        {
            doom3 = FindWindow("DOOM3",0);
            if (doom3)
            {
                d3found=1;
                ShowWindow(doom3,SW_MINIMIZE);
            }
            else
                d3found=0;
        }
        if (doom3 != 0 && d3found == 1)
        {
            doom3 = FindWindow("DOOM3",0);
            if(!doom3)
                return 0;
        }
        Sleep(10);


    }

  }




Eine Frage: Wie kann ich den Code kompilieren so das die exe auch auf anderen Rechner läuft ?
Sobald ich Dyn RTL und die Packages rauswerfe bekomme ich linker Fehler beim Compilieren wegen <inifiles.hpp>. Liegt es daran das es nicht Ansi ist ? Wie kann ich es umgehen das ich die exe erstellen kannn ohne wieder irgendwelche Fehler zu bekommen (alle Packages die nötig sind müssen eingebunden werden).

Vielen Dank für eure Hilfe

Dieser Post wurde am 11.08.2004 um 08:30 Uhr von Zero editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.08.2004, 08:49 Uhr
mike
Pinguinhüpfer
(Operator)



--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.08.2004, 15:18 Uhr
Zero



ok, habs überarbeitet:


C++:

int main()
{

string v;
char var[50];
int d3found=0;
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR nCmdLine,int nShowCmd);



{
    HWND doom3=(HWND)0;
    FILE * d3exist;
    d3exist = fopen("doom3.exe","r");
          if (d3exist == 0)
        {
        cout<<"Failed: Dieses Programm liegt nicht im Doom3 Hauptverzeichnis !"<<endl;
        Sleep(5000);
        return 0;
        }

        fstream read;
        read.open("doom3.ios",ios::in);
        read.seekg(0);                    //------Lesen
        read.getline(var,50);
        read.close();

        v = var;
        WinExec(v.c_str(),3);     //--------------------- Doom3 starten
    fclose(d3exist);

        fstream write;
        write.open("doom3.ios",ios::out);
        write.clear(0);                       //----- Schreiben
        write<<"doom3.exe"<<endl;
        write.close();


    while(1)
    {
        if (GetAsyncKeyState(VK_MENU) && GetAsyncKeyState(VK_TAB))
        {
            doom3 = FindWindow("DOOM3",0);
            if (doom3)
            {
                d3found=1;
                ShowWindow(doom3,SW_MINIMIZE);
            }
            else
                        d3found=0;
        }
        if (doom3 != 0 && d3found == 1)
        {
            doom3 = FindWindow("DOOM3",0);
            if(!doom3)
                return 0;
        }
        Sleep(10);


          }

     }

}






Wer entdeckt einen Fehler ??

Danke !
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
12.08.2004, 14:55 Uhr
ai-tee



Oh ... geil

Funzt es schon?

Wenn nein? Was genau passiert denn oder passiert nicht?
--
Greetz, ai`tee
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
12.08.2004, 15:14 Uhr
(un)wissender
Niveauwart


Der Code ist schrecklich...
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
12.08.2004, 15:29 Uhr
ai-tee



Und sagst Du uns auch warum? Die Aussage allein ist irgendwie wenig effektiv ...
--
Greetz, ai`tee
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
13.08.2004, 11:04 Uhr
(un)wissender
Niveauwart


Das stimmt, und dazu noch destruktiv

1. Der Code kompiliert so sicherlich nicht.
2. Zweimal main?! -> macht nur in Ausnahmefällen Sinn, hier z.B. nicht.
3. Es wird C I/O und C++ I/O gemischt, sehr schlecht.
4. Der Code ist verwirrt, die Schleife kann sehr viel kürzer und klarer.
5. Es wird char[] und string gemischt, was soll das?
6. Booleans sind zum benutzen da...
7. Konstanten solten verwendet werden, nicht harte Ziffern.
.
.
.
Habe keine Lust mehr!


Bearbeitung:

Alles zusammengenommen ist dies ein Beispiel, wie man es nicht tun sollte.
Ich hoffe, ich bin damit niemandem auf den Schlipps getreten.


--
Wer früher stirbt ist länger tot.

Dieser Post wurde am 13.08.2004 um 11:15 Uhr von (un)wissender editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
13.08.2004, 11:29 Uhr
ai-tee




Zitat von (un)wissender:
Das stimmt, und dazu noch destruktiv

1. Der Code kompiliert so sicherlich nicht.


Und warum nicht?

Zitat:

2. Zweimal main?! -> macht nur in Ausnahmefällen Sinn, hier z.B. nicht.


Wo siehst Du die 2te main? Oder bin ich jetzt blind?

Zitat:

3. Es wird C I/O und C++ I/O gemischt, sehr schlecht.


Warum?

Zitat:

4. Der Code ist verwirrt, die Schleife kann sehr viel kürzer und klarer.


Dann zeig gleich mal wie, wir wollen ja alle etwas lernen.

Zitat:

5. Es wird char[] und string gemischt, was soll das?


Warum ist das schlecht?

Zitat:

6. Booleans sind zum benutzen da...
7. Konstanten solten verwendet werden, nicht harte Ziffern.
.
.
.
Habe keine Lust mehr!


Also wenn schon, denn schon ... tzz das haben wir gern

Zitat:



Bearbeitung:

Alles zusammengenommen ist dies ein Beispiel, wie man es nicht tun sollte.
Ich hoffe, ich bin damit niemandem auf den Schlipps getreten.



--
Greetz, ai`tee
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
13.08.2004, 11:32 Uhr
RedEagle



@aitee:

C++:
/*1. main*/ int main()
{

string v;
char var[50];
int d3found=0;
/*2. main*/ int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR nCmdLine,int nShowCmd);

//...



--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
13.08.2004, 13:25 Uhr
ai-tee



Das ist doch keine 2.te main() ... ist doch ne ganz gewöhnliche Funktion ... Einstiegspunkt ist doch nur eine Funktion mit dem Namen main() ... oder was soll daran jetzt falsch sein?
Also jetzt mal abgesehen von allem anderen, was daran schlecht ist ... ich meine rein darauf bezogen, dass es 2 main()'s sein sollen ... ???
--
Greetz, ai`tee
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: