ledzepe
(Fresh Scripter)
2006-03-07 10:56 PM
Text on desktop

Hi everyone,
This may not be for this forum however my boss, during one of his visit in other offices, saw a sort of splash page that displayed like the list of activity for the day. Then the list became part of the desktop. Even if you change the background, the list stayed on the desktop.


NTDOCAdministrator
(KiX Master)
2006-03-07 11:10 PM
Re: Text on desktop

That's cool, did you have a question?

ledzepe
(Fresh Scripter)
2006-03-07 11:26 PM
Re: Text on desktop

I'm still on vacation mode...

Can we do that or at least emulate the functinality using Kix?


NTDOCAdministrator
(KiX Master)
2006-03-07 11:32 PM
Re: Text on desktop

Not that I know of. I'd have to see or know what program it was that did it.

BGINFO from Sysinternals is one method of putting data on the desktop, but if the user changes the desktop then it will go away as it is only a bitmap.

The only way I could think of would be to use Active Desktop and do something with that.

But I've not seen anything like that myself. Do you know what it is or have a link to the program?


Glenn BarnasAdministrator
(KiX Supporter)
2006-03-08 04:32 AM
Re: Text on desktop

I've used Kix + BGInfo to continually update desktop info, particularly on a performance testing machine where the ip settings were changed every few minutes. I'll see if I can locate the code and post it.

Glenn


NTDOCAdministrator
(KiX Master)
2006-03-08 05:18 AM
Re: Text on desktop

That shouldn't be too hard Glenn, but he describes what would sound more like a 3d object like from Object Dekstop
http://www.stardock.com/products/odnt/

BGInfo will replace the desktop as it's a .BMP file. But as he describes a user can change his/her background and their desktop image would still remain. With BGINFO it would not, it would be overwritten.


JochenAdministrator
(KiX Supporter)
2006-03-08 08:22 AM
Re: Text on desktop

Well, I could see a kixforms script that emulates this ... if only the richtextbox would be more developed and the whole thing could be made entirely transparent

Mart
(KiX Supporter)
2006-03-08 09:40 AM
Re: Text on desktop

That would be sweet
Shawn?????


Benny69
(MM club member)
2006-03-08 02:11 PM
Re: Text on desktop

I agree with Jochen, i think that KiXforms could do this.
when you say activity could you elaborate, it would influence how a transparent form might be constructed.



Benny69
(MM club member)
2006-03-09 06:17 AM
Re: Text on desktop

Thanks to Shawn for modifying KiXforms.Net and both Shawn and NTDoc for giving good ideas and testing with me.

the transparent ability will only work on Win2k and up.

you will need MS.Net Framework 1.1 installed
you will need to get the latest KiXforms.Net.

this script will stay as a moveable form for 3 sec, then fade to the desktop.

minimize all other windows to see it after it goes transparent.

to move it, right click on the text and select 'Move Form'.
move the form where you want it then click the "OK' button to make it transparent again.

to close it, right click on the text and select 'Exit'.

try this script it ought to give you a good start:
Code:

Break On
$System = CreateObject("Kixforms.System")
If Not $System
$nul= MessageBox("KiXforms.Net Not Initiated. This Script Will Now Close.","Error",16)
Quit()
EndIf
$nul = $System.Application.EnableVisualStyles

$Form1 = $System.Form()
$Form1.StartPosition = 1 ;FormStartPosition_CenterScreen
$Form1.Size = $System.Size(500,200) ;(Width,Height)
$Form1.ShowInTaskBar = 0
$Form1.Text = "Transparent Form"
$FormColor = $Form1.TransparencyKey

$ContextMenu = $System.ContextMenu()
$ExitMenu = $ContextMenu.MenuItems.Add($System.MenuItem("Exit"))
$ExitMenu.Click = "ExitForm()"
$MoveMenu = $ContextMenu.MenuItems.Add($System.MenuItem("Move Form"))
$MoveMenu.Click = "MoveForm()"
$Form1.ContextMenu = $ContextMenu

$Label1 = $System.Label()
$Label1.BackColor = $System.Color.FromArgb("0,255,255,255")
;$Label1.ForeColor = $System.Color.FromName("White")
$Label1.Dock = 1 ;Top
$Label1.Font = $System.Font("Microsoft Sans Serif",24,0) ;Regular
$Label1.Height = 35
$Label1.TextAlign = 32 ;MiddleCenter
$nul = $Form1.Controls.Add($Label1)

$Label2 = $System.Label()
$Label2.BackColor = $System.Color.FromArgb("0,255,255,255")
;$Label2.ForeColor = $System.Color.FromName("White")
$Label2.Dock = 1 ;Top
$Label2.Font = $System.Font("Microsoft Sans Serif",24,0) ;Regular
$Label2.Height = 35
$Label2.TextAlign = 16 ;MiddleLeft
$nul = $Form1.Controls.Add($Label2)

$Label3 = $System.Label()
$Label3.BackColor = $System.Color.FromArgb("0,255,255,255")
;$Label3.ForeColor = $System.Color.FromName("White")
$Label3.Dock = 1 ;Top
$Label3.Font = $System.Font("Microsoft Sans Serif",24,0) ;Regular
$Label3.Height = 35
$Label3.TextAlign = 16 ;MiddleLeft
$nul = $Form1.Controls.Add($Label3)

$Label4 = $System.Label()
$Label4.BackColor = $System.Color.FromArgb("0,255,255,255")
;$Label4.ForeColor = $System.Color.FromName("White")
$Label4.Dock = 1 ;Top
$Label4.Font = $System.Font("Microsoft Sans Serif",24,0) ;Regular
$Label4.Height = 35
$Label4.TextAlign = 16 ;MiddleLeft
$nul = $Form1.Controls.Add($Label4)

$Button1 = $System.Button()
$Button1.BackColor = $System.Color.FromName("ActiveCaptionText")
$Button1.Click = "Accept()"
$Button1.Dock = 2 ;Bottom
$Button1.FlatStyle = 3 ;System
$Button1.Text = "OK"
$Button1.Top = 124
$Button1.Visible = 0
$nul = $Form1.Controls.Add($Button1)

$Label4.Text = "UserID : "+@USERID
$Label3.Text = "HostName : "+@WKSTA
$Label2.Text = "IPAddress0 :"+@IPADDRESS0

$Form1.AcceptButton = $Button1
$Form1.Show ;Displays the Form

DisplayDelay()

While $Form1.Visible
$Nul = Execute($Form1.DoEvents())
Loop
Exit 0

Function DisplayDelay()

$Label1.Text = "3"
Sleep 1
$Label1.Text = "2"
Sleep 1
$Label1.Text = "1"
Sleep 1
$Label1.Text = ""
$Form1.BackColor = $System.Color.FromArgb("0,255,255,255")
$Form1.TransparencyKey = $Form1.BackColor
$Form1.FormBorderStyle = 0 ;FormBorderStyle_None
$Form1.SendToBack
$Label2.ForeColor = $System.Color.FromName("White")
$Label3.ForeColor = $System.Color.FromName("White")
$Label4.ForeColor = $System.Color.FromName("White")
$=SetFocus("Program Manager")
$=SendKeys("{F5}")

EndFunction

Function Accept()

$Form1.BackColor = $System.Color.FromArgb("0,255,255,255")
$Form1.TransparencyKey = $Form1.BackColor
$Form1.FormBorderStyle = 0 ;FormBorderStyle_None
$Button1.Visible = 0
$Form1.SendToBack
$Label2.ForeColor = $System.Color.FromName("White")
$Label3.ForeColor = $System.Color.FromName("White")
$Label4.ForeColor = $System.Color.FromName("White")
$=SetFocus("Program Manager")
$=SendKeys("{F5}")

EndFunction

Function MoveForm()

$Form1.BackColor = $System.Color.FromName("Control")
$Form1.TransparencyKey = $FormColor
$Form1.FormBorderStyle = 1
$Button1.Visible = -1
$Form1.BringToFrount
$Label2.ForeColor = $System.Color.FromName("Black")
$Label3.ForeColor = $System.Color.FromName("Black")
$Label4.ForeColor = $System.Color.FromName("Black")
$=SetFocus("Program Manager")
$=SendKeys("{F5}")

EndFunction

Function ExitForm()
Quit()
EndFunction



NTDOCAdministrator
(KiX Master)
2006-03-09 06:27 AM
Re: Text on desktop

Just tried your latest demo there Benny.

That one works better than the last one I tried. Might actually be kind slick to use with a little more tweaking.

Thanks for taking the time to work on this.


AllenAdministrator
(KiX Supporter)
2006-03-09 06:39 AM
Re: Text on desktop

Benny this is pretty slick.

I noticed that it was leaving a "Shadow" or a "trace" of the original window when I moved it. Added two lines to your function and that cleared it up.

Code:
 
Function Accept()

$Form1.BackColor = $System.Color.FromArgb("0,255,255,255")
$Form1.TransparencyKey = $Form1.BackColor
$Form1.FormBorderStyle = 0 ;FormBorderStyle_None
$Button1.Visible = 0
$Form1.SendToBack
$=SetFocus("Program Manager")
$=SendKeys("{F5}")
EndFunction





NTDOCAdministrator
(KiX Master)
2006-03-09 07:41 AM
Re: Text on desktop

ah! - you must have a cheap video card and / or driver Al

Yeah, we discussed that actually and knew that for some it might cause an issue.


AllenAdministrator
(KiX Supporter)
2006-03-09 07:46 AM
Re: Text on desktop

Say What! What you talknbout? LOL.

Well...its a Radeon 9600XT... its not new anymore but it sure wasn't cheap when I bought it. Dang... can't have you busting on my computer... I haven't updated the drivers lately... but still... they have to be pretty recent.

{edit... Latest Drivers and it still does it.}


NTDOCAdministrator
(KiX Master)
2006-03-09 08:35 AM
Re: Text on desktop

Wasn't meaning to bust your chops Al, but Benny and I worked on this with Radeon X1900 Series cards.

But hey I thought Benny or Shawn was already going to put in a refresh, but I guess they forgot about it in the end after the MSN discussions.
 


NTDOCAdministrator
(KiX Master)
2006-03-09 08:39 AM
Re: Text on desktop

Maybe you need a new video card update Al?

http://www.ati.com/products/crossfirexpress3200/index.html

Haven't got one of these yet, but looks good.
 


Björn
(Korg Regular)
2006-03-09 09:10 AM
Re: Text on desktop

How about using active desktop and a html-page?

Richard H.Administrator
(KiX Supporter)
2006-03-09 10:35 AM
Re: Text on desktop

Quote:

How about using active desktop and a html-page?




It's an option, and Doc mentioned it early on in this thread.

The difficulty with Active Desktop is that in my experience it is usually disabled in the corporate environment because of the problems it causes.


Benny69
(MM club member)
2006-03-09 01:38 PM
Re: Text on desktop

Allen your 'desktop refresh' works pretty slick, thanks

Benny69
(MM club member)
2006-03-09 01:54 PM
Re: Text on desktop

I have modified the code in the earlier post to reflect Allen's suggestion,
in addition i have modified it so that after the form goes transparent, the Font goes white.
black didn't look that good on my desktop.


kirkside
(Getting the hang of it)
2006-03-13 02:58 PM
Re: Text on desktop

The background doesn't go transparent when I run this (bennys script), it goes a kind of brown colour. Can you advise me on what I am probably do wrong please?

Benny69
(MM club member)
2006-03-13 03:08 PM
Re: Text on desktop

as i said in my code post:
Quote:

you will need to get the latest KiXforms.Net.






NTDOCAdministrator
(KiX Master)
2006-03-13 07:01 PM
Re: Text on desktop

Quote:

Allen your 'desktop refresh' works pretty slick, thanks





Hmmm... I thought I had tried the updated code by you and Allen, but it appears I was using a cached older version from our MSN sharing Benny.

Just copied / pasted the current code you have posted here with the updates from Allen

$=SetFocus("Program Manager")
$=SendKeys("{F5}")


But the form is no longer working correctly period.
The image ghost does now happen on my work system but the refresh does not remove it.
In fact the code with the white lettering doesn't even show up on my screen until I do some other window interaction items, as though once it's lost focus the timer stops or something.


Benny69
(MM club member)
2006-03-13 07:10 PM
Re: Text on desktop

and what happens if you rem out those two lines?

NTDOCAdministrator
(KiX Master)
2006-03-13 07:17 PM
Re: Text on desktop

weird, no change. The form doesn't go to transparent white until I click another window with the mouse.

Benny69
(MM club member)
2006-03-13 07:20 PM
Re: Text on desktop

hmmm, Shawn what do you think?

Björn
(Korg Regular)
2006-03-15 11:57 AM
Re: Text on desktop

Quote:

Quote:

How about using active desktop and a html-page?




It's an option, and Doc mentioned it early on in this thread.

The difficulty with Active Desktop is that in my experience it is usually disabled in the corporate environment because of the problems it causes.




That's indeed correct. I haven't seen it enabled for any of our customers.
And I missed that it had been mentioned earlier.

Tho - the concept of having that kind of 'background' is kind of smart
(but, I still love my post-its.. what would my desk be without 'em? =).


Brainstormer
(Fresh Scripter)
2008-04-23 03:57 PM
Re: Text on desktop

Take a look at Rainlendar utility, I think that may do it, even though it's not kix related.