You are not logged in.

  • Login

1

Tuesday, July 12th 2011, 4:07pm

Hohe Auslastung von 50 Zeilen Programm + Befehl zum Beenden

Huhu :D
Hab mir mich nach ein paar Wochen Lustlosigkeit, weil ich nix mehr geblickt hab mich wieder C++ zugewendet. Hab mir erstmal ein kleines Spaßprogramm geschrieben, dass nur erlaubt die Maus in einem bestimmten Quadrat zu bewegen:

C/C++ Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <cstdlib>
#include <windows.h>
 
using namespace std;
 
int main ()
{
    POINT position;
 
 
    while(1)
    {
        GetCursorPos(&position);
 
 
        //////////Erste Qudarat
 
        //Grenze rechts links (Gerade)
        if(position.x < 410)
        {
            SetCursorPos(410, position.y);
        }
 
        if(position.x > 630)
        {
            SetCursorPos(630, position.y);
        }
 
 
        //Grenze oben unten (Gerade)
        if(position.y < 150)
        {
            SetCursorPos(position.x, 150);
        }
 
        if(position.y > 340)
        {
            SetCursorPos(position.x, 340);
        }
 
 
    }
 
}


Jetzt ist mein erstes Problem, dass das Programm ne extrem hohe Auslastung hat. Zwischen 20 und 50 ?( Ich nehme an es liegt an der while-schleife. Kann man die Auslastung senken? Wird zwar nix durch beeinflusst, finds aber etwas erschreckend :D

Mein zweites Problem ist, dass ich nach ausführen des Programms mich natürlich nur noch in diesem kleinen Quadrat bewegen kann und es dann per Taskmanager beenden muss. Hab jetzt schnell hinzugefügt, wo sich die Konsole und das X befindet. Mirwäre aber lieber, dass ich das per Mausklick machen könnte.

So irgendwie: ;)

C/C++ Quellcode

1
2
3
4
if(LeftMousePressedDown)
{
     return 0;
}


Hoffe ist verständlich ;) Und wehe mir wirft jemand n komplezierten Code an den Kopf :whistling: :P ;)
:D

Danke :thumbup:

3

Tuesday, July 12th 2011, 4:38pm




Ah danke :D

Was ist der unterschied zwischen dem _sleep und dem normalen Sleep(); ???

4

Tuesday, July 12th 2011, 5:11pm

Ich bin kein C++ Profi, aber ich glaube, dass wenn du windows.h eingebunden hast das normale "Sleep" das sleep der WinApi ist.
Das _sleep ist aus der std. Demnach bist du nicht so plattformgebunden, wenn du _sleep benutzt (std gibts genauso auf unix-system,...)

zum Beenden:
GetAsyncKeyState: http://msdn.microsoft.com/en-us/library/…3(v=vs.85).aspx
--> überprüft ob eine Taste (oder ein Mausbutton) gedrückt ist, auch wenn dein Programm gerade nicht den Fokus hat.

5

Tuesday, July 12th 2011, 5:55pm

Ich bin kein C++ Profi, aber ich glaube, dass wenn du windows.h eingebunden hast das normale "Sleep" das sleep der WinApi ist.
Das _sleep ist aus der std. Demnach bist du nicht so plattformgebunden, wenn du _sleep benutzt (std gibts genauso auf unix-system,...)

zum Beenden:
GetAsyncKeyState: http://msdn.microsoft.com/en-us/library/…3(v=vs.85).aspx
--> überprüft ob eine Taste (oder ein Mausbutton) gedrückt ist, auch wenn dein Programm gerade nicht den Fokus hat.


Ahhh, Genie :D :D



Danke :D

Social bookmarks