Einzelnen Beitrag anzeigen

Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#1

Contextmenue auf die Uhr Legen

  Alt 26. Feb 2007, 16:39
Hallo Leutz,

Ich bastle mal wieder ein Kleines Tool

Bin auch schon gut voran gekommen. Nun fehlt mir nur noch " ein kleines Bischen "

Aber erst mal was das Tool schon kann.

Ist das Tool gestartet so mist es permanent die CPU load und den verbrauchten Ram des systems und zeigt diese Informationen dann mittels rotem und Grünen Balken über und Unter der Windows Uhr an.

Bei 2 CPU systemen läst sich wahlweise der Rote Balken aufspalten so das man dann die CPU Load jeder CPU sehen kann ( momentan gehts auch nur so , der Durchschnitt Load soll aber später Optional Hinzu kommen. )

Da ich selbst aber leider keinen Duo Core Rechner habe würde ich mich über einen entsprechenden Screenshot freuen.

Nun zu meiner Frage.

Ich möchte nun das wenn ich mit der Rechten Maustaste auf die Uhr Schaltfläche Klicke das dann ein Popup menue Kommt das ich schon erstellt habe , nur wie kriege ich das hin das Windoof dann mein Popup öffnet, und nicht das standart Menue ?

Und weis jemand wie ich es abstellen kann das beim Minuten Wechsel meine Application überzeichnet wird ?

Danke schon mal für eure Hilfe

Corpsman

ach falls es was hilft könnt ihr auch den Source haben der mir das Handle der Uhr hohlt :
Delphi-Quellcode:
Var
  ClockHandle: Longint;
  Clock: TCanvas;
  ClockRect: Trect;

Function GetAppHandle(AppName, ClassName: String): Longint;
Var
  h1: HWND;
Begin
  H1 := FindWindow(PCHAR(ClassName), PCHAR(Appname));
  Result := H1;
End;

Function GetClockWndHandle: Longint;
Var
  H_Shell_TrayWnd,
    H_TrayNotifyWnd,
    H_TrayClockWClass: Longint;
Begin
  H_Shell_TrayWnd := GetAppHandle('', 'Shell_TrayWnd');
  H_TrayNotifyWnd := FindWindowEx(H_Shell_TrayWnd, 0, PCHAR('TrayNotifyWnd'), Nil);
  H_TrayClockWClass := FindWindowEx(H_TrayNotifyWnd, 0, PCHAR('TrayClockWClass'), Nil);
  Result := H_TrayClockWClass;
End;


// Form Create
  ClockHandle := GetClockWndHandle;
  Clock := TCanvas.Create;
  Clock.Handle := GetDC(ClockHandle);

// und zum Zeichnen

  UpdateWindow(ClockHandle);
Angehängte Dateien
Dateityp: zip tclockex_128.zip (159,5 KB, 10x aufgerufen)
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat