[Windows Mobile Development and Hacking General] kaneelias:
this is the script i use, just copy it to notepad and save as .mscr

# Get the path to the files needed

wpPath = RegRead( "HKCU", "\Software\MarsWare\WeatherPanel", "ProgramPath" )
script = SystemPath("ScriptPath") & "\" & SystemPath("ScriptName") & SystemPath("ScriptExt")
logfile = SystemPath("ScriptPath") & "\" & "Current Weather Log.TXT"
#
#
#Choose Cities by location code here#

#City_1

#first city 8:00 to 18:00
city1 = "ASXX0075"

#City_2
#second city 18:00 to 8:00
city2 = "ASXX0040"
#
#
GetTime(hour,min,sec,day,month,year)

If ( hour > 8 AND hour <18 )
location_code = city1
else
location_code = city2
EndIf
#
#
currlweather = RegRead("HKCU", "\Software\A_C\S2U2\", "UserWeather")
weather = ""

# how often to try and get the weather
delayminutes = 15

##
today = ( day & "/" & month & "/" & year )
##
Runtime = "Updated: " & day & "/" & month & "/" & year & " - " & hour & ":" & min & "^NL^"

##
#message( runtime , "" )
##

#WriteFile (logfile, %runtime% , TRUE)

# set up for next notification
utime = TimeStamp() + (delayminutes*60)

# kill existing notifications for script
RemoveNotifications(script)
# set notification for for next run
RunAt( utime, script)

hourlyfile = wpPath\"data\" & location_code & "-hourly"
currentfile = wpPath\"data\" & location_code & "-current"
forecastfile = wpPath\"data\" & location_code & "-forecast"

#Find High / Low temps
forecastdata = ReadFile(forecastfile)

for line = 1 to 170
segment[line] = Part( forecastdata, "^NL^", line )
Next

for count=0 to 9

If (count=0)
ind=1

Else

ind=((count*17)+1)
EndIf

day_no=((segment[ind]-25569)*86400)
daystring = Format( day_no, 6)

Day_no=FormatTime( "d/m/Y", daystring)
if (day_no eq today)
maxtempf = segment[ ind + 1 ]
mintempf = segment[ ind + 2 ]
maxtemp=((maxtempf-32)*5)/9
mintemp=((mintempf-32)*5)/9

# message( day_no , count)
# message( maxtemp, mintemp )

EndIf

next

##
#Find current location

find_location = ReadFile( currentfile )
location_length = find( find_location , "," )
location_name = substr( find_location , 1 , ( location_length - 1 ) )

endofcurrenthour = FormatTime( "d/m/Y H", (timestamp() + 3600))

##Check last update time

currentdata = ReadFile( currentfile )
Updatetime = ((SubStr( currentdata, 27, 12 )-25569)*86400)

updatetimestring = Format( updatetime, 0)

onehourago = ( timestamp() - 3600 )
If ( onehourago Lt updatetimestring )

filedata = ReadFile( currentfile )

for line = 1 to 17
segment[line] = Part( filedata, "^NL^", line )
Next
feeltempf = segment[ 4 ]
code = segment[ 7 ]
summary = segment[ 8 ]

feeltemp=((feeltempf-32)*5)/9

display1 = " Feels: "& feeltemp&"°"
display2 = " " & summary & " - Feels: "& feeltemp & "°"
display3 = " " & location_name & ": " & summary & " - Feels: " & feeltemp & "°"
display4 = " " & location_name & ": " & summary & " - High: " & maxtemp & "°" & " - Feels: "& feeltemp & "°"
display5 = " " & location_name & ": " & "High: " & maxtemp & "°" & " - Feels: " & feeltemp & "°"
display6 = " " & summary & " - High: " & maxtemp & "°" & " - Feels: "& feeltemp & "°"
display7 = " High: " & maxtemp & "°" & " - Feels: "& feeltemp & "°"

Else

filedata = ReadFile( hourlyfile )

for line = 1 to 239
segment[line] = Part( filedata, "^NL^", line )
Next

for count=0 to 22

If (count=0)
ind=1

Else

ind=((count*10)+1)
EndIf

convertdate=((segment[ind]-25569)*86400)
datestring = Format( convertdate, 6)

Day=FormatTime( "d/m/Y", datestring)
Hour=FormatTime( "H", datestring)
Min=FormatTime( "i", datestring)

if (Min <> 00)
Min = "00"
Hour = (Hour + 1)
If (Length(Hour)<>2
Hour = ("0" & Hour)
EndIf
EndIf

periodtime =(Day & " " & Hour )

If (endofcurrenthour eq periodtime)

feeltempf = segment[ind + 2 ]
code = segment[ind + 3 ]
summary = segment[ind + 4 ]

feeltemp=((feeltempf-32)*5)/9

display1 = " Feels: "& feeltemp&"°"
display2 = " " & summary & " - Feels: "& feeltemp & "°"
display3 = " " & location_name & ": " & summary & " - Feels: " & feeltemp & "°"
display4 = " " & location_name & ": " & summary & " - High: " & maxtemp & "°" & " - Feels: "& feeltemp & "°"
display5 = " " & location_name & ": " & "High: " & maxtemp & "°" & " - Feels: " & feeltemp & "°"
display6 = " " & summary & " - High: " & maxtemp & "°" & " - Feels: "& feeltemp & "°"
display7 = " High: " & maxtemp & "°" & " - Feels: "& feeltemp & "°"

EndIf

next

EndIf

##
#Choose what to display: see examples below
#
#display1 = " Feels: 21°"
#display2 = " Sunny - Feels: 21°"
#display3 = " London: Sunny - Feels: 21°"
#display4 = " London: Sunny - High: 26° - Feels: 21°"
#display5 = " London: - High: 26° - Feels: 21°"
#display6 = " Sunny - High: 26° - Feels: 21°"
#display7 = " High: 26° - Feels: 21°"
##
##change to display1 through display7 below as required##

weather="C|"&code&"|"&display6

if (curweather ne weather)
RegWriteString("HKCU", "\Software\A_C\S2U2\", "UserWeather", weather)
Run("\Program Files\S2U2\iLock2.exe","-refresh")
endif

I use it to display two lots of weather at different times, however i know not all this code is necessary i am not sure which part at the end to use to refresh ilock.exe, if you keep you weather settings normal it should work fine

you could also try this one

http://xdaforums.com/showpost.php?p=1880307&postcount=1471