Taula de continguts:

Introducció a VB Script: una guia per a principiants: 11 passos
Introducció a VB Script: una guia per a principiants: 11 passos

Vídeo: Introducció a VB Script: una guia per a principiants: 11 passos

Vídeo: Introducció a VB Script: una guia per a principiants: 11 passos
Vídeo: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, Desembre
Anonim
Introducció a VB Script: una guia per a principiants
Introducció a VB Script: una guia per a principiants

*** ((((ALERTA: Tot i que hi ha molts passos. Això és realment molt senzill. Acabo d'explicar-ho tot en detall per als principiants. Si només voleu que el codi passi a l'últim pas i trobareu el complet) codi allà.)))) *** Jogo molt de Xbox en directe i sempre he de desactivar Internet a l’ordinador perquè amaga l’amplada de banda. Principalment perquè estic descarregant o penjant coses tot el temps. El problema no és apagar-lo, sinó que ho torna a encendre que oblido, arribant a allà on perdo tot aquell temps de càrrega / descàrrega. Així que vaig decidir crear un programa per fer-ho per mi. Anava a escriure-ho a Vb.net, però recentment he hagut de nuke i pavimentar el meu sistema operatiu a l'ordinador a causa d'una tempesta dolenta fregant el meu disc dur, i encara no he reinstal·lat VB.net, així que només vaig pensar que això faria doneu-me una raó per jugar amb vbscript. També he fet una imatge en pintura per mostrar-la al fons, de manera que sabia que funcionava.

Pas 1: esbrineu què voleu fer

Esbrineu el que voleu fer
Esbrineu el que voleu fer

El primer que sempre faig és fer un pla, què vull que faci el programa? B) Vull que mostri una pantalla gegant al fons, de manera que no hi ha cap error que Internet estigui apagat, d’aquesta manera no oblido tornar-lo a engegar. C) Vull que em doni la possibilitat de triar-lo tornar a activar i després esperar una resposta. D) Vull que m’asseguri de tornar-lo a activar per no oblidar-lo. E) Aleshores, una vegada que dic que sí per tornar-lo a engegar, el guió l’encén i després tanca el fons. F) Sortiu de tot.

Pas 2: coses que faig servir però que realment no són necessàries

Coses que faig servir però que no són realment necessàries
Coses que faig servir però que no són realment necessàries

Tot el que realment necessiteu és un editor de text com el bloc de notes. Tota la resta és opcional: faig servir Notepad ++ quan faig script VB, perquè el tracta com ho fa vb.net amb colors i coneix l’idioma. Ajuda a evitar errors. També numera les línies perquè pugueu diagnosticar quin és el problema quan obteniu un codi d’error. Es pot obtenir des d’aquí bloc de notes ++

Pas 3: Inicieu la programació

Inicieu la programació
Inicieu la programació

El primer que heu de fer és crear un fitxer de text i desar-lo al nom que vulgueu amb l’extensió de fitxer.vbsExemple: NetworkShutOffScriptThatShutsOffTheInternetSoIcanPlayGamesOnMyXboxAndNotGetLag.vbsExemple 2: games.vbs.vbs Normalment ho faig a l’escriptori perquè l’obro aproximadament mil milions de vegades mentre hi treballo. Ara només heu de fer clic amb el botó dret al fitxer i prémer editar o editar amb el bloc de notes ++

Pas 4: pas 1: obertura d'una finestra de símbol del sistema

Pas 1: obriu una finestra de símbol del sistema
Pas 1: obriu una finestra de símbol del sistema

Així que vaig decidir fer la major part del treball, només faria servir programes que ja estaven emmagatzemats a l'ordinador per fer el que vull. Menys codificació i no hi ha descàrregues … Woohoo. Easiest és l'indicador d'ordres, per tant, volem obrir una finestra d'indicador d'ordres per fer-ho, volem crear un objecte per fer-ho, escrivim: set shellobj = CreateObject ("WScript. Shell") Què fa: Establiu una instància de shellobj perquè sigui igual per crear l'objecte w script shell. D'aquesta manera, tot el que hem de fer és escriure shellobj en lloc de CreateObject ("WScript. Shell") cada vegada que necessitem una ordre nova. Ara que hem creat un objecte, instruïm l'objecte que obri una finestra d'indicadors d'ordres. Per fer-ho, escrivim: shellobj.run "cmd" Què fa: això seria l'equivalent a escriure CMD al quadre d'execució del menú d'inici. Si no haguéssim definit la variable shellobject, hauríem d'haver escrit: CreateObject ("WScript. Shell"). Executeu "cmd" … vegeu el que és més fàcil ara. Menys marge per als errors. Feu clic al fitxer … després Desa … després aneu a l'escriptori i feu doble clic al fitxer vbs que heu creat perquè s'executi. la vostra codificació, fins ara hauríeu de tenir: set shellobj = CreateObject ("WScript. Shell") shellobj.run "cmd" Podeu afegir comentaris al vostre script perquè recordeu el que heu fet més tard posant una coma davant de la línia com això: 'això és obrir un indicador d'ordres. Quan estic codificant moltes vegades faré això, així que recordo el que vaig fer més endavant quan ho estic mirant. El guió només ignora aquesta línia i continua endavant. Si els veieu podeu fer el mateix.

Pas 5: Pas 2: Configuració dels temporitzadors

Pas 2: Configuració dels temporitzadors
Pas 2: Configuració dels temporitzadors

D’acord, ara que tenim una finestra nova, hem d’omplir-la d’ordres perquè puguem fer el que volem. El problema és que alguns ordinadors triguen més que d’altres a obrir les finestres, de manera que volem que el script esperi una mica. poc per començar. si comença massa aviat, l’ordinador omplirà el buit abans d’obrir la finestra i obtindreu una ordre parcial o cap, de manera que hem de configurar un temporitzador. Per fer-ho, escrivim: wscript.sleep 200 Què fa: indica a l'script que espereu una quantitat de temps X abans d'executar l'ordre següent. 1000 equival a un segon, de manera que el meu espera una cinquena part de segon. És possible que el vostre equip necessiti esperar més temps o menys. Si mireu l'ordinador i no escriu les ordres correctament, canvieu el número a un nombre superior, com ara 2000, seria de 2 segons i probablement gaire temps. Deseu el fitxer ara el vostre codi en aquest punt hauria de ser: set shellobj = CreateObject ("WScript. Shell") shellobj.run "cmd" wscript.sleep 200

Pas 6: Pas 3: Feu una imatge

Pas 3: Feu una imatge
Pas 3: Feu una imatge

Acabo d'obrir pintura i hi he escrit "Internet desconectat", el vaig fer 800x600 i el vaig desar com a id.bmp i el vaig desar al directori arrel, en el meu cas k: \, però probablement el vostre serà c:

Pas 7: pas 4: enviant ordres, obrint la imatge

Pas 4: enviant ordres, obrint la imatge
Pas 4: enviant ordres, obrint la imatge

D'acord, ara que tenim una finestra d'ordres que espera les ordres, tot el que hem de fer és escriure les ordres a la finestra mitjançant l'ordre sendkeys. Quan fem servir l’ordre sendkeys és com escriure, però escriurà el que vulguem que escrigui. Tot el que podem escriure ho podem enviar, incloses les tecles d'introducció necessàries per executar programmes.now que sabem com enviar les claus, permet obrir la nostra imatge que acabem de fer i, a continuació, posar una altra paraula contracorrent de manera que doni temps a la imatge per carregar-se. Per fer-ho, escrivim: shellobj.sendkeys "k: / id.bmp {enter}" wscript.sleep 200 Què fa: és el mateix que escriure k: / id.bmp al quadre d'execució. Hauria d'obrir la vostra imatge al visualitzador d'imatges per defecte per a un bmp … en el meu cas, és un visualitzador d'imatges i de fax de Windows, però la majoria de la gent instal·la programes de mercat que també ho fan, així que qui sap en què s'obrirà el vostre. Ara deseu el fitxer i Executeu-lo. Haureu d'obtenir un indicador d'ordres i una imatge per aparèixer. fins ara tot bé !!! el vostre codi fins ara hauria de ser: set shellobj = CreateObject ("WScript. Shell") shellobj.run "cmd" wscript.sleep 200shellobj.sendkeys "k: / id.bmp {enter}" wscript. dorm 200

Pas 8: pas 5: enviament d'ordres, tanca Internet

Pas 5: enviant ordres, apagueu Internet
Pas 5: enviant ordres, apagueu Internet

En aquest punt, si encara no ho heu fet, descarregueu el fitxer pdf al final, de manera que si us ho descargueu, teniu una instrucció descarregada sobre com solucionar-lo. Ara és on comença la diversió. D'acord, així que utilitzarem ipconfig per alliberar la nostra adreça IP. Sense una adreça IP no podem obtenir cap trànsit d’Internet perquè l’encaminador no sap cap a on l’ha d’enviar a l’ordinador. Per fer-ho escrivim: shellobj.sendkeys "ipconfig / release {enter}" Què fa: Això indica al programa IPCONFIG que publiqui l'adreça IP. {enter} indica a l'ordinador que heu premut la tecla d'inici. Això seria com escriure ipconfig / release a la finestra d'execució i prémer enter. Normalment després de fer això, si executeu ipconfig, us indicarà que la vostra adreça IP és 0.0.0.0. Això és el que volem. Sense una adreça IP, l’encaminador no sap que som aquí i cap programa pot "marcar" per dir-ho d’alguna manera. Ara que hem acabat de tancar l’IP correctament, volem tancar la finestra. Ara podríem escriure una altra línia que digui: shellobj.sendkeys "exit {enter}" Però seria més fàcil editar la línia anterior i afegir-la al final, de manera que tingueu: shellobj.sendkeys "ipconfig / release {enter} exit {enter} "Ara deseu-lo, però no executeu-lo perquè tancareu la vostra connexió a Internet. Si l’executeu i la vostra Internet s’apaga, només heu de canviar el commutador d’ipconfig / release a ipconfig / renew i torneu-lo a executar i hauria de tornar-lo a engegar. I si tota la resta falla reinicieu i estareu bé. El vostre codi fins ara hauria de ser: set shellobj = CreateObject ("WScript. Shell") shellobj.run "cmd" wscript.sleep 200shellobj.sendkeys "k: / id.bmp { enter} "wscript.sleep 200shellobj.sendkeys" ipconfig / release {enter} exit {enter}"

Pas 9: pas 6: crear un quadre de missatges i esperar resposta

Pas 6: crear un quadre de missatges i esperar resposta
Pas 6: crear un quadre de missatges i esperar resposta

D’acord, ara que hem tancat correctament Internet i hem tancat la finestra de l’indicador d’ordres, volem que aparegui un quadre de missatge que ens demani si volem tornar a activar Internet. Però aquí és on es fa complicat, volem que esperi per un sí, però si fem clic a no, no volem que desaparegui, així que utilitzarem una sentència while per fer-ho. En primer lloc, hem de dimensionar una variable per al missatge per poder assignar-li variables de nombre. Sé que sembla confús, però realment no ho és. ja ho vam fer una vegada amb la línia: set shellobj = CreateObject ("WScript. Shell"), fins i tot és fàcil de configurar-ho, simplement escrivim: Dim MyVarQuè fa: Ara hem dimensionat una variable anomenada MyVar Quan obteniu un "sí" apareix el quadre de missatge / no "a la pantalla i feu clic als botons que assigna un valor a cada botó, en aquest cas" sí "és 1 i" no "és 2. Volem que la variable comenci amb un" no ". li assignem el número 2 per defecte, d’aquesta manera s’atura fins que es fa clic a un botó Per fer-ho escrivim: myvar = 2 Què fa: ara MyVar és igual a 2, d’aquesta manera a la línia següent s’aturarà i esperarà l’entrada. Ara només volem que s’assegui allà i esperem fins que estiguem a punt per tornar a activar Internet. Per fer-ho, escrivim: mentre myvar = 2 Què fa: En fer això, hem dit al guió que sempre que el valor de myvar = 2 i, a continuació, continueu fent un bucle al quadre de missatges fins que obtinguem qualsevol altre valor que no sigui 2, que en aquest cas només podria ser 1 Seguidament volem que aparegui un quadre de missatges amb botons sí / no. això escrivim: MyVar = MsgBox ("Activa la connexió a Internet", 65, "Activa la connexió a Internet") Què fa: ara la variable MyVar s'assignarà a qualsevol valor assignat al botó que es faci clic al quadre de missatge. la primera part de les cometes és el que dirà el quadre de missatges. El 65 el designa com a quadre de missatges Sí / No. i l'última part entre cometes és la variable de la bústia de missatges. un quadre de missatge. Ara que tenim un quadre de missatge, hem de tancar la sentència while. Tot el que hi ha entre l'obertura i el tancament de la sentència while s'executarà cada vegada que feu clic a "No", perquè si feu clic a "no", seguirà sent un valor de 2 i tornarà a la primera part. does: Un cop finalitzeu la sentència while, actuarà com un bucle fins que l'argument ja no es compleixi. Per tant, si continueu prement no, farà un bucle, però un cop premeu sí, s’alliberarà del bucle i continuarà amb l’escriptura. Deseu el fitxer però espereu a executar-lo fins al següent pas. El vostre codi fins ara hauria de ser: set shellobj = CreateObject ("WScript. Shell") shellobj.run "cmd" wscript.sleep 200shellobj.sendkeys "k: / id.bmp { enter} "wscript.sleep 200shellobj.sendkeys" ipconfig / release {enter} exit {enter} "Dim MyVarmyvar = 2 while myvar = 2MyVar = MsgBox (" Activa la connexió a Internet ", 65," Activa la connexió a Internet ") wend

Pas 10: Pas 7: tornar a activar Internet

Pas 7: tornar a activar Internet
Pas 7: tornar a activar Internet
Pas 7: tornar a activar Internet
Pas 7: tornar a activar Internet
Pas 7: tornar a activar Internet
Pas 7: tornar a activar Internet

Ara que finalment algú ha fet clic a Sí i ha passat la declaració while, hem d’urna a Internet. Normalment apareixo una confirmació perquè l'usuari final sàpiga què passa, però és purament opcional. Per mostrar un tipus de confirmació: msgbox ("Ara tornarem a activar la connexió a Internet !!!") Què fa: envia un quadre de missatge que diu: Ara tornarem a activar la connexió a Internet !!! i us dóna un botó d’acord per fer clic. Ara tot el que hem de fer és tornar a activar Internet i tancar-ho tot. escriviu: shellobj.run "cmd" wscript.sleep 200shellobj.sendkeys "ipconfig / renew {enter}" Què fa: inverteix l'ordre de desactivació anterior i renova la vostra adreça IP. Un cop hagueu renovat la vostra adreça IP, ara podreu tornar a obtenir connexions a Internet. Ara només ens queda netejar les finestres obertes. Una vegada més, podríem utilitzar una ordre sendkeys, però només aniré a afegir la darrera línia per fer també les netejes. En aquest cas faré servir el programa taskkill per matar el programa que mostra la imatge. En aquest cas, es tracta del visualitzador d'imatges i de fax de Windows i apareix com a rundll32.exe a la pestanya de processos del gestor de tasques, de manera que això és el que hem de matar. Si la imatge s’obre amb un altre programa, com ara irfanview o acdseee, cerqueu el nom a la pestanya Processos i substituïu el rundll32.exe pel nom que trobeu. L’ordre seria: taskkill / F / IM rundll32.exe fa: el taskkill és el nom del programa que el commutador / F li diu que obligui a matar i el commutador / IM li diu el nom de la imatge. exit command i un altre enter i té el següent aspecte: shellobj.sendkeys "ipconfig / renew {enter} taskkill / F / IM rundll32.exe {enter} exit {enter}" Desa el fitxer.

Pas 11: producte acabat

Producte final
Producte final

Si tot va bé, el producte acabat hauria de tenir un aspecte semblant a aquest: configureu shellobj = CreateObject ("WScript. Shell") shellobj.run "cmd" wscript.sleep 200shellobj.sendkeys "k: / id.bmp {enter}" wscript.sleep 200shellobj.sendkeys "ipconfig / release {enter} exit {enter}" Dim MyVarmyvar = 2 while myvar = 2MyVar = MsgBox ("Activa la connexió a Internet", 65, "Activa la connexió a Internet") wendmsgbox ("Ara activarem Internet La connexió es torna a activar !!! ") shellobj.run" cmd "wscript.sleep 200shellobj.sendkeys" ipconfig / renew {enter} taskkill / F / IM rundll32.exe {enter} exit {enter} "_end of script_Now that the programation is fet, podeu executar el programa. Què hauria de passar: 1.) Haureu d’obrir la finestra CMD durant molt poc temps i després tancar-la2.) La vostra Internet ja no hauria de funcionar. però no ho veureu3.) La vostra imatge hauria d’obrir-se.4.) Haureu d’obrir una finestra emergent que us demanarà si voleu tornar a activar Internet. però torneu a obrir preguntant si voleu tornar a activar Internet. 6.) Un cop feu clic a sí, el quadre de missatge hauria de desaparèixer i es mostrarà una finestra CMD7.) Un cop renovada l'adreça IP, apareixerà la finestra CMD i la imatge. hauríeu de tancar-la. Allà la teniu. Un VBscript molt fàcil per activar i desactivar Internet. Espero que t'agradi. De fet, he fet un altre script gairebé idèntic a aquest que apaga els adaptadors de xarxa mitjançant un programa anomenat DevCon, que és com un gestor de dispositius de línia d'ordres. Funciona molt bé. L'escriptura és idèntica a aquesta excepte quan en aquest té comandes per a ipconfig que es tenen ordres per a DevCon.

Recomanat: