Beiträge von djtraumwelt

    Ich suche schon seit ewigkeiten nach einem Defragmentierungsprogramm, das NTFS so defragmentiert, dass hinter jeder datei ein kleiner Freiraum gelassen wird. Ein solches Programm scheint es nicht zu geben, also dachte ich mir, ich schreib selber eins. Gibts es für so ein Projekt passende librarys oder howtos, sonstiges? Habe nämlich überhaupt keine Ahnung mit was ich so auf das dateisystem zugreifen kann, dass ich es defragmentieren und platz hinter jeder datei lassen kann.

    Also, das mit den LayeredWindows hab ich "ausgecheckt" und die Uhr funktioniert soweit. Aber ein großes Problem an dieser Lösung ist, dass das clicken in die Ziffern ein clicken ins Fenster bedeutet. Das soll so nicht sein. Ich möchte die Uhr zwar angezeigt haben, aber sie nicht anklicken können, steuern über das tray (wenn ich denn auser beenden was zum steuern brauchen würde). Weil man ja alles auf seinem bildschirm anklicken können soll, müsste man durch das fenster durch clicken können. Das scheint mir aber nicht realisierbar zu sein. Falls es das doch sein sollte, dann bitte hier posten wie, dann ist die uhr auch schon fertig. Ansonsten bräuchte ich ne, vermutlich viel kompliziertere, möglichkeit, diese uhr zu realisieren.

    edit: jetzt wird mir erst klar, was ihr mit durchklicken gemeint habt. ich bin halt manchmal n bissl bescheuert. jedenfalls, durch die transparenten teile kann man durchklicken, nur durch die gezeichneten teile, die ziffern, eben nicht.

    edit 2: hab das problem lösen können: WS_EX_TRANSPARENT

    das ergebnis gibt es unter http://www.wundervollemusik.de/Uhr.zip

    Also, wenn ich in GetDC(0) reinzeichne, dann sehe ich davon nix. Scheint nicht so einfach zu gehen.
    Wie macht man ein Teiltransparentes Fenster? (das mit dem durchklicken würde ich dann mit einem Tray lösen, welches ein TrackPopupMenu aufmacht bei rechtsclick)

    edit: GetWindowDC(0) liefert das gewünschte ergebnis.

    Ich möchte gerne eine Uhr schreiben, die nicht in einem Fenster dargestellt wird, sonder transparent über den kompletten Bildschirm gezeichnet wird. Digital am liebsten, so dass dann einfach in der mitte des Bildschirms z.b. 10:39 steht. Sollte, wie der Mauszeiger funktionieren und oberhalb von allem anderen gezeichnet werden.

    Mein Problem ist jetzt, dass ich überhaupt keine Ahnung von Treiberprogrammierung, falls ich ne art maustreiber-ähnlichen treiber schreiben müsste, bzw. hab ich keine Ahnung, ob ich irgendwie anders auf den Bildschirminhalt zugreifen kann, ohne gleich directx beherrschen zu müssen.

    Also, wenn da jemand ne Idee hätte, wie ich das am einfachsten realisieren kann, dann bin ich dankbar für jede Hilfe. Ergebnisse werden natürlich wieder kostenlos hier veröffentlich, damit andere User, die sowas auch haben wollen, einfach downloaden können, bzw. jemand am quellcode rumbasteln kann.

    Habs inzwischen geschafft:

    Code
    GetClassInfo(NULL,"EDIT",&wc);
       OldWndProc=wc.lpfnWndProc;
       wc.lpfnWndProc=EditProc;
       wc.hInstance=hInst;
       wc.lpszClassName="EDIT";
       RegisterClass(&wc);
       hEdit=CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT","",WS_CHILD | WS_BORDER | ES_AUTOHSCROLL | ES_LEFT,10,WINHGT-24,WINWID-20,24,hWnd,(HMENU)1,hInst,0);
       ShowWindow(hEdit,SW_SHOW);
       SendMessage(hEdit,EM_SETLIMITTEXT,999,0);

    Hab mir n Singleline-Edit-Child-Window gemacht in das ich Text eingeben kann. Bei drücken der Enter-Taste soll der Text nun abgeschickt werden. Problem ist, dass bei drücken der Enter-Taste nix passiert. Hab mir noch n DEFPUSHBUTTON dazu gemacht, wenn ich den anklicke, dann schickt er den Text ab, das funktioniert einwandfrei. Was ich jetzt bräuchte, wär ne Idee, wie der Button automatisch gedrückt wird, wenn im Edit-Window "reingeEntert" wird, bzw. müsste ich überhaupt mal rausfinden, wann der User "reinEntert".

    Hast du das gemacht, um Windows-Programmierung zu lernen, oder, um diese Funktion zu erhalten? Falls Letzteres zutrifft, hast du wohl das Rad neu erfunden.

    Beides =) Zum einen möchte ich irgendwann mal möglichst gut programmieren können. Zum anderen habe ich diese Funktion wirklich gebraucht und nichts wirklich kostenloses oder gar open-source für windows gefunden.

    Naja, warum nicht 25 Blöcke? Ist doch ne schöne Zahl =)) das reicht aus, denke ich.

    Ok, hab den Fehler gefunden: mir hat das

    Code
    nid.hWnd=hWnd;


    gefehlt =(

    Hier nochmal der komplette Code, für alle die Ihr Clipboard auf 25 Speicherblöcke erweitern wollen:

    Das Tray-Icon verschwindet immer dann auf die von dir beschriebene Art und Weise, wenn der Prozess nicht mehr lebt, der es erzeugt hat.

    Das hilft mir nicht weiter, der Prozess lebt nämlich noch. Hab das Tray mal Testweise in der Winmain schon erstellt und der Prozess lebt auf jeden fall, zumindest zeigt der Taskmanager mir die Tray.exe noch an, nur das Tray an sich ist weg.

    das Fenster verschwindet, wie es soll, das Tray erscheint, wie es soll, und verschwindet dann, sobald man mit der Maus drüber geht, was es nicht soll. Warum verschindet das Tray?