Spisu treści:

Wprowadzenie do skryptu VB: przewodnik dla początkujących: 11 kroków
Wprowadzenie do skryptu VB: przewodnik dla początkujących: 11 kroków

Wideo: Wprowadzenie do skryptu VB: przewodnik dla początkujących: 11 kroków

Wideo: Wprowadzenie do skryptu VB: przewodnik dla początkujących: 11 kroków
Wideo: Kurs Excel VBA Część 1 : Pierwsze makro 2024, Lipiec
Anonim
Wprowadzenie do skryptu VB: przewodnik dla początkujących
Wprowadzenie do skryptu VB: przewodnik dla początkujących

***((((UWAGA: Chociaż jest wiele kroków. W rzeczywistości jest to całkiem proste. Wyjaśniam wszystko szczegółowo początkującym. Jeśli chcesz tylko przejść do ostatniego kroku, znajdziesz pełny kod tam.))))*** Gram dużo w Xbox Live i zawsze muszę wyłączać Internet na moim komputerze, ponieważ powoduje to przepustowość. Głównie dlatego, że cały czas pobieram lub przesyłam rzeczy. Problem nie polega na wyłączeniu go, ale na ponownym włączeniu, o którym zapomniałem, co powoduje, że tracę cały czas przesyłania/pobierania. Postanowiłem więc stworzyć program, który zrobi to za mnie. Miałem zamiar napisać to w Vb.net, ale niedawno musiałem wyrzucić i utorować swój system operacyjny na moim komputerze z powodu złej burzy, która smażyła mój dysk twardy, i nie przeinstalowałem jeszcze VB.net, więc po prostu pomyślałem, że tak daj mi powód do zabawy z vbscript. Zrobiłem też obraz w farbie do wyświetlenia w tle, więc wiedziałem, że działa.

Krok 1: Ustal, co chcesz zrobić

Dowiedz się, co chcesz zrobić
Dowiedz się, co chcesz zrobić

Pierwszą rzeczą, którą zawsze robię, jest przygotowanie planu. Co chcę, aby program zrobił? A) Chcę mieć możliwość otwarcia skryptu, a on automatycznie wyłączy połączenie. B) Chcę, aby wyświetlał w tle gigantyczny wyświetlacz, więc nie ma pomyłki, że internet jest wyłączony, w ten sposób nie zapomnę go ponownie włączyć. C) Chcę, aby dał mi możliwość włączenia go włącz ponownie, a następnie poczekaj na odpowiedź. D) Chcę się upewnić, że włączyłem go ponownie, aby nie zapomnieć. E) Potem, kiedy faktycznie powiem „tak”, aby go ponownie włączyć, skrypt włącza go ponownie a następnie zamyka tło. F) Wyjdź ze wszystkiego.

Krok 2: Rzeczy, których używam, ale nie są potrzebne

Rzeczy, których używam, ale nie są tak naprawdę potrzebne
Rzeczy, których używam, ale nie są tak naprawdę potrzebne

Wszystko, czego naprawdę potrzebujesz, to edytor tekstu, taki jak notatnik. Wszystko inne jest opcjonalne. Używam Notepad ++, kiedy robię skrypt VB, ponieważ traktuje go tak, jak vb.net robi z kolorami i zna język. Pomaga uniknąć błędów. Numeruje również wiersze, dzięki czemu można zdiagnozować problem, gdy pojawi się kod błędu. Można go pobrać stąd notatnik ++

Krok 3: Rozpocznij programowanie

Rozpocznij programowanie
Rozpocznij programowanie

Cóż, pierwszą rzeczą, którą chcesz zrobić, to utworzyć plik tekstowy i zapisać go pod dowolną nazwą z rozszerzeniem.vbsPrzykład: NetworkShutOffScriptThatShutsOffTheInternetSoIcanPlayGamesOnMyXboxAndNotGetLag.vbsPrzykład 2: games.vbsWszystko co się liczy, to nazwać go rozszerzeniem pliku.vbs Zwykle robię to na pulpicie, ponieważ otwieram go około zillion razy podczas pracy nad nim. Teraz wystarczy kliknąć plik prawym przyciskiem myszy i nacisnąć edytuj lub edytuj za pomocą notatnika ++

Krok 4: Krok 1: Otwieranie okna wiersza polecenia

Krok 1: Otwieranie okna wiersza polecenia
Krok 1: Otwieranie okna wiersza polecenia

Postanowiłem więc wykonać większość pracy, używając programów już zapisanych na komputerze, aby robić to, co chcę. Mniej kodowania i brak pobierania…Woohoo. Najłatwiejszy jest wiersz poleceń. Więc chcemy otworzyć okno wiersza polecenia, aby to zrobić, więc chcemy zbudować obiekt, aby to zrobić, wpisujemy:set shellobj = CreateObject("WScript. Shell")Co robi: Ustaw instancję shellobj na równą, aby utworzyć obiekt w powłoce skryptu. W ten sposób wszystko, co musimy zrobić, to wpisać shellobj zamiast CreateObject("WScript. Shell") za każdym razem, gdy potrzebujemy nowego polecenia. Teraz, gdy stworzyliśmy obiekt, nakazujemy obiektowi otworzyć okno wiersza polecenia. Aby to zrobić, wpisujemy: shellobj.run "cmd"Co robi: Byłoby to równoważne wpisaniu CMD w polu uruchamiania w menu Start. Gdybyśmy nie ustawili zmiennej shellobject, musielibyśmy wpisać: CreateObject("WScript. Shell").run "cmd"… zobacz, o ile jest to teraz łatwiejsze. Mniej miejsca na błędy. Kliknij plik… następnie Zapisz… następnie przejdź do pulpitu i dwukrotnie kliknij utworzony plik vbs, który powinien zostać uruchomiony Jeśli wszystko pójdzie dobrze, pojawi się wiersz polecenia systemu Windows…..yaaaaaa!!! jeśli nie, sprawdź twoje kodowanie, do tej pory powinieneś mieć:set shellobj = CreateObject("WScript. Shell")shellobj.run "cmd"Możesz dodać komentarze do swojego skryptu, aby zapamiętać, co zrobiłeś później, umieszczając przecinek przed linią, na przykład this:'to otwiera wiersz polecenia. Kiedy koduję wiele razy, zrobię to, aby przypomnieć sobie, co zrobiłem później, kiedy na to patrzę. Skrypt po prostu ignoruje tę linię i przechodzi dalej. Jeśli je zobaczysz, możesz zrobić to samo.

Krok 5: Krok 2: Konfiguracja timerów

Krok 2: Konfiguracja timerów
Krok 2: Konfiguracja timerów

Ok teraz, gdy mamy nowe, sprytne okno, musimy wypełnić je poleceniami, abyśmy mogli zrobić to, co chcemy. Problem polega na tym, że niektóre komputery otwierają okna dłużej niż inne, więc chcemy, aby skrypt trochę poczekał trochę na początek. jeśli zacznie się zbyt wcześnie, komputer wypełni lukę, zanim otworzysz okno i otrzymasz polecenie częściowe lub wcale. Musimy więc ustawić zegar. Aby to zrobić, wpisujemy:wscript.sleep 200Co robi: Mówi skryptowi, aby odczekał X czasu przed wykonaniem następnego polecenia. 1000 to jedna sekunda, więc moja czeka jedna piąta sekundy. Może się okazać, że Twój komputer będzie musiał czekać dłużej lub krócej. Jeśli obserwujesz komputer i nie wpisuje poprawnie poleceń, zmień liczbę na wyższą, np. 2000 to 2 sekundy i prawdopodobnie mnóstwo czasu. Zapisz plik teraz twój kod w tym momencie powinien być:set shellobj = CreateObject("WScript. Shell")shellobj.run "cmd"wscript.sleep 200

Krok 6: Krok 3: Zrób zdjęcie

Krok 3: Zrób zdjęcie
Krok 3: Zrób zdjęcie

Właśnie otworzyłem paint i wpisałem "Internet Disconected" i zrobiłem 800x600 i zapisałem jako id.bmp i zapisałem w moim katalogu głównym, w moim przypadku k:\ ale twój prawdopodobnie będzie c:

Krok 7: Krok 4: Wysyłanie poleceń, otwieranie obrazu

Krok 4: Wysyłanie poleceń, otwieranie obrazu
Krok 4: Wysyłanie poleceń, otwieranie obrazu

Ok teraz, gdy mamy okno poleceń czekające na polecenia, wszystko, co musimy zrobić, to wpisać polecenia w oknie za pomocą polecenia sendkeys. Kiedy używamy polecenia sendkeys, jest to jak pisanie, ale wpisze to, co chcemy. Wszystko, co możemy wpisać, możemy wysłać, w tym klawisze enter potrzebne do wykonywania programów. Teraz, gdy wiemy, jak wysłać klawisze, otwórz nasz właśnie zrobiony obraz, a następnie wstaw posłowie innego timera, aby dać obrazowi czas na załadowanie. Aby to zrobić, wpisujemy:shellobj.sendkeys "k:\id.bmp{enter}"wscript.sleep 200Co robi: Jest to to samo co wpisanie k:\id.bmp w polu uruchamiania. Powinno to otworzyć twoje zdjęcie w domyślnej przeglądarce zdjęć dla bmp… w moim przypadku jest to przeglądarka zdjęć i faksów w systemie Windows, ale większość ludzi instaluje programy z rynku wtórnego, które również to robią, więc kto wie, co otworzy twoje. Teraz zapisz swój plik i uruchom go. Powinieneś otrzymać wiersz polecenia i wyskakujące zdjęcie. jak dotąd tak dobrze!!!Twój kod do tej pory powinien być:set shellobj = CreateObject("WScript. Shell")shellobj.run "cmd"wscript.sleep 200shellobj.sendkeys "k:\id.bmp{enter}"wscript. spać 200

Krok 8: Krok 5: Wysyłanie poleceń, wyłączanie Internetu

Krok 5: Wysyłanie poleceń, wyłączanie Internetu
Krok 5: Wysyłanie poleceń, wyłączanie Internetu

W tym momencie, jeśli jeszcze tego nie zrobiłeś, pobierz plik pdf na końcu, więc jeśli zepsujesz, masz pobrany plik Instructable, jak to naprawić. Teraz zaczyna się zabawa. Ok, więc użyjemy ipconfig, aby zwolnić nasz adres IP. Bez adresu IP nie możemy uzyskać żadnego ruchu internetowego, ponieważ router nie wie, dokąd wysłać go do komputera. Aby to zrobić, wpisujemy:shellobj.sendkeys "ipconfig /release{enter}"Co robi: To instruuje program IPCONFIG, aby zwolnić adres IP. {enter} mówi komputerowi, że nacisnąłeś klawisz Enter. byłoby to jak wpisanie ipconfig /release w oknie uruchamiania i naciśnięcie klawisza Enter. Zwykle po wykonaniu tej czynności, jeśli uruchomisz ipconfig, powie ci, że twój adres IP to 0.0.0.0. Właśnie tego chcemy. Bez adresu IP router nie wie, że tu jesteśmy i żadne programy nie mogą się „wydzwonić”, że tak powiem. Teraz, gdy pomyślnie zakończyliśmy wyłączanie adresu IP, chcemy zamknąć okno. Teraz moglibyśmy napisać kolejną linię, która mówi:shellobj.sendkeys "exit{enter}"Ale łatwiej byłoby po prostu edytować powyższą linię i dołączyć ją na końcu, aby mieć:shellobj.sendkeys "ipconfig /release{enter}exit {enter}"Teraz zapisz go, ale nie uruchamiaj go, ponieważ wyłączysz połączenie internetowe. Jeśli go uruchomisz, a twój internet się wyłączy, po prostu zmień przełącznik z ipconfig /release na ipconfig /renew i uruchom go ponownie i powinien go ponownie włączyć. A jeśli wszystko inne zawiedzie, zrestartuj komputer i powinieneś być w porządku. Twój kod do tej pory powinien być: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}"

Krok 9: Krok 6: Tworzenie skrzynki wiadomości i oczekiwanie na odpowiedź

Krok 6: Tworzenie skrzynki wiadomości i oczekiwanie na odpowiedź
Krok 6: Tworzenie skrzynki wiadomości i oczekiwanie na odpowiedź

Ok, teraz, gdy pomyślnie wyłączyliśmy Internet i zamknęliśmy okno wiersza poleceń, chcemy, aby pojawiło się okno komunikatu z pytaniem, czy chcemy ponownie włączyć Internet. Ale tutaj staje się to trudne, chcemy, aby poczekał na tak, ale jeśli klikniemy nie, nie chcemy, aby zniknęło, więc użyjemy do tego instrukcji while. Najpierw musimy zwymiarować zmienną dla messgebox, abyśmy mogli przypisać jej zmienne liczbowe. Wiem, że brzmi to dezorientująco, ale tak naprawdę nie jest. zrobiliśmy to już raz za pomocą line:set shellobj = CreateObject("WScript. Shell"), ten jest jeszcze łatwiejszy do skonfigurowania po prostu wpisujemy:Dim MyVarCo robi: Teraz zwymiarowaliśmy zmienną o nazwie MyVarKiedy otrzymasz" tak /nie” pojawia się na ekranie i klikasz przyciski, którym przypisuje wartość do każdego przycisku, w tym przypadku „tak” to 1, a „nie” to 2. Chcemy, aby zmienna zaczynała się od „nie”. domyślnie przypisujemy mu numer 2, w ten sposób zatrzymuje się do momentu kliknięcia przycisku Aby to zrobić, wpisujemy: myvar=2Co robi: teraz MyVar jest równe 2, w ten sposób w następnej linii zatrzyma się i czeka na dane wejściowe. Teraz chcemy tylko, aby siedział i czekał, aż będziemy gotowi do ponownego włączenia Internetu. Aby to zrobić, wpisujemy: while myvar=2Co robi: Robiąc to, powiedzieliśmy skryptowi, że tak długo, jak wartość myvar =2 następnie po prostu zapętlaj okno komunikatu, aż otrzymamy inną wartość niż 2, która w tym przypadku może wynosić tylko 1Następnie chcemy, aby wyskakujące okno komunikatu z przyciskami tak/nie. wpisujemy: MyVar = MsgBox („Włącz połączenie internetowe”, 65, „Włącz połączenie internetowe”) Co robi: Teraz zmienna MyVar zostanie przypisana do dowolnej wartości przypisanej do przycisku, który zostanie kliknięty w polu komunikatu. pierwsza część w cudzysłowie jest tym, co faktycznie powie okno wiadomości. 65 oznacza to jako okno komunikatu Tak/Nie. a ostatnią częścią w cudzysłowach jest etykieta messageboxa. Aby sprawdzić, jaką wartość przypisuje po kliknięciu tak lub nie, możesz dodać wiersz o treści msgbox(myVar), a wyświetli się wartość przypisana do myvar w komunikat box. Teraz, gdy mamy okno komunikatu, musimy zamknąć instrukcję while. Wszystko, co znajduje się pomiędzy otwarciem i zamknięciem instrukcji while zostanie uruchomione za każdym razem, gdy klikniesz no, ponieważ jeśli klikniesz no, nadal będzie to wartość 2 i nastąpi powrót do pierwszej części. Aby zakończyć instrukcję while wpisz:wendWhat it robi: Po zakończeniu instrukcji while będzie ona działać jak pętla, dopóki argument nie zostanie spełniony. Więc jeśli nadal będziesz naciskać no, zapętli się, ale gdy naciśniesz tak, wyrwie się z pętli i będzie kontynuował pracę ze skryptem. Zapisz plik, ale poczekaj, aż go uruchomisz do następnego kroku. Twój dotychczasowy kod powinien wyglądać następująco: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=2while myvar=2MyVar = MsgBox ("Włącz połączenie internetowe", 65, "Włącz połączenie internetowe")wend

Krok 10: Krok 7: Ponowne włączanie Internetu

Krok 7: Ponowne włączanie Internetu
Krok 7: Ponowne włączanie Internetu
Krok 7: Ponowne włączanie Internetu
Krok 7: Ponowne włączanie Internetu
Krok 7: Ponowne włączanie Internetu
Krok 7: Ponowne włączanie Internetu

Teraz, gdy ktoś w końcu kliknął tak i zdał oświadczenie while, musimy włączyć internet. Zwykle wyświetlam potwierdzenie, aby użytkownik końcowy wiedział, co się dzieje, ale jest to całkowicie opcjonalne. Aby wyświetlić potwierdzenie, wpisz:msgbox("Teraz włączymy ponownie połączenie internetowe!!!") Co to robi: wysyła okno komunikatu z napisem Teraz ponownie włączymy połączenie internetowe!!! i daje ci przycisk OK do kliknięcia. Teraz wszystko, co musimy zrobić, to ponownie włączyć Internet i zamknąć wszystko. Aby ponownie włączyć Internet, po prostu otwieramy wiersz polecenia, ustawiamy timer, a następnie ponownie używamy ipcionfig. type:shellobj.run "cmd"wscript.sleep 200shellobj.sendkeys "ipconfig /renew{enter}"Co robi: cofa poprzednie polecenie wyłączenia i odnawia twój adres IP. Po odnowieniu adresu IP możesz teraz ponownie uzyskać połączenia internetowe. Teraz wszystko, co musimy zrobić, to wyczyścić otwarte okna. Znowu moglibyśmy użyć polecenia sendkeys, ale po prostu dołączę ostatnią linię, aby również pomieścić porządki. W tym przypadku użyję programu taskkill, aby zabić program wyświetlający obraz. W tym przypadku jest to przeglądarka zdjęć i faksów systemu Windows i pojawia się jako rundll32.exe w zakładce procesów menedżera zadań, więc to właśnie musimy zabić. Jeśli twoje zdjęcie otwiera się za pomocą innego programu, takiego jak irfanview lub acdsee, znajdź nazwę, pod którą się znajduje w zakładce procesów i zamień rundll32.exe na nazwę, którą znajdziesz. Polecenie to:taskkill /F /IM rundll32.exe Co to jest robi: taskkill to nazwa programu, przełącznik /F mówi mu, aby wymusić zabicie, a przełącznik /IM określa nazwę obrazuWięc teraz dołączamy to do ostatniej linii, dodajemy enter, aby wykonać polecenie, a następnie polecenie wyjścia i inne enter i wygląda to tak:shellobj.sendkeys "ipconfig /renew{enter}taskkill /F /IM rundll32.exe{enter}exit{enter}" Zapisz plik.

Krok 11: Gotowy produkt

Ukończony produkt
Ukończony produkt

Jeśli wszystko poszło dobrze, gotowy produkt powinien wyglądać mniej więcej tak: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=2while myvar=2MyVar = MsgBox ("Włącz połączenie internetowe", 65, "Włącz połączenie internetowe")wendmsgbox("Teraz włączymy Internet Ponowne połączenie!!!")shellobj.run "cmd"wscript.sleep 200shellobj.sendkeys "ipconfig /renew{enter}taskkill /F /IM rundll32.exe{enter}exit{enter}" _koniec skryptu_Teraz programowanie jest gotowe, możesz uruchomić program. Co powinno się stać: 1.) Powinieneś wyświetlić okno CMD na bardzo krótki czas, a następnie zamknij 2.) Twój Internet nie powinien już działać. ale tego nie zobaczysz3.) Twoje zdjęcie powinno się otworzyć.4.) Powinieneś otrzymać wyskakujące okienko z pytaniem, czy chcesz ponownie włączyć Internet. ale otworzysz się ponownie, pytając, czy chcesz ponownie włączyć Internet. 6.) Po kliknięciu tak, okno komunikatu powinno zniknąć, a okno CMD powinno wyświetlić kopię zapasową 7.) Po odnowieniu adresu IP okno CMD i obraz powinno się zamknąć. Masz to. Bardzo łatwy VBscript do włączania i wyłączania Internetu. Mam nadzieję że ci się spodoba. Właściwie stworzyłem inny skrypt, który jest prawie identyczny z tym, który wyłącza karty sieciowe za pomocą programu o nazwie DevCon, który jest jak menedżer urządzeń wiersza poleceń. Działa naprawdę dobrze. Skrypt jest identyczny z tym, z wyjątkiem tego, gdzie w tym przypadku znajdują się polecenia dla ipconfig, które mają polecenia dla DevCon.

Zalecana: