Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi List of running applications? (https://www.delphipraxis.net/128152-list-running-applications.html)

Razor 25. Jan 2009 10:08


List of running applications?
 
I have a problem in order to get the handle of each app to wire it to my custom taskbar i need list of running applications to get their handle and then i can play with them. :P

sirius 25. Jan 2009 10:47

Re: List of running applications?
 
how about this?

Razor 25. Jan 2009 10:49

Re: List of running applications?
 
Okay i've tested it but it shows mixed proceses.I would need only the names of the visible running applications.Ones on your taskbar;)

Thanks anyway.

Razor 25. Jan 2009 11:16

Re: List of running applications?
 
If anybody wants me to put up the source code tell me please,it does what i wanted it to do :lol:

Luckie 25. Jan 2009 11:32

Re: List of running applications?
 
What you need is MSDN-Library durchsuchenEnumWindows.

Razor 25. Jan 2009 11:36

Re: List of running applications?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Offtopic/ Couse i've made too much topics already so i don't want another one.

Is it possible to add a caption to an Timgbtn?Caption like a normal button has?
Couse now its only an image button with 3 states.

DeddyH 25. Jan 2009 11:43

Re: List of running applications?
 
Just override the paint-method and add a property namend Caption. Within the paint-method you can draw the caption on your canvas.

Razor 25. Jan 2009 11:44

Re: List of running applications?
 
I've already tried canvas.textout(x,y,text) but this only works when there is no bitmap loaded :x

Delphi-Quellcode:
unit ImgBtn;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls;

type
  TOnMouseEvent = procedure( Msg: TWMMouse ) of object;

  TImgBtn = class( TImage )
  protected
    procedure WMMouseEnter( var Msg : TWMMouse ); message CM_MOUSEENTER;
    procedure WMMouseLeave( var Msg : TWMMouse ); message CM_MOUSELEAVE;
    procedure WMLButtonUp( var Msg : TWMLButtonUp ); message WM_LBUTTONUP;
    procedure WMLButtonDown( var Msg : TWMLButtonUp ); message WM_LBUTTONDOWN;
  private
    FEntered : boolean;
    FDown : boolean;
    FOnMouseEnter : TOnMouseEvent;
    FOnMouseLeave : TOnMouseEvent;
    FOnMouseDown : TOnMouseEvent;
    FOnMouseUp   : TOnMouseEvent;
    FPic : TPicture;
    FPicDown : TPicture;
    FPicUp : TPicture;
    FSupported : boolean;
    procedure SetPic( Value : TPicture );
    procedure SetPicDown( Value : TPicture );
    procedure SetPicUp( Value : TPicture );
  public
    constructor Create( AOwner: TComponent ); override;
    destructor Destroy; override;
  published
    //** Images **//
    property Pic : TPicture read FPic write SetPic;
    property PicDown : TPicture read FPicDown write SetPicDown;
    property PicUp : TPicture read FPicUp write SetPicUp;
    //** Events **//
    property OnMouseDown : TOnMouseEvent read FOnMouseDown write FOnMouseDown;
    property OnMouseEnter : TOnMouseEvent read FOnMouseEnter write FOnMouseEnter;
    property OnMouseLeave : TOnMouseEvent read FOnMouseLeave write FOnMouseLeave;
    property OnMouseUp : TOnMouseEvent read FOnMouseUp write FOnMouseUp;
    property Supported : boolean read FSupported write FSupported;
  end;

procedure Register;

implementation
{$R *.RES}

(*******************************************************************************)
procedure Register;
begin
  RegisterComponents( 'Plus', [ TImgBtn ] );
end;

(*******************************************************************************)
constructor TImgBtn.Create;
begin
  inherited;
  FPic := TPicture.Create;
  FPicUp := TPicture.Create;
  FPicDown := TPicture.Create;
  FEntered := False;
  FDown := False;
  FSupported := True;
end;

(*******************************************************************************)
destructor TImgBtn.Destroy;
begin
  FPic.Free;
  FPicDown.Free;
  FPicUp.Free;
  inherited;
end;

(*******************************************************************************)
procedure TImgBtn.WMMouseEnter( var Msg: TWMMouse );
begin
  if not FSupported then Exit;
  FEntered := True;
  if FDown then Picture := FPicDown else Picture := FPicUp;
  if Assigned( FOnMouseEnter ) then FOnMouseEnter( Msg );
end;

(*******************************************************************************)
procedure TImgBtn.WMMouseLeave( var Msg: TWMMouse );
begin
  if not FSupported then Exit;
  FEntered := False;
  Picture := FPic;
  if Assigned( FOnMouseLeave ) then FOnMouseLeave( Msg );
end;

(*******************************************************************************)
procedure TImgBtn.WMLButtonDown(var Msg: TWMMouse);
begin
  inherited;
  if not FSupported then Exit;
  FDown := True;
  if FEntered then Picture := FPicDown;
  if Assigned( FOnMouseDown ) then FOnMouseDown( Msg );
end;

(*******************************************************************************)
procedure TImgBtn.WMLButtonUp(var Msg: TWMMouse);
begin
  inherited;
  if not FSupported then Exit;
  FDown := False;
  if FEntered then Picture := FPicUp;
  if Assigned( FOnMouseUp ) then FOnMouseUp( Msg );
end;

(*******************************************************************************)
procedure TImgBtn.SetPic( Value : TPicture );
begin
  Picture := Value;
  FPic.Assign( Value );
end;

(*******************************************************************************)
procedure TImgBtn.SetPicDown( Value : TPicture );
begin
  FPicDown.Assign( Value );
end;

(*******************************************************************************)
procedure TImgBtn.SetPicUp( Value : TPicture );
begin
  FPicUp.Assign( Value );
end;

end.

Luckie 25. Jan 2009 11:48

Re: List of running applications?
 
Zitat:

Zitat von Razor
Offtopic/ Couse i've made too much topics already so i don't want another one.

But this topic has nothing to do with your original question. Now we are discussing two different topic in the same thread. Please stick to one topic and open new topic for another question. Otherweise this ends up in chaos.

Razor 25. Jan 2009 11:49

Re: List of running applications?
 
Will do! :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:50 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