Vi skapar en gadget för Windows 7. Vi skriver en Windows Sidebar-gadget från grunden


Nyligen behövde jag skapa en gadget för Windows sidofält. Jag hade inga kunskaper i detta, så efter att ha googlat lite och läst dokumentationen, låt oss sätta igång.

Jag ska visa dig vad jag slutade med direkt.


Gadgeten kommer att få information från webbplatsen i xml-formulär, analysera och faktiskt visa. Gadgeten kommer också att leta efter nya versioner, och om de finns, vägra att fungera :)
Från början ville jag, för att skaffa erfarenhet, skriva en gadget helt i VBScript (eftersom jag inte hade tagit itu med det ännu), men till slut var jag tvungen att göra inlägg i JavaScript.
Låt oss gå direkt till koden. Jag kommer inte att granska hela koden här, jag kommer bara att visa huvudpunkterna. Länken till den färdiga gadgeten finns i slutet av artikeln.
Huvudfilen för en gadget är dess manifest – filen Gadget.xml. Den borde heta precis så och placerad i roten av vårt arkiv (prylen är inget annat än ZIP-arkiv med tillägget .gadget).

Väder från Info.Denms.Ru 1.0.1232 Full Weather Widget (Info.Denms.Ru)

Låt oss titta på det mer i detalj.
Elementet måste innehålla en apiVersion lika med 1.0.0 (at det här ögonblicket), och src-attribut, vilket indikerar huvudfil vår pryl;
Behörigheter för gadgeten. Ställ lika med fullt;
Minsta version av Windows Sidebar. För närvarande – 1,0;
Parametrar - gadgetnamn, - version, - information om författaren, - länk till sidan med gadgeten, - gadgetikon och kommer att visas på panelen med installerade prylar.

Main.html-filen är en vanlig html-fil, jag kommer inte att lista den i sin helhet, jag kommer bara att uppehålla mig vid några punkter.
Elementet g:bakgrund används för att ställa in bakgrunden för gadgeten. Låt oss göra det transparent.

Gadgeten kan vara i två lägen – dockad (till vänster på skärmen ovan) och ur dockad (till höger). Vi kommer att lagra det aktuella tillståndet för gadgeten i JavaScript-variabel dockad.

Vi kommer att behöva isDocked wrapper-funktionen i framtiden för att ta reda på det aktuella tillståndet för gadgeten från VBScript (oavsett hur mycket jag försökte, jag kunde inte implementera detta i rent VBScript). En anmärkning till - skripten fungerar korrekt i denna ordning, d.v.s. Först beskriver vi VBScript-skript, sedan JavaScript.

De återstående elementen i main.html presenteras DIV-element med absolut positionering. Därefter kommer vi från skript att komma åt dem med deras id.

MED använder JavaScript låt oss ställa in dockade och avdockade tillstånd för gadgeten och även specificera inställningsfilen (main.js)

System.Gadget.onDock = ändra storlek; System.Gadget.onUndock = ändra storlek; System.Gadget.settingsUI = "settings.html"; System.Gadget.onSettingsClosed = SettingsClosed; dockad=0; //initialtillstånd för gadgeten resize(); //initiering

Som du kan se från listan ovan, när gadgetens tillstånd ändras, kommer resize()-funktionen att anropas.

Funktion resize() ( bd = document.body.style; System.Gadget.beginTransition(); if (System.Gadget.dockade) ( // small state bd.width=148; // ställ in gadgetstorleken bd.height= 201 ; dockad = 1; bd.background="url(images/gadget.png) no-repeat"; det odockade tillståndet document.getElementById("small_needupdate ").innerHTML = document.getElementById("big_needupdate").innerHTML document.getElementById("big_needupdate").innerHTML = "" //... ) else ( // big state bd.width=230; bd.background="url(images/gadgeth.png) no-repeat"; state document.getElementById("big_needupdate"). innerHTML = document.getElementById("small_needupdate").innerHTML; .Gadget.TransitionType.morph,1); )

Du kan också beskriva funktionen för att spara inställningar. Min gadget har inte dem, men som ett exempel ska jag visa dig hur det går till.

FunktionsinställningarClosed(event) ( if (event.closeAction == event.Action.commit) ( //alert System.Gadget.Settings.readString("test"); ) )

ReadString – läser en tidigare sparad sträng, writeString respektive skriver.
Metoder System.Gadget.beginTransition(); och System.Gadget.endTransition(); behövs för "smidig" storleksändring av gadgeten. De ignoreras i Windows Seven, men jag lämnade dem fortfarande för bakåtkompatibilitet.

Som nämnts ovan ger servern oss väderinformation i xml-format.

1,7 41 molnigt snö 87 Sydväst 5 -3 -1 -1 26 1 -9 41 0 …

Vi kommer att ladda ner och analysera xml med VBScript.

Sub DownloadXML2 Set objXML = CreateObject("Microsoft.XmlHttp") objXML.Open "GET", "http://info.kovonet.ru/weather.xml", True objXML.OnReadyStateChange = GetRef("objXML_onreadystatechange") objXML_onreadystatechange) objXMLaderRequest "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" objXML.Send iTimeoutID = window.SetTimeout("mySleep", 1000) End Sub

MySleep-funktionen kommer att kontrollera vår anslutning för en timeout.

Sub mySleep if bRespReceived = "false" sedan "svar ännu inte mottaget iTimeout = iTimeout + 1 if (iTimeout > 30) sedan "timeout timerFirstRun = window.SetTimeout("Uppdatera", 60000) "försök att uppdatera om en minut annars "timeout ännu inte uppnått, fortsätt att räkna sekunder iTimeoutID = window.SetTimeout("mySleep", 1000) end if end if End Sub

Om nedladdningen lyckas kommer objXML.readyState att vara lika med fyra och status (objXML.status) returnerar värdet 200.

Funktion objXML_onreadystatechange() If (objXML.readyState = 4) Then "msgbox objXML.statusText If (objXML.status = 200) Then bRespReceived=true SaveFile(objXML.responseText) else timer.FirstRun fönster"0FirstRun =0Försttid0)6 försök att uppdatera igen om en minut End If End If End-funktionen

Spara i så fall filen i en tillfällig Windows-mapp

Funktion SaveFile(what) Set fso = CreateObject("Scripting.FileSystemObject") tempFolder = fso.GetSpecialFolder(2) filepath = tempFolder+"\weather.xml" Dim fso1, tf Set fso1 = CreateObject("Scripting.FileSystemOb") = fso1.CreateTextFile(filsökväg, True, True) "rewrite, unicode tf.Write(what) tf.Close ParseXML End Function

Och vi börjar analysera filen.

Sub ParseXML Set fso = CreateObject("Scripting.FileSystemObject") tempFolder = fso.GetSpecialFolder(2) filsökväg = tempFolder+"\weather.xml" Set xmlDoc = CreateObject("Msxml2.DOMDocument") xmlDoc.asyncD="false. load(filsökväg) "huvudnod - i vårt fall Set currNode = xmlDoc.documentElement "dagar i veckan - Set dayNode = currNode.firstChild While Not dayNode Is Node Set currNode = dayNode.firstChild While Not currNode Is Node if currNode.parentNode. getAttribute( "id") = "idag" sedan "idag om currNode.nodeName = "temp" sedan document.getElementById(prefix+"maintemp").innerHTML = currNode.childNodes(0).text+Chr(176) "visa återstående element Annars "inte idag, visa mer fint"... end If Set currNode = currNode.nextSibling Wend Set dayNode = dayNode.nextSibling Wend End Sub

Att leta efter nya versioner görs på exakt samma sätt.
Glöm inte att skapa en inställningsfil - settings.html, vars existens vi meddelade ovan.

inställningar

Det är allt, faktiskt. Jag skulle bli glad om min (första :)) artikel var användbar för någon.

Använda källor.

Nyligen behövde jag skapa en gadget för Windows Sidebar. Jag hade inga kunskaper i detta, så efter att ha googlat lite och läst dokumentationen, låt oss sätta igång.

Jag ska visa dig vad jag slutade med direkt.


Gadgeten kommer att ta emot information från webbplatsen i xml-form, analysera den och faktiskt visa den. Gadgeten kommer också att leta efter nya versioner, och om de finns, vägra att fungera :)
Från början ville jag, för att skaffa erfarenhet, skriva en gadget helt i VBScript (eftersom jag inte hade tagit itu med det ännu), men till slut var jag tvungen att göra inlägg i JavaScript.
Låt oss gå direkt till koden. Jag kommer inte att granska hela koden här, jag kommer bara att visa huvudpunkterna. Länken till den färdiga gadgeten finns i slutet av artikeln.
Huvudfilen för en gadget är dess manifest – filen Gadget.xml. Det ska heta precis så och placeras i roten av vårt arkiv (gadgeten är inget annat än ett ZIP-arkiv med .gadget-tillägget).

Väder från Info.Denms.Ru 1.0.1232 Full Weather Widget (Info.Denms.Ru)

Låt oss titta på det mer i detalj.
Elementet bör innehålla en apiVersion lika med 1.0.0 (för nu), samt ett src-attribut, som anger huvudfilen för vår gadget;
Behörigheter för gadgeten. Ställ lika med fullt;
Minsta version av Windows Sidebar. För närvarande – 1,0;
Parametrar - gadgetnamn, - version, - information om författaren, - länk till sidan med gadgeten, - gadgetikon och kommer att visas på panelen med installerade prylar.

Main.html-filen är en vanlig html-fil, jag kommer inte att lista den i sin helhet, jag kommer bara att uppehålla mig vid några punkter.
Elementet g:bakgrund används för att ställa in bakgrunden för gadgeten. Låt oss göra det transparent.

Gadgeten kan vara i två lägen – dockad (till vänster på skärmen ovan) och ur dockad (till höger). Vi kommer att lagra det aktuella tillståndet för gadgeten i den dockade JavaScript-variabeln.

Vi kommer att behöva isDocked wrapper-funktionen i framtiden för att ta reda på det aktuella tillståndet för gadgeten från VBScript (oavsett hur mycket jag försökte, jag kunde inte implementera detta i rent VBScript). En anmärkning till - skripten fungerar korrekt i denna ordning, d.v.s. Först beskriver vi VBScript-skript, sedan JavaScript.

De återstående elementen i main.html är absolut placerade DIV-element. Därefter kommer vi från skript att komma åt dem med deras id.

Med hjälp av JavaScript kommer vi att ställa in de dockade och avdockade tillstånden för gadgeten och även specificera inställningsfilen (main.js)

System.Gadget.onDock = ändra storlek; System.Gadget.onUndock = ändra storlek; System.Gadget.settingsUI = "settings.html"; System.Gadget.onSettingsClosed = SettingsClosed; dockad=0; //initialtillstånd för gadgeten resize(); //initiering

Som du kan se från listan ovan, när gadgetens tillstånd ändras, kommer resize()-funktionen att anropas.

Funktion resize() ( bd = document.body.style; System.Gadget.beginTransition(); if (System.Gadget.dockade) ( // small state bd.width=148; // ställ in gadgetstorleken bd.height= 201 ; dockad = 1; bd.background="url(images/gadget.png) no-repeat"; det odockade tillståndet document.getElementById("small_needupdate ").innerHTML = document.getElementById("big_needupdate").innerHTML document.getElementById("big_needupdate").innerHTML = "" //... ) else ( // big state bd.width=230; bd.background="url(images/gadgeth.png) no-repeat"; state document.getElementById("big_needupdate"). innerHTML = document.getElementById("small_needupdate").innerHTML; .Gadget.TransitionType.morph,1); )

Du kan också beskriva funktionen för att spara inställningar. Min gadget har inte dem, men som ett exempel ska jag visa dig hur det går till.

FunktionsinställningarClosed(event) ( if (event.closeAction == event.Action.commit) ( //alert System.Gadget.Settings.readString("test"); ) )

ReadString – läser en tidigare sparad sträng, writeString respektive skriver.
Metoder System.Gadget.beginTransition(); och System.Gadget.endTransition(); behövs för "smidig" storleksändring av gadgeten. De ignoreras i Windows Seven, men jag lämnade dem fortfarande för bakåtkompatibilitet.

Som nämnts ovan ger servern oss väderinformation i xml-format.

1,7 41 molnigt snö 87 Sydväst 5 -3 -1 -1 26 1 -9 41 0 …

Vi kommer att ladda ner och analysera xml med VBScript.

Sub DownloadXML2 Set objXML = CreateObject("Microsoft.XmlHttp") objXML.Open "GET", "http://info.kovonet.ru/weather.xml", True objXML.OnReadyStateChange = GetRef("objXML_onreadystatechange") objXML_onreadystatechange) objXMLaderRequest "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" objXML.Send iTimeoutID = window.SetTimeout("mySleep", 1000) End Sub

MySleep-funktionen kommer att kontrollera vår anslutning för en timeout.

Sub mySleep if bRespReceived = "false" sedan "svar ännu inte mottaget iTimeout = iTimeout + 1 if (iTimeout > 30) sedan "timeout timerFirstRun = window.SetTimeout("Uppdatera", 60000) "försök att uppdatera om en minut annars "timeout ännu inte uppnått, fortsätt att räkna sekunder iTimeoutID = window.SetTimeout("mySleep", 1000) end if end if End Sub

Om nedladdningen lyckas kommer objXML.readyState att vara lika med fyra och status (objXML.status) returnerar värdet 200.

Funktion objXML_onreadystatechange() If (objXML.readyState = 4) Then "msgbox objXML.statusText If (objXML.status = 200) Then bRespReceived=true SaveFile(objXML.responseText) else timer.FirstRun fönster"0FirstRun =0Försttid0)6 försök att uppdatera igen om en minut End If End If End-funktionen

Spara i så fall filen i en tillfällig Windows-mapp

Funktion SaveFile(what) Set fso = CreateObject("Scripting.FileSystemObject") tempFolder = fso.GetSpecialFolder(2) filepath = tempFolder+"\weather.xml" Dim fso1, tf Set fso1 = CreateObject("Scripting.FileSystemOb") = fso1.CreateTextFile(filsökväg, True, True) "rewrite, unicode tf.Write(what) tf.Close ParseXML End Function

Och vi börjar analysera filen.

Sub ParseXML Set fso = CreateObject("Scripting.FileSystemObject") tempFolder = fso.GetSpecialFolder(2) filsökväg = tempFolder+"\weather.xml" Set xmlDoc = CreateObject("Msxml2.DOMDocument") xmlDoc.asyncD="false. load(filsökväg) "huvudnod - i vårt fall Set currNode = xmlDoc.documentElement "dagar i veckan - Set dayNode = currNode.firstChild While Not dayNode Is Node Set currNode = dayNode.firstChild While Not currNode Is Node if currNode.parentNode. getAttribute( "id") = "idag" sedan "idag om currNode.nodeName = "temp" sedan document.getElementById(prefix+"maintemp").innerHTML = currNode.childNodes(0).text+Chr(176) "visa återstående element Annars "inte idag, visa mer fint"... end If Set currNode = currNode.nextSibling Wend Set dayNode = dayNode.nextSibling Wend End Sub

Att leta efter nya versioner görs på exakt samma sätt.
Glöm inte att skapa en inställningsfil - settings.html, vars existens vi meddelade ovan.

inställningar

Det är allt, faktiskt. Jag skulle bli glad om min (första :)) artikel var användbar för någon.

Använda källor.

28.12.2009 03:49

Prylar (miniapplikationer) är små program som visar en mängd information på skrivbordet i Windows 7.

Hur gadgets fungerar i Windows 7

En gadget, som en webbsida, består av grafiska bilder och filer skrivna i HTML, JavaScript och CSS. Därför, för att visa prylar, är det nödvändigt att minst en webbläsare är installerad på systemet. För att använda förinstallerade (standard) Windows 7-prylar måste du ha en webbläsare Internet Explorer. Vissa prylar (till exempel Weather) kräver en internetanslutning, medan andra prylar kan fungera offline (till exempel Klocka).

Installationsfilen för gadgeten är ett vanligt zip-arkiv med tillägget .gadget. För att en gadget ska visas på skrivbordet måste den vara installerad och igång.

För att installera widgeten, dubbelklicka installationspaket grej. Widgeten kommer sedan att läggas till din gadgetsamling, varifrån du kan lägga till den på skrivbordet.

Desktop-gadgets-samlingen är en panel som visar alla installerade gadgets. Den här panelen drivs av programmet sidebar.exe som finns i mappen %ProgramFiles%\Windows Sidebar.

För att öppna Desktop Gadget Collection, klicka Högerklicka musen på skrivbordet och i dök upp innehållsmeny välj Gadgets.

Lägga till prylar på skrivbordet

2. Dubbelklicka på en av de föreslagna gadgetarna.

Gadgetmeny

När du håller musen över en gadget visas en liten meny till höger om den.

Beroende på funktionerna i gadgeten kan den här menyn innehålla knappar Stäng (tar bort gadgeten från skrivbordet i Windows), Alternativ (visar ytterligare inställningar), Storlek, Flytta.

Ta bort en gadget

1. För att ta bort en gadget från samlingen, högerklicka på skrivbordet och välj Gadgets.

2. Högerklicka på widgeten du vill ta bort och välj Avinstallera.

Efter detta kommer widgeten inte längre att vara tillgänglig i Gadget Collection.

Återställer raderade prylar

Så här återställer du alla vanliga Windows 7-gadgets:

1. Öppna kontrollpanelen, ställ in vyn till "Kategori".

2. Klicka .

3. Klicka på i avsnittet Desktop Gadgets Återställa stationära prylar installerade av Windows.

För att återställa en borttagen widget från tredje part, installera den helt enkelt igen.

Slå på eller av prylar

Som standard är gadgetar aktiverade i Windows 7. Du kan inaktivera installation, visning och tillägg av widgets på skrivbordet med hjälp av Windows-funktioner på Kontrollpanelen och med Local Desktop Editor. gruppolicy(Endast Windows 7 Professional, Windows 7 Ultimate och Windows 7 Enterprise).

  • Slå på och av prylar med kontrollpanelen

1. Öppna Kontrollpanelen (vy med stora ikoner) > Program och funktioner.

2. Välj från den vänstra menyn Slå av eller på funktioner i Windows.

3. För att stänga av funktionen Gadgets, avmarkera kryssrutan Windows Gadgets Platform. För att aktivera Gadgets, markera den här kryssrutan.

4. Starta om datorn.

  • Aktivera eller inaktivera gadgets med hjälp av den lokala grupprincipredigeraren

1. Öppna Start-menyn, enter sökruta och tryck på Enter.

2. Utför den nödvändiga åtgärden:

  • För att inaktivera prylfunktionen för din konto, i den vänstra menyn i den lokala grupprincipredigeraren, öppna Policy" Lokal dator» > Användarkonfiguration > Administrativa mallar > Windows-komponenter> Desktop-prylar .
  • För att inaktivera gadgetfunktionen för alla användare på datorn, i den vänstra menyn i den lokala grupprincipredigeraren, öppna Lokal datorpolicy > Datorkonfiguration > Administrativa mallar > Windows-komponenter > Desktop Gadgets På höger sida av fönstret Local Group Policy Editor dubbelklickar du på alternativet Disable desktop gadgets.

3. Välj Aktivera och tryck på OK.

Om den här inställningen är aktiverad kommer skrivbordsgadgetar att inaktiveras. Om det här alternativet är inaktiverat eller inte specificerat, kommer skrivbordswidgetar att aktiveras.

4. Starta om datorn.

Skapa dina egna prylar för Windows

Om du är bekant med programmeringsspråk som HTML, JavaScript och CSS, kanske du vill kolla in Donavan Wests handledning för Windows Gadgets. Manualen har översatts till ryska. Även om den här guiden är inriktad på att skapa gadgets för Windows Vista, täcker den de allmänna principerna för att skapa widgets som är nödvändiga för att förstå processen.

1. Gadgets i Windows 7 kan fritt flyttas med vänster musknapp på skrivbordet. För att flytta widgetar närmare varandra, tryck och håll ned Skift-tangenten medan du flyttar gadgeten.

2. Så att prylen alltid visas ovanpå alla andra öppna fönster, högerklicka på den och välj Överst i andra fönster i snabbmenyn som visas.

3. Om du vill dölja alla aktiva prylar högerklickar du på skrivbordet i Windows 7, väljer Visa och avmarkerar Visa skrivbordsprylar. Markera den här rutan för att få gadgetar att visas igen.

4. För att flytta alla aktiva prylar till förgrunden, tryck på kombinationen Windows-tangenter+G.

5. För att justera genomskinligheten för en gadget, högerklicka på den och ställ in opacitetsnivån.

Förinstallerade Windows 7-prylar

Windows 7 kommer med nio förinstallerade prylar (miniapplikationer):

Denna gadget är en bekväm, anpassningsbar panel Windows start Mediacenter.

  • Valuta

När den är ansluten till Internet visar Valuta-gadgeten värdet på användarens valda valutor, enligt MSN Money-leverantörer. Totalt kan gadgeten visa från 2 till 4 valutor. Den här widgeten kräver en internetanslutning för att fungera.

För att lägga till valuta, klicka på + i det nedre högra hörnet av gadgeten. För att ta bort en valuta, för musen över den och till höger övre hörnet klicka på det röda krysset.

För att ändra en valuta, klicka på dess namn och välj önskad valuta från listan som visas.

  • Pussel

Gadget "Puzzle" är ett mosaikspel. En internetanslutning krävs inte för att gadgeten ska fungera.

För att se bilden du behöver samla, klicka på "?" överst i widgeten.

För att automatiskt sätta ihop eller blanda mosaiken, klicka på pilikonen i det övre högra hörnet av gadgeten.

Timern kan pausas genom att klicka på klockan i det övre vänstra hörnet av gadgeten.

För att ändra bilden högerklickar du på widgeten och väljer Alternativ.

  • Nyhetsrubriker på webbkanalen

Denna gadget låter dig se nyhetsrubriker från webbkanaler (RSS-flöden) utan att starta en webbläsare (dock krävs en internetanslutning). Gadgeten visar bara nyheter från de webbplatser vars RSS-flöden läggs till webbläsare Utforskare. För att visa eller ändra listan över RSS-flöden, öppna Internet Explorer > Favoriter > Fliken Kanaler.

Alla RSS-flöden som läggs till i Internet Explorer blir tillgängliga för visning i gadgeten Feed News Headlines. Du kan till exempel lägga till vårt webbflöde för att alltid veta när en ny artikel dyker upp på vår sida. För att göra detta, följ dessa steg:

1. Starta webbläsaren Internet Explorer.

2. Gå in adressfält adressen till vårt RSS-flöde: http://www.site/feed/ och tryck på Enter.

3. Klicka på Prenumerera på den här kanalen.

  • CPU-indikator

CPU Indicator-gadgeten visar belastningen på RAM (höger) och processor (vänster) i realtid. Den har inga ytterligare inställningar. En internetanslutning krävs inte för att widgeten ska fungera.

  • Kalender

Alternativ och använd knappen "..." för att ange önskad mapp.

Här kan du justera hastigheten för att byta bild och välja en av övergångseffekterna från en bild till en annan.

Som standard följer bilderna efter varandra i den ordning de sorteras i mappen. Sekvensen för att byta bilder i gadgeten kan ändras till slumpmässig genom att markera kryssrutan "Bilder i slumpmässig ordning".

Clock-gadgeten kan visa tiden i vilken tidszon som helst som operativsystemet känner till Windows-system. För att få klockgadgeten att visa en annan tid än standardtiden som valts i OS-inställningarna, högerklicka på widgeten och välj Alternativ. På sidan med gadgetinställningar väljer du önskad tidszon och klickar OK.

För att visa tiden i flera tidszoner på skrivbordet (som i Mission Control), starta klockgadgeten det antal gånger som krävs och konfigurera önskad tidszon i varje.

Även på inställningssidan kan du välja utseende gadget "Clock" och till och med tilldela ett namn till klockan som kommer att visas på ratten.

Ladda ner gadgets för Windows 7

Det finns många webbplatser på Internet som erbjuder gadgetnedladdningar. Eftersom Windows 7 är ett nytt operativsystem, är många av de prylar som är tillgängliga för nedladdning i skrivande stund skrivna för Windows Vista. De flesta av dem fungerar ganska bra under Windows 7, men deras funktionalitet kan ändras. Samtidigt kan prylar skrivna för Windows 7 vara inkompatibla med Vista.

När du laddar ner prylar från tredjepartsutvecklare bör du vara uppmärksam på bitdjupet och tillgängligheten. Prylar designade för 32-bitars Windows 7 kanske inte fungerar på 64-bitars Windows 7. Prylar utan digital signatur kanske inte installeras eller fungerar korrekt i Windows 7. Dessutom distribuerar skrupelfria utgivare virus och annan skadlig kod under sken av prylar. Därför rekommenderar vi starkt att du laddar ner prylar endast från betrodda webbplatser.

Windows 7 komponenter


Gadgets (Widgets) är en av de mest kontroversiella funktionerna i ett fönstersystem. Vissa användare installerar dem och föreställer sig inte ens hur de kan använda sin dator fullt ut utan deras hjälp. Andra vet inte ens vad det är och klarar sig ganska framgångsrikt. Finns det prylar för Windows 10, vad är de och hur man installerar dem. Vi kommer att diskutera svaret på dessa frågor i detalj senare i artikeln?

Varför försvann widgets från Windows 10?

Med ankomsten av första 8 och sedan den tionde versionen löstes det här problemet eftersom Microsoft beslutade att helt ta bort funktionen från systemet av några skäl:

  • Lika onödigt. En stor tonvikt i de nya systemen har lagts på livebrickor, som på vissa sätt fungerar på samma sätt som widgets. De visar användbar information, uppdateras i realtid och ser mer relevanta ut;
  • Av säkerhetsskäl. Här sa utvecklarna snarare utan någon särskild anledning. För det är svårt att föreställa sig att en så liten komponent i systemet som en widget i hög grad kan påverka säkerheten, och delar av dess kod kan användas av angripare. Även om detta kan ha påverkat prestandan. Du kan kontrollera detta genom att returnera funktionaliteten och .

Nu kan inte prylar för Windows 10 hittas på den officiella webbplatsen.

Det finns dock inga fler widgets och skälen anges. De flesta användare gick helt enkelt med och började använda brickorna, men det finns också de som inte vill beröva sig sådana bekväm möjlighet och undrade hur man installerar prylar på Windows 10. För deras skull försökte vi tredjepartsutvecklare, som har skapat programvara som kopierar widgetarnas funktionalitet så nära som möjligt och berättar hur du installerar prylar på skrivbordet i Windows 10.

Hur man installerar prylar på skrivbordet Windows bord 10 med 8GadgetPack-program
  • Mediacenter;
  • Movie Maker;
  • .NetFramework;
  • DirectX 9-versioner och mycket mer.

Det är troligt att du, genom att rota runt på Internet, kan hitta andra mindre kända lösningar, men är det nödvändigt att göra detta, med tanke på att de som beskrivs ovan låter dig returnera den funktionalitet som fanns i 7 och ännu mer.

Om du letar efter sätt att ta bort prylar på Windows 10, görs detta genom att lägga till dem i operativsystemet.

Guiden nedan är baserad på förhandsgranska versioner ny operativ system från Microsoft Corporation - Windows Vista. Detta innebär att vissa funktioner för att skapa gadgetar kan ändras eller kanske inte inkluderas i den slutliga produkten på grund av marknadsförings-, tekniska eller andra skäl. Vi kommer att göra allt för att uppdatera den här artikeln om sådana ändringar inträffar.

Kort introduktion till Microsoft-prylar
Windows Vista innehåller många nya funktioner, och en av de mest nödvändiga och mest efterlängtade är utan tvekan Windows Sidebar. Sidebar är ett område på skärmen som är reserverat specifikt för prylar på samma sätt som panelen tidigare gjordes Snabbstart- speciellt för viktiga genvägar. Prylar är miniprogram, de tar liten plats och kan varken göra mer eller mindre än vad skaparen implementerar i dem. Till exempel innehåller Windows Vista nu flera prylar: en liten miniräknare, ett program RSS-läsare band och ett par till. Det tar inte lång tid att förstå hur bekvämt det är att använda prylar.

Men låt oss vara ärliga: världen är fylld av saker som inte alla människor kan göra. Men med tillkomsten av prylar förändras situationen radikalt. Det är detta som gör prylar riktigt intressanta för oss: ny teknik utvecklades för människor som skriver manus. Missförstå oss inte: ja, prylar kan ha ett banbrytande gränssnitt och utföra en del mycket komplexa uppgifter, men de visar sig ändå inte vara något annat än HTML-sidor i miniatyr som innehåller lite VBScript-kod (inklusive WMI-kod) eller Javascript . Lite ansträngning och du kommer att göra din första gadget.

Att lära sig att utvecklas i vilket programmeringsspråk som helst är inte så svårt som det kan verka. Till exempel, i den här videon https://itvdn.com/ru/video/php_start kan du enkelt studera Grunderna i PHP och skriv sedan din första kod.

Låt oss börja skapa
Många människor har kritiserat Microsoft för det faktum att många av företagets produkter uppenbarligen var designade för att användas av robotar eller invånarna på planeten Omicron IV; i alla fall var de inte avsedda för mänskligt bruk. Nu har sådana uttryck ingen plats, eftersom Alla kan skapa prylar. Även om du plötsligt är en robot eller en invånare på planeten Omicron IV, kan du vara säker på att du enkelt kan skapa en gadget.

För att skapa en gadget behöver du bara två saker:

1) Manifestfil med namnet Gadget.xml. Den här filen innehåller alla inställningar för din enhet, inklusive gadgetnamn, författare och copyrightinformation, information om HTML-sida, som utgör själva koden för gadgeten.
2) HTML-fil (till exempel Test.htm). Prylar är egentligen inget annat än HTML-fil s. Du skapar helt enkelt en HTML-fil, lägger till lämpliga taggar och kod, så ser du gadgeten.
Ja, vi vet att du inte har någon aning om vad vi menar med "relevanta attribut och kod". Koppla av; detta är fokus för resten av artikeln.
Detta är det enda som krävs för att skapa en gadget. Men vi behöver också grafisk fil, till exempel icon.png. Detta kommer att vara logotypen för din gadget.

Från teori till praktik
1. Placera alla filer i gadget-mappen.
Observera: placera alla filer i mappen så får du en gadget. Ingen kompilering krävs, inga .95-kompilatorer, inget mer tråkigt eller tekniskt. Kopiera helt enkelt filerna till den angivna mappen.
Ifall du plötsligt vill skicka oss .95 så blir vi väldigt glada :).

Specialmapp för prylar
Låt oss först gå till mappen med förinstallerade prylar från Microsoft.
Tryck på Windows + R och i fönstret som visas anger du:

%userprofile %\appdata\local\microsoft\windows sidofält\gadgets

Obs: om du använder Windows Sidebar, portad till Windows XP från Windows Vista build 5342, laddad ner från webbplatsen anger du:

%programfiler%\Windows Sidebar\Gadgets

Fortfarande med oss? Bra. Därefter kommer den efterlängtade träningen/
Skapa i den här mappen ny mapp. Ge den här mappen valfritt namn, men se till att inkludera .gadget i slutet av namnet (till exempel Test.gadget). Uppenbarligen kommer det att vara bekvämare för dig om namnet på mappen har en viss likhet med gadgetens funktioner. Men operativsystemet använder helt enkelt den här mappen för att identifiera filerna som finns i den; Gadgetnamnet kommer att härledas från informationen som finns i filen gadget.xml, inte från mappnamnet.

Allt du behöver göra nu är att skapa filerna Gadget.xml och Test.htm i mappen. Det betyder att du nu har en Microsoft-gadget.

gadget.xml-fil
Denna fil är skriven i XML-språk, kan du omedelbart gissa detta på grund av .xml-tillägget. Faktum är att gadget.xml är en speciell manifestfil, men samtidigt enkel textfil, som innehåller gadgetkonfigurationen.
Här är gadget.xml-koden vi hänvisar till (använd den först):


Min första pryl
The Microsoft Scripting Guys
2006 Microsoft Corporation
Exempel på gadget som returnerar namnet på det installerade operativsystemet.

icon.png



html
full
test.htm


Innan du frågar mig, är det möjligt att bara kopiera den här filen och använda den i stort sett som den är - ja, bara göra de nödvändiga ändringarna i några taggar. (Och glöm inte, du måste namnge filen Gadget.xml.)
Det här är taggarna:


Namnet på gadgeten som visas i dialogrutan Lägg till prylar.


Namnet eller smeknamnet på personen som skrev gadgeten. Du kommer att se upphovsmannen, upphovsrätten och beskrivningen av gadgeten i fönstret Lägg till gadgets


Kort beskrivning av gadgeten (vad den gör, etc.).


Namn på bildfilen (gadgetlogotyp). För mer fullständig information Se Skapa en logotyp i nästa underavsnitt av detta dokument.


Förmodligen inte det mest intuitiva taggnamnet i världen, men det är namnet på HTML-filen som utgör din gadget.


Nåväl, inga kommentarer här. Webbplats för gadgetutvecklare.

För personer som ännu inte helt har förstått gadget.xml-koden, här är en fullständig rysk översättning av denna fil (när du skapar gadgets, använd endast filen gadget.xml på engelska språket):



Min första pryl
Microsoft-killarna
2006 Microsoft Corporation
Ett exempel på en gadget.xml-fil som returnerar namnet på det installerade operativsystemet.

icon.png



html
full
test.htm
www.microsoft.com/technet/scriptcenter

t;

html
full
test.htm
www.microsoft.com/technet/scriptcenter

Skapa en ikon
Naturligtvis är det upp till dig att bestämma vilken gadgetlogotyp som ska vara, men om du inte vill skapa en bild (i filen gadget.xml, fyll inte i taggen), så kommer Windows Sidebar att förse dig med en standardbild. Helt gratis.

Om du bestämmer dig för att göra en logotyp, kom ihåg att "ikonen" bara är ett namn, ges till filen med bild; dessa är inte sanna windows bilder, och grafiken som måste skapas med en speciell programvara(översättaren rekommenderar uppriktigt och med de bästa avsikterna att använda den underbara MSPAINT.EXE-applikationen, som ingår i Windows sammansättning sedan 1994 för att skapa en logotyp). Logotypen är endast en bildfil i GIF-, JPG- eller PNG-format. Alla logotyper för Microsoft-prylar som ingår i Sidebar är gjorda i PNG-format; detta beror förmodligen på att PNG-grafik tillåter transparens, vilket ger dig möjligheten att göra mycket vackra bilder. (Du kommer naturligtvis att ha den nödvändiga talangen.) Däremot kan du använda JPG-filer. De är betydligt mindre i storlek än PNG, men bestäm själv, eftersom... allt beror på den specifika situationen.
Bra fråga: vilken storlek ska din logotyp ha? Optimal storlek- 64x64 pixlar. Mer stora filer, till exempel kommer 128x128 att reduceras av Sidebar till storleken 64x64 med möjlig kvalitetsförlust.

Till exempel, här är ikonen vi använde:

Mark. Du kanske har märkt att taggen är kapslad inuti taggen i filen gadget.xml:


icon.png

Det betyder att du kan lägga till ytterligare bilder till filen gadget.xml, även om vi ärligt talat inte är säkra på vad du skulle använda de andra ytterligare bilderna till.

HTML-fil
HTML-filen som utgör själva gadgeten skiljer sig faktiskt inte från alla webbsidor som använder dynamisk HTML; för att skapa HTML, använd helt enkelt alla giltiga HTML-markeringar (inklusive CSS-stilar) plus skriptkod. Vi kommer att visa dig ett exempel på HTML-sida. Innan vi gör det, låt oss ta en snabb titt på WMI-koden.

Arbetar med WMI
Om du Systemadministratör, då är du van att skriva skript som använder WMI. Detta är förståeligt, trots allt är WMI en teknik som hjälper dig att hantera allt från skrivare, diskenheter till möss och bildskärmar. Att använda WMI är mycket bekvämt. Anta till exempel att du vill ta reda på namnet på operativsystemet som är installerat på din lokala dator. Inga problem; Här är WMI-koden som returnerar denna information åt dig:

StrComputer = "."

Ställ in objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")

För varje objekt i kolli
Msgbox objItem.Caption
Nästa

Om du planerar att skapa prylar för systemadministration, så har vi dåliga nyheter för dig: WMI-skripten som du är van vid att skriva kommer inte att fungera i prylar. (Vänta, gör inget drastiskt, vi kommer att försöka åtgärda det här problemet, vi lovar.) För i grunden är en gadget inget annat än en webbsida, och på grund av säkerhetsskäl kan webbsidor inte använd GetObject . Om du lägger in den tidigare koden i gadgeten kommer du att se detta felmeddelande:

ActiveX-komponenten kan inte skapa objekt: 'GetObject'

Hmm ja.
Men få inte panik. Du kan fortfarande använda WMI-kod i gadgeten; Du kan bara inte använda GetObject och winmgmts. Istället måste du använda CreateObject för att skapa ett WbemScripting.SWbemLocator-objekt och sedan använda ConnectServer-metoden för att ansluta till WMI-tjänsten. Med andra ord, detta är vad du bör skriva som ett resultat:

StrComputer = "."

Set colItems = objWMIService.ExecQuery("Välj * Från Win32_OperatingSystem")

För varje objekt i kolli
Msgbox objItem.Caption
Nästa

Kusten är klar? Som vi sa, det finns ingen anledning till panik. (Även om det, i all rättvisans namn, förmodligen var vårt fel att du först fick panik) / Den enda skillnaden är mellan ett skript som direkt använder WMI och ett skript som använder ConnectServer för att ansluta till WMI-tjänsten i anslutningen. Du är van vid att göra en anslutning som använder en enda kodrad:

Ställ in objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")

Nu måste du använda två rader kod för att göra anslutningen (ja, fördubbla din arbetsbelastning!) Du skapar ett WbemScripting.WbemLocator-objekt och använder ConnectServer-metoden för att kontakta WMI-tjänsten. Observera att vi skickar två parametrar till ConnectServer - det här är namnet på datorn som ska anslutas till, representerad av strComputer-variabeln och WMI-namnområdet vi vill ansluta till i det här fallet root\cimv2):

Ställ in objLocator = CreateObject("WbemScripting.SWbemLocator")
Ställ in objWMIService = objLocator.ConnectServer(strComputer, "root\cimv2")

Förstår du? Bra. Låt oss nu gå tillbaka till vårt planerade ämne.

Skapa en HTML-fil
Som vi redan har noterat är gadgeten bara en HTML-fil. Detta innebär att alla element, inklusive dynamiska, som du kan använda på HTML-sidan också kan användas i gadgeten. Eftersom du säkert redan har räknat ut att gadgeten även komponerar VBScript-kod; Även om de flesta av de tidiga prylarna på Microsoft Gadgets webbplats är gjorda i JavaScript, är det lättare att arbeta med VBScript i början än med Java Script.

Vi har redan visat dig WMI-koden som returnerar namnet på operativsystemet som är installerat på datorn; låt oss se om vi kan förvandla den koden till en gadget. Vi kommer att börja väldigt enkelt, skapa en enhet som består av en enda knapp, när vi klickar på den kommer vi att se namnet på operationssalen i en meddelanderuta. Här är HTML-koden för vår första gadget:


Min första pryl


body(width:120;height:160)

Sub RunSub
strComputer = "."

Ställ in objLocator = CreateObject("WbemScripting.SwbemLocator")
Ställ in objWMIService = objLocator.ConnectServer(strComputer, "root\cimv2")

Set colItems = objWMIService.ExecQuery("Välj * Från Win32_OperatingSystem")

För varje objekt i kolli
Msgbox objItem.Caption
Nästa
Avsluta Sub



Som du kan se är det inget komplicerat med den här koden; det är rudimentär HTML som inte gör så mycket mer än att visa en enda knapp på sidan. När knappen klickas exekveras subrutinen som heter RunSub; Denna rutin använder WMI för att fastställa namnet på operativsystemet som är installerat på datorn.

Mark. Okej, detta kanske är grundläggande HTML för vissa människor, men vad händer om du inte har något med HTML att göra? Läs sedan HTML-dokumentationen, tro mig, det är väldigt enkelt att lära sig HTML. Var särskilt uppmärksam på avsnitten som ägnas åt taggar och .

Den enda taggen vi behöver göra en speciell anteckning om är . När vi börjar skapa mer komplexa prylar kommer vi att diskutera taggen i detalj; för tillfället anger vi bara att vi använder denna tagg för att bilda höjden och bredden på vår gadget:


body(width:120;height:160)

Den här taggen säger helt enkelt att vi vill att vår gadget ska vara 120 pixlar bred (Windows Sidebar i sig är cirka 130 pixlar bred) och 160 pixlar hög. För just den här gadgeten blir 160 pixlar långa för mycket, så vi kan helt enkelt tilldela en anpassad längd, till exempel 50 pixlar:


body(width:120;height:50)

Håller med, den här gadgeten ser mycket bättre ut.

När du klickar på Kör-knappen visas ett fönster som talar om för oss versionen av operativsystemet!

Slappna av eller visa upp för dina vänner genom att berätta om din gadget.

Visar data i en tagg
Hittills har vi skapat en enkel pryl, och dessutom fungerar den bara när vi klickar på en knapp. Det är inget fel med detta, och det kommer sannolikt att finnas tillfällen då din gadget kommer att returnera så mycket information att den bara får plats i en meddelanderuta, Internet Explorer-fönster eller någon annan plats. Å andra sidan kommer du förr eller senare också att skapa en gadget där det inte är meningsfullt att visa information i ett meddelandefönster, och att klicka på en knapp är onödigt. Anta till exempel att du bestämmer dig för att skapa en klocka för Windows Sidebar. Föreställ dig att veta vad klockan är varje gång du trycker på en knapp, och samtidigt dyker klockan upp i en meddelanderuta. Visst älskar planeten Omicron IV sådana saker. Men folk tycker att det är lite tråkigt, för att inte tala om rent dumt.

Med andra ord behöver vi förmågan att skapa prylar som kan:
1) Visa data direkt inom gadgetens gränser.
2) Visa data automatiskt, utan att användaren behöver interagera med gadgeten.
3) Uppdatera information regelbundet. Till exempel en pryl som visar gratis Bagge dator (vi kommer att skapa en sådan gadget senare) måste hela tiden uppdatera information.

Det kommer inte att vara lätt att lista ut det direkt, så vi lär oss dessa färdigheter en i taget. Låt oss först titta på den första punkten med hjälp av en tagg - enkel och enkla vägen visa information direkt inom gadgetens gränser.

Här är en reviderad version av vår HTML-fil. I den här nya gadgeten klickar du fortfarande på knappen Kör för att anropa RunSub-rutinen, men den här gången visas inte operativsystemets namn i en meddelanderuta, utan inom gadgetens gränser.


Min första pryl

body(width:120;height:160)

Sub RunSub
strComputer = "."

Ställ in objLocator = CreateObject("WbemScripting.SwbemLocator")
Ställ in objWMIService = objLocator.ConnectServer(strComputer, "root\cimv2")

Set colItems = objWMIService.ExecQuery("Välj * Från Win32_OperatingSystem")

För varje objekt i kolli

Nästa
Avsluta Sub





Allt fungerar som vi ville. Häftigt!

Extra bonus: en förstklassig gadgetbakgrund
Låt oss prata mer om att skapa snygga prylar. Vi ska berätta några enkla metoder skapa en sådan pryl. Varför är detta nödvändigt? Gadgeten kommer att se original ut och du kommer att kunna sälja den för mer pengar :). Låt oss till exempel säga att du har en bild (låt oss kalla den background.jpg) som gör det bra bakgrund för en pryl. I det här fallet är allt du behöver göra att infoga följande rad i din HTML-fil efter taggen:

Denna kod tvingar filen background.jpg att användas som gadgetens bakgrund:
Se bara till att background.jpg sparas i din gadget-mapp.

Alternativ. Du kan skapa en gadget med en annan bakgrundsfärg; precis nu efter taggen infoga denna rad:

Kommer vi att få en pryl med en knallröd bakgrund? Hej, varför inte?

Slutligen kan du skapa en gradientbakgrund för din gadget genom att använda ett av Microsofts webbfilter. Här är vad vi kommer att ändra i stilen för denna gadget:
1) Låt oss göra teckensnittet vitt, närmare bestämt Arial 8pt.
2) Lägg till ett gradientfilter.

Här är den färdiga koden:


Min pryl

body(width:120;height:160;font:8 pt Arial;färg:vit;
filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=1, StartColorStr="#000000",
EndColorStr="#0000FF"))

Sub RunSub
strComputer = "."
Ställ in objLocator = CreateObject("WbemScripting.SwbemLocator")

Set colItems = objWMIService.ExecQuery("Välj * Från Win32_OperatingSystem")
För varje objekt i kolli
DataArea.InnerHTML = objItem.Caption
Nästa
Avsluta Sub



Det vi har är naturligtvis inget konstverk, men det ser bättre ut än en vit rektangel.

Skapa en gadget som visar data automatiskt
Att ha en gadget som visar information inom sina gränser snarare än i en meddelanderuta är verkligen bra. Men vi måste fortfarande klicka på knappen för att få informationen. Naturligtvis måste det finnas ett sätt att samla in information automatiskt och visa den direkt när gadgeten laddas.

Bråka inte, vänner, det finns verkligen ett sätt.
Tja, enligt den etablerade traditionen :) koden för vår gadget, som kommer att visa namnet på det installerade operativsystemet utan att klicka på knappen:


Min första pryl

body(width:120;height:160)

Sub Window_OnLoad
RunSub
Avsluta Sub

Sub RunSub
strComputer = "."

Ställ in objLocator = CreateObject("WbemScripting.SwbemLocator")
Ställ in objWMIService = objLocator.ConnectServer(strComputer, "root\cimv2")

Set colItems = objWMIService.ExecQuery("Välj * Från Win32_OperatingSystem")

För varje objekt i kolli
DataArea.InnerHTML = objItem.Caption
Nästa
Avsluta Sub



Det är lätt att se att den här koden är väldigt lik vår tidigare. I själva verket finns det bara två skillnader:
1) Vi har tagit bort knappen från gadgeten. Detta innebär att du inte längre behöver klicka på knappen (även om det inte finns något annat att klicka på).
2) Vi har lagt till subrutinen Window_OnLoad.

Många människor vet att rutinen Window_Onload som ingår i en webbsida är utformad för att kontrollera laddnings- eller uppdateringstiden för en webbsida. Denna subrutin fungerar på exakt samma sätt i vår gadget: den styr automatiskt tiden när den laddas. Vi skapar helt enkelt en subrutin som heter Window_OnLoad och placerar koden vi vill kontrollera nedan.

För just den här gadgeten ser vår Window_OnLoad-rutin ut så här:

Sub Window_OnLoad
RunSub
Avsluta Sub

Du kan se allt vi gör i den här subrutinen - den andra subrutinförfrågan: RunSub. Vi placerade vår WMI-kod i en separat rutin, även om det var möjligt att placera WMI-skriptet i rutinen Window_OnLoad. Så varför skapade vi en andra extra rutin? Det är enkelt: det här hjälper oss att enkelt gå vidare till att skapa nästa gadget.

Skapa en gadget som regelbundet uppdaterar information
En pryl måste vara användbar, annars, varför behövs den? Du kan implementera mycket i en pryl användbara funktioner. I kombination små storlekar kod och förmågan att använda grafik kan du skapa otrolig användbara verktyg för att övervaka ditt nätverk eller din dator. Vi kommer att göra en gadget som visar oss det fria RAM-minnet på datorn. Självklart blir det en pryl med ständigt uppdaterad information. Som ett resultat bör du få något liknande den här koden:


Min pryl

kropp(bredd:120;höjd:40")

Sub Window_Onload
GetMemory

Avsluta Sub

Sub GetMemory
Ställ in objLocator = CreateObject("WbemScripting.SwbemLocator")
Ställ in objWMIService = objLocator.ConnectServer(".", "root\cimv2")
Set colItems = objWMIService.ExecQuery("Välj * Från Win32_OperatingSystem")
För varje objekt i kolli

Nästa
Avsluta Sub



Innan vi diskuterar hur den här gadgeten fungerar, noterar vi att den inte visar namnet på operativsystemet som är installerat på datorn. Varför gjorde vi inte ett exempel på att definiera en dators operativsystem? Vi tror att övervakning av tillgängligt minne kan vara lite mer realistisk än att övervaka namnet på det installerade operativsystemet.

Rutin för att bestämma den aktuella mängden tillgängligt minne (rutin som heter GetMemory):

Sub GetMemory
Ställ in objLocator = CreateObject("WbemScripting.SwbemLocator")
Ställ in objWMIService = objLocator.ConnectServer(".", "root\cimv2")
Set colItems = objWMIService.ExecQuery("Välj * Från Win32_OperatingSystem")
För varje objekt i kolli
DataArea.InnerHTML = objItem.FreePhysicalMemory
Nästa
Avsluta Sub

Men vi är inte mer intresserade av GetMemory-subrutinen, utan i Window_OnLoad-subrutinen:

Sub Window_Onload
GetMemory
iTimerID = window.SetInterval("GetMemory", 10000)
Avsluta Sub

Du kommer att märka att vi gör två saker i den här subrutinen. Först kör vi GetMemory-subrutinen - detta för att säkerställa att det tillgängliga minnet omedelbart kommer att visas efter att ha laddat vår gadget. Det andra vi gör är lite mer intressant:
iTimerID = window.SetInterval("GetMemory", 10000)

Här använder vi metoden SetInterval för att skapa en timer. Denna timer kommer att köra GetMemory-rutinen var 10:e sekund (10 000 millisekunder). Så här tvingar vi gadgeten att automatiskt uppdatera informationen: var 10:e sekund kör gadgeten GetMemory-rutinen, vilket innebär att efter 10 sekunder kommer gadgeten att använda WMI för att få den aktuella mängden tillgängligt minne och sedan visa denna data i kroppen av gadgeten. Om 10 sekunder är för mycket för dig, ändra parametern 10000 till mindre antal, till exempel kommer siffran 5000 att få gadgeten att uppdatera data var 5:e sekund (5000 millisekunder). På samma sätt kommer uppdateringsintervallet att bli längre om du ändrar 10000 till ett större antal.

Vi sa aldrig att det var ett konstverk. Men nu när du förstår grunderna för att skapa prylar (prylar är särskilt intressanta för systemadministratörer), hoppas vi att du kommer att skapa konstverk. I nästa del kommer vi att prata om att slå samman grafik med prylar och många nya användbara funktioner.

Till sist - " Läxa". Därefter kommer lite (med betoning på ordet lite) mer komplex kod en gadget som gör två saker: den styr tillgängligt minne och även när informationsknappen klickas visas den på webbsidan detaljerad information om systemet. Det behöver inte sägas att den här gadgeten inte är ett exempel på alla funktioner hos gadgets, men exemplet visar dig hur många förmågor som kan inkluderas i en gadget samtidigt. Här är den faktiska koden:

Översättarens anmärkning: Observera, när jag sparade den här koden och startade gadgeten (jag gjorde detta i Windows XP med en portad Sidebar från build 5342), frös systemet och jag var tvungen att översätta hälften av artikeln igen! Så var försiktig. Även om jag tror att detta inte kommer att hända i den ursprungliga Sidebar från Windows Vista, har jag inte testat det! Efter koden finns ytterligare länkar om ämnet.


Min pryl

kropp(bredd:120;höjd:80)

Sub Window_Onload
GetMemory
iTimerID = window.SetInterval("GetMemory", 10000)
Avsluta Sub

Sub GetMemory
Ställ in objLocator = CreateObject("WbemScripting.SwbemLocator")
Ställ in objWMIService = objLocator.ConnectServer(".", "root\cimv2")
Set colItems = objWMIService.ExecQuery("Välj * Från Win32_OperatingSystem")
För varje objekt i kolli
DataArea.InnerHTML = objItem.FreePhysicalMemory
Nästa
Avsluta Sub

Ställ in objLocator = CreateObject("WbemScripting.SwbemLocator")
Ställ in objWMIService = objLocator.ConnectServer(".", "root\cimv2")

Set colItems = objWMIService.ExecQuery("Välj * Från Win32_ComputerSystem")
För varje objekt i kolli
strHTML = "Datornamn: " & objItem.Name & "
"
strHTML = strHTML & "Användarnamn: " & objItem.UserName & "

"
Nästa

Set colItems = objWMIService.ExecQuery("Välj * Från Win32_OperatingSystem")
För varje objekt i kolli
strHTML = strHTML & " Operativ system: " & objItem.Caption & "
"
strHTML = strHTML & "Service Pack: " & objItem.ServicePackMajorVersion & "

"
Nästa

Set colItems = objWMIService.ExecQuery("Välj * Från Win32_Processor")
För varje objekt i kolli
strHTML = strHTML & "Processor: " & objItem.Caption & "

"
Nästa

Set colItems = objWMIService.ExecQuery_
("Välj * Från Win32_NetworkAdapterConfiguration där IPEnabled = True")
För varje objekt i kolli
strHTML = strHTML & objItem.Caption & "
"
För varje strAddress i objItem.IPAddress
strHTML = strHTML & "IP-adress: " & strAddress & "
"
Nästa
Nästa

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
objIE.Verktygsfält = 0
objIE.StatusBar = 0
Ställ in objDoc = objIE.Document.Body
objDoc.InnerHTML = strHTML
objIE.Visible = Sant
Avsluta Sub









2024 gtavrl.ru.