Beeinflussen der Desktop-Icons
Übersicht

DeforationBetreff: Beeinflussen der Desktop-Icons |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Zusammen.
Ich habe eine Frage! Gibt es in B3D mit Hilfe eines API aufrufes die Desktop-Icons zu verschieben oder zu beeinflussen. Eine zweite frage wäre nocht, ob es möglich ist das Programm unsichtbar zu machen, so dass z.B. Nur nur ein roter kreis oder ein männchen des Programmes sichtbar ist? Das heisst das die ganzen Leisten mit dem X und der schwarze hintergrund nicht sichtbar sind. Zum Hintergrund? Es wäre gut, wenn er Transparent ist, dass heisst man sollte den Desktophintergrund sehen können. Ich weiss das sind viele Fragen und auch keine einfachen. Wenn jemand helfen könnte, wäre das wirklich sehr freundlich. Wenn nicht, dann spielt das keine grosse Rolle. Danke für euer aufmerksames Lesen. |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Deforation hat Folgendes geschrieben: Eine zweite frage wäre nocht, ob es möglich ist das Programm unsichtbar zu machen, so dass z.B. Nur nur ein roter kreis oder ein männchen des Programmes sichtbar ist?
Der rote Kreis soll im Programm gezeichnet werden oder in der Taskleiste, im Systemtray, wo? Wenn du die Leiste nicht haben willst und der Hintergrund transparent sein soll, könntest du es gleich lassen. Einfach kein Graphics aufrufen ![]() |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
also mit blitzplus denke ich wäre das möglich. d kannst da nämlich auf den DesktopBuffer malen... | ||
Deforation |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für eure Antworten.
Gedacht wäre es in etwa so. ![]() http://www.imgshark.net/index....e=Test.bmp (Das Bild dient nur zum Zweck, das Prinzip zu zeigen.) Zusätzlich danke für den Tipp mit BlitzPlus. Sobald ich kann, werde ich mal die Demoversion ausprobieren. |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Idee mit B+ ist gut. (Meine aber auch^^)
Zusammen ergeben sie folgenden Code: [AUSKLAPPEN] SetBuffer DesktopBuffer()
Color 255,0,0 x=(GadgetWidth(Desktop())-50)/2 y=(GadgetHeight(Desktop())-50)/2 startzeit=MilliSecs() While MilliSecs()-startzeit<10000 Oval x,y,50,50,1 Delay 20 Wend End Also es wird ein roter Kreis gezeichnet (auf den DesktopBuffer, weshalb der Code auch nur mit B+ geht). Nach 10sek beende ich das Programm, weil man keine Kontrolle über die Benutzereingaben hat ohne Graphics (KeyHit, MouseHit und so werden nicht erkannt. Abhilfe schaffen Keylogger oder solche Timer wie bei mir) Allerdings bleibt der Kreis, auch wenn das Prog beendet ist. Cls ist KEINE Lösung! ( -> Bildschirm schwarz) Und ich weiß nicht mehr, wer sich damals aufregte, jedenfalls hab ich auch jetzt ein Delay in die Schleife gegeben. Das ist NICHT vorbildhaft, aber ich war wie immer zu faul einen Framelimiter zu machen. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
anstatt cls müsste man via grabimage sich den Desktop schnappen und dann immer statt cls Drablock schreiben | ||
Deforation |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Zusammen.
1. Ich habe es mal mit Save und Loadbuffer gemacht. Es funktioniert, jedoch ehr als nur langsam. 2. Die Variante von FTC Code: [AUSKLAPPEN] SetBuffer DesktopBuffer() Global a=50 Global b=50 gfxGrab=CreateImage(1280,1024) GrabImage gfxGrab,0,0 Color 255,0,0 x=(GadgetWidth(Desktop())-50)/2 y=(GadgetHeight(Desktop())-50)/2 startzeit=MilliSecs() While MilliSecs()-startzeit<1000 DrawBlock gfxGrab,0,0 Oval x,y,a,b,1 Delay 20 a=a+5 b=b+5 Wend End gefällt mir ziemlich gut. (Danke für den Vorschlag ![]() Jedoch kann ich dann kein Fenster mehr bewegen, da es alles zurückstellt. Wenn ich dann jedoch mache, dass es immer wieder ein bild speichert und wieder einfügt, dass wird das ganze enorm verlangsamt. Darum habe ich es dan mal so probiert. Code: [AUSKLAPPEN] SetBuffer DesktopBuffer() Global a=50 Global b=50 x=500 y=500 gfxGrab=CreateImage(50,50) Color 255,0,0 Rect x,y,50,50,1 GrabImage gfxGrab,x,y startzeit=MilliSecs() While MilliSecs()-startzeit<5000 DrawBlock gfxGrab,a,b Color 255,0,0 If ((MouseX()>a) And (MouseX()<a+50) And (MouseY()>b) And (MouseY()<b+50)) Then Color 50,20,30 EndIf Text 10,10,"Maus X: "+MouseX() Text 10,50,"Maus Y: "+MouseY() a=a+5 b=b+5 Delay 50 Wend End Jedoch gibt es dann eine schleifspur, welche ich nur beim überfahreneines Fensters wieder löschen kann. |
||
sdjh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du kannst in Blitz3D mit blitzsys.dll dein Fenster transparent machen und direkt auf den DesktopBuffer schreiben. Musst mal ein wenig googlen. Vielleicht gibt's die aber auch gar nicht mehr. Ich finde derzeit nix. Mein Netz ist irgendwie erbärmlich langsam... | ||
Deforation |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für deine Antwort.
Die Blizsys habe ich schon, mit der hab ichs aber noch nicht probiert. Danke für den tipp. Die Blitzsys gibts unter: http://d-bug.chaos-interactive...s_v105.zip Nun hätte ich noch eine Frage. Auf dem Desktop hat man ja Icons (sprich Verknüpfungen). Wie kann ich die Position dieser Icons bestimmen. Und wie kann ich sie ansprechen. (Das Ansprechen alleine wäre ja kein Problem, dafür gibt es ja die API befehle) Jedoch brauche ich ein Icon-Handle um die Icons zu löschen, bearbeiten, deren Position zu bestimmen (auf dem desktop). Das Problem dabei ist, woher krieg ich dieses Handle (hicon)? |
||
![]() |
Hip Teen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es gibt eine imo geschicktere Lösung als in den DesktopBuffer zu zeichnen.
Ich hab mal eine Funktion geschrieben, mit der man eine Farbe transparent setzen kann bei einem Fenster. Man erstelle also, wie in dem dortigen Beispiel, ein Fenster ohne Titelleiste und allem (also dem Flag 0) und ruft die Funktion mit einem Bild, das man gerne dort sehen möchte auf dem Desktop, auf, außerdem stellt man die richtige Transparenz farbe ein. Fertig. Da brauch man auch nicht ständig zeichnen oder sowas machen, man kann das Fenster lustig auf dem Bildschirm bewegen und sogar so einstellen, dass es über allen anderen Fenstern prangt. |
||
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger" |
Deforation |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey danke für die Funktion. Sobald ich dazu komme werde ich es gleich mal ausprobieren. ![]() ![]() |
||
Deforation |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Zusammen.
Wens jemanden Interessiert, ein Link mit dem Code zum Speichern und Laden der Positionen der Desktop Icons. (Code ist von Delphi) http://www.swissdelphicenter.c...hp?id=1897 oder gleich das Programm mit dem Sourcecode: http://www.michael-puff.de/Pro.../index.php |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group