Entwickler-Ecke

Open Source Projekte - Überwachungsmonitor für den Monitor


Anonymous - Fr 29.11.02 18:00
Titel: Überwachungsmonitor für den Monitor
Eigentlich würde ich so ein kleines Programm nie als Open Source Projekt veröffentlichen, da es doch sehr klein und unwichtig ist. Allerdings haben die letzten Tage gezeigt, daß man doch alles veröffentlichen sollte.

Hier also mein PopTV. Für alle die Angst haben, daß Ihnen etwas auf dem Monitor entgehen könnte, ein Überwachungsmonitor für den Monitor.

http://mitglied.lycos.de/popov3/pub/poptv


tommie-lie - Fr 29.11.02 19:10

schalt' mal den blinkenden Text ab!
Wenn ich den Text über der HP lesen will, werde ich jedesmal dabei gestört, ein grund für mich, die Seite sofort wieder zu verlassen...
Aber was hast du gegen OpenSource?
Ich bin ja generell für OpenSource, aber gerade die kleinen´, unbedeutenden Programme sollten es sein, denn die haben ja nicht besonders viel Entwicklungsarbeit gekostet. Riesige Projekte sollten meiner Meinung natürlich erst recht OpenSource sein, aber da ist der Schmerz tiefer, seine 2 Jahre Arbeit für nix einfach so rauszurücken...


Anonymous - Fr 29.11.02 19:36

Auf der HP gibt es keinen blinkenden Text. Weder beim IE, noch bei Mozilla. Vielleicht hast du die Webung gesehen.


Anonymous - Fr 29.11.02 19:53

Sorry, nehme alles zurück. Anscheinend hat sich der "blink" Tag in die Seite eingeschlichen. Keine Ahnung wie, denn die Seite ist neu mit dem FrontPage Express erstellt worden.

Allerdings blinkt es weder beim IE noch beim Mozilla. Welchen Browsen benutzt du also?


tommie-lie - Fr 29.11.02 20:12

Mozilla natürlich!
Mozilla 1.1
Gecko Build 20020826
Mit teilweise aktivertem JavaScript und mit ohne Cookies und Java.

Aber nu iss auch weg.
Und such dir mal 'nen anderen Provider, die Werbung ist ja nicht mehr auszuhalten...
Prianho ist auch kostenlos und ohne Werbung. Oder deep-ice.


Thilnd - Di 25.03.03 13:40

naja geocities hat auch kaum Werbung und is das 2. beste ^^
Beepworld hat auch kaum werbung

Aber Yahoo Tripod is das beste siehe:
http://www.ufa.de.am
Die werbung kommt nur vom .am Anbieter ^^ was sagt ihr zu meiner HP


O'rallY - Fr 28.03.03 20:03

Findest du nicht das PopTV ein etwas unpassender Name ist? :wink:


Popov - Fr 28.03.03 22:02

An was du so denkst. Ok, PopTv kann man vielleicht mißverstehen, aber viele meine Programme fangen so an, z.B. PopSpy, PopCoder, PopInstaller usw.


O'rallY - Fr 28.03.03 23:11

Aber du musst doch zugeben, dass gerade deine Vorsilbe in Verbindung mit TV doch an
Zitat:
was du so denkst
denken lässt :wink:


Da_Knuddelbaer - So 13.04.03 12:30

Sehe ich aber auch so und nein ich denke eigentlich nicht immer dran :lol: Du solltest eventuell mal schauen ob du den Namen nicht wenigstens ein bissel verändern kannst :wink:


Popov - So 20.04.03 23:47

Ja, aber so macht man auf seine Programme aufmerksam. In dem man falsche Hoffnungen weckt ;).


Shadowdragon - Sa 07.06.03 19:23

Das Prog is zwar so ziemlich nutzlos *gg*

Aber es hat einen schönen Fenster-im Fenster-im Fenster-im Fenster - Effekt.... wenn's doch nich so grobkörnig wär, wärs n geiler optischer Effekt!


icolo - So 08.06.03 01:18

Shadowdragon hat folgendes geschrieben:
Das Prog is zwar so ziemlich nutzlos *gg*

...um nicht zu sagen, es sei störend! ;)
Es frisst unglaublich Ressourcen und nützen tut's wirklich überhaupt nichts.

Ich hoffe, dass wenigstens der Lerneffekt beim Programmieren des Projekts da war...:)

greets, icolo, der manchmal auch nutzlose Dinge macht...


Delete - So 08.06.03 13:06

icolo hat folgendes geschrieben:
Ich hoffe, dass wenigstens der Lerneffekt beim Programmieren des Projekts da war...:)

Für mich (beim Nachprogrammieren) schon. :wink:

Delphi-Quelltext
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:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
program PopTV;

uses
  Windows, Messages;


function floattostr(const i: Extended): string;
begin
  Str(i:2:1,Result);
end;


//
// "WndProc"
//
const
  IDC_TIMER  = 1;
  fMenuState : array[boolean]of cardinal = (0,MF_CHECKED);
var
  Timer1     : UINT;
  iIntervall : integer = 300;


function WndProc(wnd: HWND; uMsg: UINT; wp: WPARAM; lp: LPARAM): LRESULT; stdcall;
var
  hm         : HMENU;
  i          : integer;
  p          : TPoint;
  Can,
  me         : HDC;
  r1,
  r2         : TRect;
begin
  Result := 0;


  case uMsg of
    WM_CREATE:
      Timer1 := SetTimer(wnd,IDC_TIMER,iIntervall,nil);
    WM_DESTROY:
      begin
        KillTimer(wnd,IDC_TIMER);
        PostQuitMessage(0);
      end;
    WM_GETMINMAXINFO:
      begin
        PMinMaxInfo(lp)^.ptMinTrackSize.X := 304;
        PMinMaxInfo(lp)^.ptMinTrackSize.Y := 190;
      end;
    WM_TIMER:
      if(wp = IDC_TIMER) then begin
        Can := GetDC(GetDesktopWindow);
        me  := GetDC(wnd);
        GetClientRect(wnd,r1);
        GetWindowRect(GetDesktopWindow,r2);

        StretchBlt(me,r1.Left,r1.Top,r1.Right,r1.Bottom,
          Can,r2.Left,r2.Top,r2.Right,r2.Bottom,SRCCOPY);

        ReleaseDC(wnd,me);
        ReleaseDC(GetDesktopWindow,Can);
      end;
    WM_COMMAND:
      if(HIWORD(wp) = BN_CLICKED) and (LOWORD(wp) in[1..10]) then begin
        iIntervall := LOWORD(wp) * 100;
        Timer1     := SetTimer(wnd,IDC_TIMER,iIntervall,nil);
      end;
    WM_RBUTTONUP:
      begin
        hm    := CreatePopupMenu;
        for i := 1 to 10 do
          AppendMenu(hm,MF_STRING or fMenuState[iIntervall=i*100],i,
            pchar('Aktualisierung alle ' + floattostr(i/10) + ' Sek.'));

        GetCursorPos(p);
        SetForegroundWindow(wnd);
        TrackPopupMenu(hm,TPM_RIGHTALIGN,p.X,p.Y,0,wnd,nil);
        DestroyMenu(hm);
      end;
    else
      Result := DefWindowProc(wnd,uMsg,wp,lp);
  end;
end;


//
// MAIN
//
const
  szClassName = 'TfrmMain';
  szAppName   = 'Monitor TV';
var
  popM        : THandle = 0;
  aWnd        : HWND;
  msg         : TMsg;
  wc          : TWndClassEx =
    (cbSize:sizeof(TWndClassEx);
     Style:CS_HREDRAW or CS_VREDRAW;
     lpfnWndProc:@WndProc;
     cbClsExtra:0;
     cbWndExtra:0;
     hIcon:0;
     hbrBackground:COLOR_APPWORKSPACE;
     lpszMenuName:nil;
     lpszClassName:szClassName;
     hIconSm:0; );

begin
  // there can be only one!
  popM := CreateMutex(nil,false,'PopTV_NonVCL');
  if(GetLastError = ERROR_ALREADY_EXISTS) then
    begin
      if(not IsWindowVisible(findwindow(szClassName,nil))) then
        PostMessage(findwindow(szClassName,nil),WM_SYSCOMMAND,SC_RESTORE,0);
      SetForegroundWindow(findwindow(szClassName,nil));
      exit;
    end;

  // kill Popov´s original version ;o)
  while(findwindow(szClassName,szAppName) <> 0do
    SendMessage(findwindow(szClassName,szAppName),WM_CLOSE,0,0);


  // register class
  wc.hInstance := hInstance;
  wc.hIcon := LoadIcon(hInstance,IDI_WINLOGO);
  wc.hCursor := LoadCursor(0,IDC_ARROW);
  if(RegisterClassEx(wc) = 0then exit;

  // create window
  aWnd := CreateWindowEx(WS_EX_TOOLWINDOW,szClassname,szAppname,
    WS_OVERLAPPEDWINDOW or WS_VISIBLE,integer(CW_USEDEFAULT),
    integer(CW_USEDEFAULT),304,190,0,0,hInstance,nil);
  if(aWnd = 0then exit;
  ShowWindow(aWnd,SW_SHOW);
  UpdateWindow(aWnd);

  // message pump
  while(GetMessage(msg,0,0,0)) do
    begin
      TranslateMessage(msg);
      DispatchMessage (msg);
    end;

  CloseHandle(popM);
end.


Popov - So 08.06.03 14:06

@Mathias

Du solltest vielleicht bemerken, daß deine Version eine reine NonVcl Variante ist. Das findet zwar jeder raus der es rausfinden will, aber es gibt welche die sich da nicht so gut auskennen.


Übrigens stellte ich zu meinem Erstaunen fest, daß das Programm unter WindowsXP um ein vielfaches schneller ist. Ruckelt das Programm unter 98 noch kräftig, so ist er unter XP flüssig und schnell. Man glaubt es kaum, XP hat doch eine Verbesserung.

@icolo

Das Programm ist nutzlos. Lies dir aber den ersten Beitrag. Da stehts auch drin.


Jegan - Mo 05.01.04 20:23
Titel: Code verändern?
Hi , ich würde gerne den code so verändern das es aufnimmt was gerade passiert am pc also was sich am monitor so tut darf ich das? :)