 |
|
Ostatnie artykuły |
|
Windows 2003 Server

Sieci

Windows XP

Pozostałe
|
|
Redakcja |
Zespół redakcyjny: Jacek Kolonko
Adam Stępień
Sebastian Sawicki
Tomasz Sadkowski
Mikołaj Kamiński
syndrom windziarza
Marcin Jankowski
Marcin Gondek
Marcin Mierzejewski
 Kontakt z redakcją: Napisz do nas na adres mailowy lub na forum bądź wejdź na kanał irc #jama (np. via chat) Zapraszamy!
 Szczegółowe informacje dostępne są tutaj.
|
|
Kto nas ogląda |
Aktualnie przegląda nas 20027 gości.
Wywołano nas już 1379206 razy.
Na forum znajduje się obecnie
uczestników.
|
|
|
Przewodnik po Active Desktop
(65582
odsłon)
Przewodnik po Active Desktop serwisu NTFS.org
Artykuł ten opisuje jak włączyć Active Desktop, jak uruchamiać programy (np. notepad.exe) używając tagu <a href>, umieścić notatnik, prosty kalendarz i inne przydatne funkcje na pulpicie. Przykład, co można osiągnąć z Active Desktop można zobaczyć klikając w obrazek obok.
Rozumiejąc różnice w zaawansowaniu w HTML, starałem się napisać ten tutorial jak najbardziej czytelnie, nawet całkowicie początkujących. Moja rada - przeczytaj cały opis przed przystąpieniem działań. Gotowy? No, to zaczynamy...
Zawartość:
|
| Tworzenie pliku HTML |
Pierwszą czynnością będzie utworzenie pliku HTML, który będzie bazą naszego pulpitu. Zacznijmy najprościej.
|
Uruchom swój ulubiony edytor HTML, np. Notatnik (mój typ to Metapad)
Wstaw następujący kod: |
<HTML> <HEAD> <TITLE>Active Desktop</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF">
<a href="http://infojama.pl">Jama Mastaha</a>
</BODY> </HTML>
|
Plik zapisz w dowolnym miejscu z dowolną nazwą (np. "C:|activedesktop.html"). | |
| Wyświetlanie HTML na pulpicie |
Teraz uruchomimy funkcję Active Desktop, pozwalającą wyświeltać pliki HTML na pulpicie.
|
Prawy przycisk na pulpicie
"Właściwości"
Zakładka "Tło"
Wyłącz tapetę
Zakładka "Sieć Web"
"Wyświetl zawartość sieci Web na pulpicie Active Desktop"
"Nowy"
"Przeglądaj"
Zlokalizuj uprzednio zachowany plik HTML
"Otwórz"
"OK" | Uwaga: Te kroki trzeba powtarzać dla każdego z później utworzonych plików. |
| Uruchamianie programów |
Teraz, gdy mamy już HTML na pulpicie, dodajmy link (A HREF), który otworzy pasjansa. Bezpośrednie odwołanie do pliku .exe spowoduje uchchomienie znanego okna z zapytaniem o sposób obsługi pliku (zapis/otwarcie). —eby tego uniknąć użyjemy systemu skryptów.
Krok pierwszy
|
Otwórz Eksplorera Windows i przejdź do katalogu windowsa (C:|windows dla Win9x i XP, C:|winnt dla Win NT i 2000
Otwórz menu "Plik" lub kliknij prawym przyciskiem myszy (nie na folderach i plikach), wybierz "Nowy", "Skrót"
Kliknij przeglądaj i znajdź Pasjansa ("C:|WINDOWS|sol.exe" lub "C:|WINNT|SYSTEM32|sol.exe")
"Dalej"
Nazwij skrót (np. "sol")
"Zakończ" | Czasem mogą wystąpić problemy jeśli zamiast tworzyć nowe skróty skopiujesz do C:|Windows już istniejące. Aby tego uniknąć twórz nowe skróty, nie kopiuj istniejących.
Krok drugi Teraz stworzymy prosty skrypt VisualBasic:
|
Uruchom Notatnik
Wstaw kod: |
Dim oShell Set oShell = WScript.CreateObject ("WScript.shell") oShell.run "sol" (tutaj wpisz nazwę jaką nadałeś skrótowi) Set oShell = Nothing
Czasem taka składnia nie zadziała, wtedy zamiast nazwy skrótu ("sol") wstaw pełną ścieżkę ("C:|Windows|sol.exe")
|
Teraz zapisz skrypt pod taką samą nazwą jak skrót ("C:|Windows|sol.vbs"). Plik musi koniecznie znaleźć się w folderze systemowym Windows (C:|Windows (lub C:|WINNT) | Krok trzeci Teraz zmodyfikujemy plik HTML utworzony na początku. Dodamy kod, który uruchomi przed chwilą napisany skrypt VB. Wstaw ten kod pomiędzy tagami <HEAD></HEAD> w pliku HTML:
<script> function exec (command) { if (document.layers && navigator.javaEnabled()) { window._command = command; window.oldOnError = window.onerror; window.onerror = function (err) { if (err.indexOf ("User didn't grant") != -1) { alert('command execution of ' + window._command + ' disallowed by user.'); return true; } else return false; } netscape.security.PrivilegeManager.enablePrivilege ('UniversalExecAccess'); java.lang.Runtime.getRuntime().exec(command); window.onerror = window.oldOnError; } else if (document.all) { window.oldOnError = window.onerror; window._command = command; window.onerror = function (err) { if (err.indexOf('utomation') != -1) { alert('command execution of ' + window._command + ' disallowed by user.'); return true; } else return false; }; var wsh = new ActiveXObject('WScript.Shell'); if (wsh) wsh.Run(command); window.onerror = window.oldOnError; } } </script> Ten skrypt wywoła plik .VBS
Krok czwarty Teraz znacznik "A HREF" który wywoła wstawiony przed chwilą skrypt. Wstaw ten kod pomiędzy znacznikami <BODY></BODY>:
<a onClick="exec('sol.vbs'); return false;" href="java script:void(0)">Uruchom Pasjansa</a>
Tą część możesz modyfikować i używać wielokrotnie w jednym pliku. Zamiast tekstu można użyć też obrazka. Twój plik HTML powinien wyglądać teraz mniej więcej tak:
<html> <head> <title>Active Desktop: Pasjans</TITLE>
<script> function exec (command) { if (document.layers && navigator.javaEnabled()) { window._command = command; window.oldOnError = window.onerror; window.onerror = function (err) { if (err.indexOf ("User didn't grant") != -1) { alert('command execution of ' + window._command + ' disallowed by user.'); return true; } else return false; } netscape.security.PrivilegeManager.enablePrivilege ('UniversalExecAccess'); java.lang.Runtime.getRuntime().exec(command); window.onerror = window.oldOnError; } else if (document.all) { window.oldOnError = window.onerror; window._command = command; window.onerror = function (err) { if (err.indexOf('utomation') != -1) { alert('command execution of ' + window._command + ' disallowed by user.'); return true; } else return false; }; var wsh = new ActiveXObject('WScript.Shell'); if (wsh) wsh.Run(command); window.onerror = window.oldOnError; } } </script>
</head> <body bgcolor="#FFFFFF">
<a onClick="exec('sol.vbs'); return false;" href="java script:void(0)">Uruchom Pasjansa</a>
</body> </html> Jak zrobić żeby programy uruchamiały się lepiej i szybciej? Zwróć uwagę, że jeśli używasz antywirusa (np. Norton AntyVirus), możesz być przezeń ostrzegany o "złośliwym kodzie". Antywirus może identyfikować nasz VBS jako wirus. Aby zapobiec takim alarmom użyj opcji Authorize this script, lub podobnie nazwanej, zależnie od wersji.
Możesz też otrzymywać ostrzeżenia ActiveX. Aby to wyłączyć, trzeba dodać strefę "Mój komputer" do ustawień zabezpieczeń IE.
|
Uruchom regedit
Przejdź do: HKEY_CURRENT_USER|SOFTWARE|Microsoft|Windows|CurrentVersion|Internet Settings|Zones|0
Ustaw "FLAGS" (dword) na 47 - będzie wyglądać tak: 0x00000047 (71)
Zamknij regedit
Uruchom Internet Explorer
Wybierz menu "Narzędzia"
Wybierz "Opcje Internetowe"
Wybierz zakładkę "Zabezpieczenia" | Zauważysz że jest nowa strefa "Mój Komputer" (jeśli nie - zresetuj komputer i ponownie uruchom IE). Teraz skonfiguruj strefę "Mój Komputer:
|
Zaznacz ikonę "Mój Komputer"
Kliknij "Poziom niestandardowy"
W "Formanty ActiveX i dodatki plug-in", zmień "Pobieranie podpisanych formantów ActiveX" na "Włącz"
Zmień "Pobieranie niepodpisanych formantów ActiveX" na "Włącz"
Zmień "Wykonywanie skryptów formantów ActiveX nie zaznaczonych jako bezpieczne" na "Włącz"
Zmień "Uruchamianie formantów ActiveX i dodatków plug-in" na "Włącz"
Zmień "Wykonywanie skryptów formantów ActiveX zaznaczonych jako bezpieczne" na "Włącz"
Kliknij "OK"
Kliknij "Zastosuj"
Kliknij "OK"
| Po wykonaniu tych operacji nie będziesz już dostawać monitów ActiveX dla lokalnych plików. Zmiany nie dotyczą plików w Internecie.
Teraz podam kilka przykładów skrótów do wykorzystania:
|
Zamknij system: %windir%|system32|tsshutdn.exe 0 /DELAY:0 /POWERDOWN
Reset: %windir%|System32|shutdown.exe -r -t 00
Zablokuj PC: %windir%|System32|rundll32.exe user32.dll,LockWorkStation
Konta użytkowników: %windir%|System32|control.exe userpasswords2
Usługi: C:|WINDOWS|system32|services.msc
Przegląd zdarzeń: %SystemRoot%|system32|eventvwr.msc /s
| Te skróty nie działają we wszystkich wersjach Windows. Te ścieżki należy kopiować do kreatora tworzenia nowego skrótu.
Pamiętaj o tworzeniu plików .VBS dla każdego następnego skrótu. |
| Więcej usprawnień |
Pomysły zebrane podczas pisania drugiej wersji tego kursu.
Zmiana ścieżki Nie chcesz trzymać skrótów w "C:|Windows"? Wykonaj te kroki:
|
Kliknij prawym przyciskiem myszy na "Mój komputer"
Wybierz "Właściwości"
Zakładka "Zaawansowane"
"Zmienne środowiskowe"
W polu "Zmienne środowiskowe" zaznacz "Path" i kliknij "Edytuj"
Dodaj średnik (;) po ostaniej pozycji i dopisz wybraną przez siebie ścieżkę (np. C:|skroty")
Całość będzie wyglądać mniej więcej tak: %SystemRoot%|system32;%SystemRoot%;%SystemRoot%|System32|Wbem;C:|skroty
Kliknij "OK" (dwa razy) | Dodatkowe komendy Opisałem uruchamianie skryptów .VBS z wykorzystaniem funkcji "exec()". Aby móc wywoływać niektóre specjalne polecenia Windows musisz użyć innej składni .VBS:
|
Uruchom Notatnik
Wstaw doń ten kod: |
Dim objShell Set objShell = CreateObject("Shell.Application") objShell.KOMENDA (w to miejsce wstaw jedną z poniższych)
Możliwe komendy to:
|
Ułóż okna kaskadowo: CascadeWindows
Otwórz obiekt z panelu sterowania, zamień "applet" na nazwę (*.cpl):
ControlPanelItem(applet)
Eksploruj folder: Explore(folder)
Otwórz okno "Uruchom": FileRun
Otwórz okno "Znajdź komputer": FindComputer
Otwórz okno "Znajdź pliki": FindFiles
Uruchom pomoc: Help
Zminimalizuj wszystkie okna: MinimizeAll
Przywróć wszystkie okna: UndoMinimizeALL
Otwórz okno "Ustawienia daty i godziny": SetTime
Otwórz okno "Zamknij system": ShutdownWindows
Uśpij komputer: Suspend
Ułóż okna horyzontalnie: TileHorizontally
Ułóż okna wertykalnie: TileVertically
Uruchom okno "Właściwości paska zadań": TrayProperties | Na przykład wywołanie okna "Uruchom" wygląda tak:
Dim objShell Set objShell = CreateObject("Shell.Application") objShell.FileRun Po zachowaniu w C:|windows (lub innej określonej powyżej) wstaw odpowiedni tag "A HREF" do pliku HTML:
<a onClick="exec('run.vbs'); return false;" href="java script:void(0)">Uruchom</a> Do tych operacji nie trzeba tworzyć skrótów, wystarczy plik .VBS i "A HREF" w HTMLu.
Inne skróty Nie zawsze można, używając funkcji exec(), stworzyć skróty do niektórych folderów specjalnych Windows. Wtedy można użyć tych ścieżek w kreatorze tworzenia nowego skrótu:
Mój komputer: explorer /root,,::{20D04FE0-3AEA-1069-A2D8-08002B30309D} Kosz: explorer /root,,::{645FF040-5081-101B-9F08-00AA002F954E} Pulpit: explorer /root,,::{00021400-0000-0000-C000-000000000046} Panel Sterowania: explorer /root,,::{21EC2020-3AEA-1069-A2DD-08002B30309D} Drukarki: explorer /root,,::{2227A280-3AEA-1069-A2DE-08002B30309D} Dial-up: explorer /root,,::{A4D92740-67CD-11CF-96F2-00AA00A11DD9} Fonty: explorer /root,,::{BD84B380-8CA2-1069-AB1D-08000948F534} Internet Explorer: explorer /root,,::{871C5380-42A0-1069-A2EA-08002B30309D} Microsoft Outlook: explorer /root,,::{00020D75-0000-0000-C000-000000000046} Otoczenie sieciowe: explorer /root,,::{208D2C60-3AEA-1069-A2D7-08002B30309D} Skrzynka odbiorcza: explorer /root,,::{00020D76-0000-0000-C000-000000000046} Subskrypcje: explorer /root,,::{F5175861-2688-11d0-9C5E-00AA00A45957} Historia URL: explorer /root,,::{FF393560-C2A7-11CF-BFF4-444553540000} Aktówka: explorer /root,,::{85BBD920-42A0-1069-A2E4-08002B30309D} Internet Cache: explorer /root,,::{7BD29E00-76C1-11CF-9DD0-00A0C9034933} ActiveX Cache: explorer /root,,::{88C6C381-2E85-11D0-94DE-444553540000}
Nie wszystkie skróty działają we wszystkich wersjach Windows.
Skróty Outlooka (nie Outlook Express) Na początek trzeba zlokalizować ścieżkę do Outlooka (np. C:|Program Files|Microsoft Office|Office10|OUTLOOK.EXE)
Gdy masz już ścieżkę, utwórz nowy skrót ze ścieżką: "C:|Program Files|Microsoft Office|Office10|OUTLOOK.EXE" /c ipm.POLECENIE
Dostępne polecenia: Nowy wpis do dziennika: /c ipm.activity Nowe przypomnienie: /c ipm.appointment Nowy kontakt: /c ipm.contact Nowy email: /c ipm.note Nowe zadanie: /c ipm.task Nowa notatka: /c ipm.stickynote |
| Notatnik |
Krok pierwszy Utwórz pusty plik .txt i zapisz go jako "quicknotes.txt" w folderze C:|Windows
Krok drugi Utwórz pusty plik html i wstaw to:
<html> <head> <title>Active Desktop: Notepad</title>
<script language="VBSCRIPT"> <!--
Set fs = CreateObject("Scripting.FileSystemObject") Const ForReading = 1, ForWriting = 2, ForAppending = 3
Sub setFile (filename) Set a = fs.CreateTextFile(filename, true) a.Write(Document.notes.qnotes.value) a.Close End Sub
Sub loadFile (filename) if fs.FileExists(filename) then Set a = fs.OpenTextFile(filename,ForReading) Document.notes.qnotes.value = a.ReadAll() a.Close else Document.notes.qnotes.value = "MADMATT_innovations" end if End Sub --> </script>
</head> <body bgcolor="#FFFFFF" onLoad="loadFile('c:||windows||quicknotes.txt');">
<form name="notes"> <textarea name="qnotes" cols="29" rows="7" wrap="PHYSICAL"></textarea> <a onClick="setFile('c:||windows||quicknotes.txt');" href="javascript:window.close();">Save</a> </form>
</body> </html>
Uwaga: Z nieznanych mi powodów ta funkcja nie działa mi tak jak powinna. Staram się znaleźć rozwiązanie tego problemu
Jeśli chcesz testować ten kod w IE, zmień javascript:window.close(); na javascript:void(0); w przeciwnym przypadku wykonanie kodu zamknie okno IE. Pamiętaj żeby przywrócić potem pierwotną formę.
Możesz zmienić wielkość pola tekstowego modyfikując wartości (cols="29" and rows="7") - im wyższe liczby tym większe pole.
Jeśli chcesz przechowywać plik "quicknotes.txt" w innym folderze, zmodyfikuj wartości "loadFile" i "setFile" |
| Kalendarz |
Teraz stworzymy prosty kalendarz w HTML i JavaScript. Kalendarz nie ma zbyt wielu funkcji, ale może projekt będzie się rozwijał w przyszłości. Potrzebne będą 2 pliki, jeden HTML a drugi JS
Krok pierwszy Utwórz nowy plik HTML, wstaw kod i zapisz na dysku:
<html> <head> <title>Active Desktop: Calendar</title> </head> <body bgcolor="#FFFFFF">
<script src="calendar.js"></script>
</body> </html> Krok drugi Ściągnij i zapisz na dysku (w tym samym folderze co poprzednio) plik calendar.js
W pliku calendar.js możesz zmodyfikować schemat kolorów. W sekcji "COLOR VARIABLES" jest 6 odpowiedzialnych za kolory zmiennych. Możesz też zmienić tam nazwy dni i miesięcy.
Przykład wyglądu kalendarza: calendar.html. |
| Logowanie My Yahoo! |
Utwórz nowy plik HTML o kodzie:
<html> <head> <title>Active Desktop: My Yahoo! Login</title>
<script language="JavaScript"> var x = 4 var y = 1 function ResetValues() { x = x-y setTimeout("ResetValues()", 1000) if (x==0) { document.fm.login.value=''; document.fm.passwd.value=''; } } </script>
</head> <body bgcolor="#FFFFFF"> <form name="fm" method="post" action="https://login.yahoo.com/config/login" target="_new" onSubmit="javascript:ResetValues();">
<input type="hidden" name=".tries" value="1"> <input type="hidden" name=".done" value="http://my.yahoo.com"> <input type="hidden" name=".src" value="my"> <input type="hidden" name="partner" value=""> <input type="hidden" name=".intl" value="us"> <input type="hidden" name=".challenge" value="Q.hKKYH6FE2CJ_ekyTPxb0FPKmlU">
My Yahoo! Login<br> username:<br> <input id="llogin" name="login" size="20"><br> password:<br> <input id="lpasswd" name="passwd" size="20" type="password"><br>
<input type="hidden" name=".chkP" value="Y"> <input type="hidden" name=".persistent" id="per" value="Y">
<input type="submit" value="Login">
</form>
</body> </html> Demo: http://innovations.madmatt.net/hosting/ntfs/tutorials/yahoo.html |
| Logowanie Hotmail |
Analogicznie jak w przypadku Yahoo:
<html> <head> <title>Active Desktop: Hotmail Login</title>
<script language="JavaScript"> var x = 4 var y = 1 function ResetValues() { x = x-y setTimeout("ResetValues()", 1000) if (x==0) { document.passwordform.login.value=''; document.passwordform.passwd.value=''; } } </script>
</head> <body bgcolor="#FFFFFF">
<form name="passwordform" action="https://loginnet.passport.com/ppsecure/post.srf" method="POST" target="_new" onSubmit="javascript:ResetValues();">
Hotmail Login<br> passport:<br> <input type="text" id="a_si" name="login" size="20" value=""><br> password:<br> <input type="password" id="a_p" name="passwd" size="20"><br>
<input type="hidden" name="svc" value="mail"> <input type="hidden" name="RemoteDAPost" value="https://login.msnia.passport.com/ppsecure/post.asp">
<input type="submit" name="enter" value="Login">
<input type="hidden" name="curmbox" value="ACTIVE"> <input type="hidden" name="js" value="no"> <input type="hidden" name="_lang" value="EN"> <input type="hidden" name="beta" value="0"> <input type="hidden" name="ishotmail" value="1"> <input type="hidden" name="mspp_shared" value="0"> <input type="hidden" name="id" value="2"> <input type="hidden" name="fs" value="1"> <input type="hidden" name="cb" value="_lang=EN&country=US"> <input type="hidden" name="ct" value="1036859734">
</form>
</body> </html> Demo: http://innovations.madmatt.net/hosting/ntfs/tutorials/hotmail.html |
| Przeszukiwanie forum NTFS.org |
Wygląda to dokładnie tak:
<html> <head> <title>Active Desktop: NTFS.org: Forum Search</title> </head> <body bgcolor="#FFFFFF">
<form action="http://www.ntfs.org/forum/search.php" method="post" target="_new"> <input type="hidden" name="s" value="">
NTFS.org: Forum Search<br> <input type="text" name="query" size="35"><br>
<input type="hidden" name="forumchoice" value="-1"> <input type="hidden" name="titleonly" value=""> <input type="hidden" name="showposts" value="1"> <input type="hidden" name="searchdate" value="-1"> <input type="hidden" name="beforeafter" value="after"> <input type="hidden" name="sortby" value="lastpost"> <input type="hidden" name="sortorder" value="descending"> <input type="hidden" name="action" value="simplesearch">
<input type="submit" name="Submit" value="Search"> <input type="reset" name="Reset" value="Reset ">
</form>
</body> </html> Demo: http://innovations.madmatt.net/hosting/ntfs/tutorials/ntfs.html |
| Google |
To z kolei mniej więcej tak:
<html> <head> <title>Active Desktop: Google Search</title> </head> <body bgcolor="#FFFFFF">
<form action="http://www.google.com/search" name="f" target="_new"> <input type="hidden" name="hl" value="en"> <input type="hidden" name="ie" value="ISO-8859-1">
Google Search<br> <input type="text" name="q" maxlength="256" size="55" value=""><br> <input type="submit" name="btnG" value="Search"> <input type="reset" name="btnI" value="Reset ">
</form>
</body> </html> Demo: http://innovations.madmatt.net/hosting/ntfs/tutorials/google.html |
| e-Bay |
Równie łatwo można stworzyć coś podobnego dla innych stron/serwisów:
<html> <head> <title>Active Desktop: eBay Search</title> </head> <body bgcolor="#FFFFFF">
<form name="searchform" action="http://search.ebay.com/search/search.dll" method="GET" target="_new"> <input type="hidden" name="krd" value="1"> <input type="hidden" name="from" value="R8"> <input type="hidden" name="MfcISAPICommand" value="GetResult"> <input type="hidden" name="ht" value="1"> <input type="hidden" name="SortProperty" value="MetaEndSort">
eBay Search<br> <input type="text" name="query" size="55" value=""><br> <input type="submit" value="Search">
</form> </body> </html> Demo: http://innovations.madmatt.net/hosting/ntfs/tutorials/ebay.html |
|
Informacje
Matt (a.k.a. “madmatt”), serwis NTFS.org i redakcja Jamy Mastaha nie ponoszą odpowiedzialności za jakiekolwiek problemy wynikłe z korzystania z zamieszczonych tu kodów JavaScript, VBSCRIPT, ActiveX controls, i HTML. Matt (a.k.a. “madmatt”) napisał i przetestował te rozwiązania, ale nie gwarantuje ich niezawodności. Matt (a.k.a. “madmatt”), serwis NTFS.org i redakcja Jamy Mastaha (http://infojama.pl) nie odpowiadają za uszkodzenia sprzętowe i programowe wynikłe z korzystania z przedstawionych tu rozwiązań. Oficjalna pomoc dostępna pod tym adresem.
Artykuł powstał przy współpracy madmatt innovations z serwisem NTFS.org. Podziękowania od autora dla: Ripburga (za wspaniałą pomoc), beta testerów (MdSalih, o_87, xsivforce, SPeedY_B) i wszystkich z NTFS.org. Jama Mastaha dokonała jedynie tłumaczenia tekstu na prośbę czytelników. |
[ Indeks sekcji ]
|
|
Komentarze Dodaj komentarz»
Nie napisano jeszcze ani jednego komentarza. Twój może być pierwszy...
Dodaj swój komentarz
|
|
|
|