Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi punkt auf desktop (https://www.delphipraxis.net/10684-punkt-auf-desktop.html)

cosa 23. Okt 2003 12:32


punkt auf desktop
 
hi, bin bissl neu hier und hab auch noch nicht so den megaplan von delphi, lerns aber gerade so gut es geht in der schule 8)
jetzt hier meine frage: kann jemand ein kleines proggi entwickeln das im hintergrund von windows läufft, aber immer wenns an is im vordergrund nen kleinen weißen punkt in der mitte des monitors hat? also auch wenn man internetexplorer drüber schiebt der kleine punkt noch davor ist..
so wie icq sich halt auch vor alles schiebt..

sollte ungefähr so groß sein wie der punkt hier -> .

Tom 23. Okt 2003 12:37

Re: punkt auf desktop
 
Welchen Sinn macht dieser Farbklecks?

theomega 23. Okt 2003 13:22

Re: punkt auf desktop
 
Egoshoter Fadenkreuz vermutlich! Geht einfach, schau dir mal das Tutorial zu Handels von Luckie in der entsprechenden Sparte hier an. In seinem zweiten Posting stehts drin.

BungeeBug 23. Okt 2003 13:42

Re: punkt auf desktop
 
und was hat das mit Freeware zutun?

cosa 23. Okt 2003 23:58

Re: punkt auf desktop
 
@ tom .. siehe #3, der liegt vollkommen richtig ;)
@ bungee bug: keine ahnung, vielleicht gibts ja sowas auch zu kaufen ;) ..
@ the omega: hm, habs gefunden aber irgendwie läufft das net voll im vordergrund, und wenn du des einfach nennst, dann erschieß ich mich :( versteh da keine einzigste zeile :freak:

Motzi 24. Okt 2003 07:27

Re: punkt auf desktop
 
Hab mir da auch mal was ähnliches gebastelt.. :) Weiß nicht wie dein Code ausschaut, aber ich habs im Prinzip ganz simpel gemacht... ein eigener Thread der praktisch in einer Endlos-Schleife immer wieder einen Punkt in die Mitte des Desktop-DC malt. (den genauen Code hab ich jetzt nicht zur Hand, bin nicht zu Hause)

Darty 24. Okt 2003 07:59

Re: punkt auf desktop
 
Den Code würde mich auch interessieren Motzi .. Wäre toll wenn Du es noch posten würdest ;)

cosa 24. Okt 2003 11:24

Re: punkt auf desktop
 
ya motzi, oder lad halt gleich ma die exe hoch und den code glei noch dazu :p wär sehr feina zug von dir

Motzi 29. Dez 2003 18:31

Re: punkt auf desktop
 
Hab den Thread damals komplett vergessen.. (weiß nicht warum er mir jetzt gerade wieder eingefallen ist.. ;))
Jedenfalls hier der Code:
Delphi-Quellcode:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    bLoop: Boolean;
    dwID: DWord;
    ThreadHandle: THandle;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function PaintThread(Param: PBoolean): Integer;
var
  iWidth, iHeight: Integer;
  Pos: TPoint;
  DC: HDC;
  hOldBrush: hBrush;
  Count: Integer;
begin
  Result := 0;
  Count := 0;
  while Param^ do
  begin
    Inc(Count);
    iWidth := GetSystemMetrics(SM_CXSCREEN);
    iHeight := GetSystemMetrics(SM_CYSCREEN);
    Pos := Point(iWidth div 2 - 4, iHeight div 2 - 4);
    DC := GetWindowDC(GetDesktopWindow);
    hOldBrush := SelectObject(DC, CreateSolidBrush(RGB(250, 250, 0)));
    Ellipse(DC, Pos.X, Pos.Y, Pos.X + 8, Pos.Y + 8);
    DeleteObject(SelectObject(DC, hOldBrush));
    ReleaseDC(GetDesktopWindow, DC);
    Sleep(0);
    if Count shr 4 = 0 then
      Sleep(1);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  bLoop := True;
  ThreadHandle := BeginThread(nil, 0, @PaintThread, @bLoop, 0, dwID);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  InterlockedExchange(Integer(Pointer(@bLoop)^), 0);
  WaitForSingleObject(ThreadHandle, INFINITE);
  CloseHandle(ThreadHandle);
  Close;
end;

end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz