Such programm
-
Hallo,
ich versuche mich gerade an einem Programm das eine Farbe sucht.
Also zum Beispiel:
:p
Jetzt soll das Programm die farbe blau suchen.
Dann soll es mit dem Mauszeiger drauffahren.
Ich habe aber keine Ahnung wie ich das anstellen soll. Ich hoffe jemand kann
mir helfen.MFG
RENE
-
Wie meinst du das? Du willst auf dem Desktop irgendeinen blauen Pixel finden, oder wie? In dem Fall kannst du dich mal über die Suche schlau machen, wie man einen Screenshot vom Desktop (den du über GetDesktopWindow kriegst) erzeugt. An die Bilddaten kommst du dann über GetBitmapBits oder GetDIBits. Und dann durchsuchst du einfach alle Pixel nach einem gewissen Blauanteil. Und die Position des Pixels im Bild ist dann auch die Position, auf die du den Mauszeiger stellen willst.
-
Also wenn ich das richtig verstanden habe funktioniert das so:
____________________________________________________________________
#include <iostream>
#include <windows.h>
using namespace std;int main()
{
int befehl;cout << endl;
cout << " Menue " << endl;
cout << " starten <1>" << endl;cout << " Ihre eingabe : ";
cin >> befehl;switch(befehl)
{
case 1: cout << endl;
while(true)
{
GetDesktopWindow;//macht das Bild
GetDIBits;//liest das Bild}
default: cout << endl;
cout << "Ungeueltige Eingabe " << endl;
break;
}return 0;
}
__________________________________________________________________________
So jetzt hab ich gesucht wie das Programm die Pixel Farbe sucht aber nix gefunden. Nur den Befehl GetPixel aber ich habe keine Ahnung wie ich das benutze.
Ich hoffe jemand kann mir nochmal helfenMFG
RENE
-
kann mir denn keiner weiterhelfen ???
-
Nein, nein, GetDesktopWindow liefert dir nur ein Handle (HWND). Das ist alles ein wenig komplizierter, als du vielleicht denkst. Bitte nutze die Suchfunktion und schau dir an, wie man einen Screenshot von einem Fenster anlegt. Und statt irgendeinem Fenster nimmst du halt das Handle, das dir GetDesktopWindow zurückgegeben hat... Es gibt hier im Forum mehrere Thread zu dem Thema, einfach suchen ("Screenshot" ist da schon ein guter Suchbegriff).
Übrigens benötigt ein Funktionsaufruf auch eine Parameterliste (runde Klammern und eventuelle Parameter). Und was soll die Endlosschleife?? Die ist nicht nur im Kontext von GetDesktopWindow und GetDIBits sinnfrei, sondern führt auch dein Menü ad absurdum.
Und merke: jedesmal, wenn du eine neue, dir nicht bekannte Funktion einsetzen willst, dann lies dir erstmal die Doku durch. Eine Funktion "einfach so" zu verwenden, ist in den meisten Fällen nicht ohne Fehler möglich.