Just a couple things...I REM'd out the first two lines to prevent the black console box from popping up for a second. If you are using Kix32.exe and not WKix32.exe then you may want the un-REM those lines.
I also change the $Form.Visable to $Form.Visible and moved both the $Form.Visible and $Form.Show down after the form is completed. This will prevent half of the form from showing while the other half is still loading.
Code:
;SETCONSOLE("HIDE")
;CLS
if @inwin = "1"
shell "%COMSPEC% /c %WINDIR%\System32\Regsvr32 /s %WINDIR%\SYSTEM\KiXFORMS.dll"
else
shell "%COMSPEC% /c %WINDIR%\System\Regsvr32 /s %WINDIR%\SYSTEM\KiXFORMS.dll"
endif
break on
$Form = createobject("KiXtart.Form")
$Form.Size = 400,200
$Form.Center
$Form.Caption="Christmas Message"
$Form.BackColor = 255,0,0
$Form.Fontsize = 8
$Form.Fontbold = 1
$Multi = $Form.TextBox("",55,30,190,100)
$Multi.MultiLine = True
$Multi.Scrollbars = 0
$Multi.ForeColor = 25,115,9
$Multi.caption = "Hi, " + @fullname + "." + @crlf + @crlf
+ "The ICT department wish you a " + @crlf + "very Merry Christmas and a " + @crlf
+ "Happy New Year! :-)" + @crlf
$Image = $Form.Image("\\tom\netlogon\santa.bmp",270,30,60,67)
$ExitButton = $Form.Controls.ToolButton("Exit",150,$Multi.Bottom+5)
$ExitButton.ForeColor = 25,115,9
$ExitButton.OnClick = "Quit()"
Play File "\\harry\netlogon\chris.wav"
$Form.Visible = 1
$Form.Show
While $Form.Visible
$=Execute($Form.DoEvents())
Loop
Exit 1