SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Kỹ thuật lập trình gadget cho Window Vista
Tên bài viết: Kỹ thuật lập trình gadget cho Window Vista
Tác giả: Phạm Hải - caulacbovb.com
Cấp độ bài viết: Chưa đánh giá
Tóm tắt: Hướng dẫn lập trình gadget cho Window Vista
I.Dẫn nhập
Windows Vista cùng với vẻ hào nhoáng của nó đã làm say mê rất nhiều người và một trong các
đặc trưng ấn tượng nhất chính là Windows sidebar với các tiện ích nhỏ như :lịch ,đồng hồ ,CPU (
gọi là gadget )... chiếm một phần trên desktop, bạn có thể dễ dàng tùy chỉnh những công cụ này
để phù hợp cũng như hiển thị ở trên cùng, ở dạng cửa số lớn và cũng có thể đặt cứ chỗ nào trên
màn hình bằng các điều chỉnh trong Windows Sidebar properties..Điều tuyệt vời hơn nữa là lập
trình các gadget này cực kỳ dễ dàng ,trong giới hạn bài viết này tôi sẽ hướng dẫn các bạn làm hai
gadget tiện ích đầy sức mạnh chỉ trong vòng 15 phút với chưa đến 20 dòng code bằng javascript ,
bạn đừng lo mình không thạo java vì tôi cũng sẽ demo bằng cả ngôn ngữ kịch bản thông dụng
nhất trên window hiện nay :- VbScript - .Những người có kinh nghiệm không nhiều về VB cũng
sẽ nắm bắt dễ dàng thôi !
Bạn sẽ học được những gì từ bài viết này:
- Bản chất của vista gadget hay kỹ thuật lập trình với html dùng JavaScript và VbScript
- Kỹ thuật viết và cài đặt gadget bằng Visual studio 2008 –Visual studio 2005 step by step trong
vòng 15 phút
- Kỹ thuật viết,debug html nhanh chóng với Microsoft FrontPage 2003
II.Giới thiệu Vista Gadget
Gadget là một tiện ích nhỏ gắn trên thanh sidebar ,thường có kích thước 139 pixel , cung cấp
nhiều thông tin hữu ích như : CPU,ngày tháng ,nhật ký,thời tiết… bạn có thể tìm thấy rất nhiều
gadget tuyệt vời nữa tại địa chỉ này
http://vista.gallery.microsoft.com/vista/SideBar.aspx?mkt=en-us với một thư viên đồ sộ gần 2K
gadget. Thực chất gadget không phải là một dạng file thực thi kiểu mới trên Vista mà đơn giản
chỉ là một hay nhiều trang HTML được host bới tiện ích Window sidebar do vậy kỹ thuật lập
trình chỉ đơn giản là xử lý HTML với các đoạn script , đương nhiên nếu muốn làm các gadget
cao cấp thì bạn cần tìm hiểu thêm về gadget api của vista .Với các gadget cao cấp bạn có thể
code bằng Visual Studio 2K5 hay 2K8 dùng WPF rất dễ dàng ( xin lưu ý là gadget chỉ có trên
Vista mặc định đã có Net 3.0 ).
II Gadget có thể làm được những gì?
Nếu dựa trên tiêu chí là các công nghệ để cấu thành lên gadget thì có tất cả 3 loại gadget ;
-Mini web application: ứng dụng web nhỏ sử dụng HTML,CSS và các script (
Vbscript,Java,J..etc)
- Data application : ứng dụng có truy xuất dữ liệu sử dụng HTML ,DHTML, DOM Ajax.Gadget
loại này có thể kết nối đến các dịch vụ web để truy xuất dữ liệu và hiển thị ra cho người dung
cuối như : khai thác dịch vụ rss, chỉ số chứng khoán,thông tin thời tiết các miền..etc
-Mini utilities :Có tác dụng như một tiện ích dùng :ActiveX object, gadget API và DHTML…ví
dụ như các gadget đo CPU,hiển thị đồng hồ số..hay thậm chí là các tiện ích truy xuất tài nguyên
hệ thống và rất nhiều công việc khác.
IV.Dữ liệu mà gadget sử dụng
Gadget có thể truy xuất dữ liệu từ rất nhiều nguồn :
- RSS/XML
- Các trang web
- Các dịch vụ web
- Tài nguyên hệ thống : file,folder
Và đương nhiên truy xuất được vào các hệ quản trị dữ liệu nhờ ActiveX object…
V.Cấu trúc một gadget
Ngoài các gadget chuẩn , các gadget mà chúng ta thêm vào sẽ nằm tại thư mục sau :
C:user<user_name>app datalocalmicrosoftwindows side bargadgets
C: --> là ổ đĩa cài vista
<user_name> --> là tên người dùng hiện thời ví dụ , ví dụ haipt.
Tất cả các file cấu thành lên Gadget thường được đặt trong thư mục này,
Các file chính của một gadget gồm có
- gadget.xml : Đây là file rất quan trọng , nó lưu trữ các thông số cấu hình của 1 gadget như là
tên tác giả,phiên bản sản phẩm.. dưới dạng thức XML.Bạn không cần biết nhiều về format này
vẫn có thể sửa đổi dễ dàng ,trong đó có hai dòng đặc biệt quan trọng
<hosts>
<host name="sidebar">
<base type="HTML" apiVersion="1.0.0" src="gadget.html" />
<permissions>full</permissions>
<platform minPlatformVersion="1.0" />
<defaultImage src="" />
</host>
</hosts>
</gadget>
Dòng bôi đỏ đầu tiên cho biết file html được đưa lên sidebar là file gadget.html ở cùng thư mục,
dòng bôi đỏ thứ 2 xác định quyền han cho ,nếu chúng ta không đặtgadget này là toàn quyền
truy xuất hệ thống là full thì các chức năng truy xuất hệ thống của gadget có thể sẽ không dung
được do bị lỗi cấm truy nhập.
-File [Gadget_Name].html : đây là file được xác định thông qua tag : src trong file XML chính, ở
ví dụ này nó có tên gadget.html, file html này sẽ được đưa lên sidebar khi gadget được cài đặt
-Các file .CSS : viết tắt của chữ cascades style sheet, các file này lưu cấu hình của file html
tương ứng ,rất quen thuộc với dân làm web, ví dụ dưới là nội dụng 1 file CSS
body
1. {
2. width :129;
3. height:70;
4. font-family:Calibri;
5. font-size:11px;
6. margin: 0;
7. padding: 0;
8. text-align:center;
9. }
Kích cỡ mặc định của 1 gadget thường là 129 pixel , dù ta có thể chỉnh to hơn thành 250 nhưng
theo tôi bạn lên để chế đó chuẩn và thiết kế 1 gadget theo kích thước này .
V.Lập trình với Gadget bằng Visual Studio 2005 -2008
1.Cài đặt addin & gagget template project cho Visual Studio 2005 -2008
Ngoài cách tự dựng lấy các file cần thiết để làm một gadget, chúng ta còn có thể xây dựng một
gadget template và intstall nhanh chóng bằng Visual studio 2005 – 2008 .Dễ hiểu thôi, chúng ta
cần một công cụ mạnh để soạn ,thiết kế html, viết script có hỗ trợ gợi nhớ code…và nhiều thứ
khác nữa.Dù notepade là công cụ soạn thảo cũng khá mạnh đấy nhưng hãy quên nó đi .
Các bước tiến hành như sau ..
– Cài đặt Visual studio 2008 hoặc 2008, ở đây tôi chọn bản 2008,
– Cài đặt phần addin : RunVistaGadgetAddInSetup, bạn có thể download phần mềm miễn phí
này tại địa chỉ :
http://www.codeproject.com/KB/gadgets/RunVistaGadget.aspx
Sau khi cài đặt thì chương trình này sẽ tích hợp vào visual studio, hỗ trợ chúng ta tạo template
gadget và cung cấp luôn tiện ích “Run vista gadget” trên menu tool.Nếu chưa thấy thì có thể nó
chưa được load,bạn cần vào menu ToolsAddin-Manager để lôi nó ra
2. Gadget đầu tiên – Light google
Dân IT thì 100% đều dung google vậy tại sao không để nó lên sidebar cho tiện nhỉ ?? Gadget của
chúng ta sẽ có giao diện như một google thu nhỏ,khi cần tìm kiếm chỉ việc gõ từ khóa lên gadget
rồi enter là xong ! để lập trình được một gadget tiện dụng như vậy ta chỉ mất có 5 dòng ,dưới đây
là chi tiết các bước.code
2.1 Tạo gadget template project
- Trong cửa sô Visual studio 2008 , chọn menu File-->New-->Web site…
Nếu chúng ta cài đặt VistaGadgetAddIn thành công thì hộp thoại New Website sẽ hiện ra như
hình dưới.Template HelloWorldVistaGadget đã được dựng sẵn với các file cần thiết như CSS,
setting…..bạn nhắp tiếp vào template này và nhấn OK
.VS2k8 sẽ hiển thị tiếp hộp thoại yêu cầu upgrade lên Net 3.5,bạn có thể bỏ qua hoặc chấp nhận
nếu viết gadget bằng siverlight hoặc WPF .
Cuối cùng cửa số solution explorer hiện ra như hình dưới.
Trong các file, folder trên ,ngoài các file chính gadget.xml: lưu thông tin cấu hình gadget,
gadget.html :chính là trang web sẽ được đưa lên sidebar ,và file css thì còn lại có thể xóa
được,file gadget.js là file script được tạo sẵn để chứa code javascript, tuy nhiên nếu bạn dùng
vbscript thì có thể thay bằng file gadget.vbs rồi thay đổi dòng sau trong file gadget.html
<script src="scripts/gadget.js" type="text/javascript"></script>
Nhắp đúp chuột vào file gadget.html , ta thấy các đoạn mã có sẵn như sau
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>Untitled Page</title>
 <link href="css/gadget.css" type="text/css" rel="Stylesheet"/>
 <script src="scripts/gadget.js" type="text/javascript"></script>
 </head>
 <body onload="document.body.focus();">
 <div>
 Hello World!
 </div>
 </body>
 </html>
OK ! bây giờ bạn hãy chạy thử gadget helloworl này xem sao, ta chọn menu toolrunVistagaget
Khi hộp thoại sercurity warning hiện ra,nhấn tiếp install để cài đặt gadget.
Kết quả cuối cùng hiển thị trên sidebar có thể làm bạn hơi thất vọng
Đương nhiên rồi vì nó chỉ có một lệnh là hiển thị chuỗi hello world thôi mà, để làm được một
gaget hữu dụng ta cần động tay chân một chút , bạn có thể dùng một công cụ nào đó chuyên
dụng để thiết kế 1 trang web có 1 textbox và 1 image của chữ GOOGLE như Microsoft Fronpage
2003 chẳng hạn hoặc có thể tận dụng luôn chức năng design webpage của VS2k8.
Sau 3 phút loay hoay, trang web light google của tôi như sau :
Tôi chọn chế độ split để xem cả code lần design, trông cũng không tệ lắm nhỉ
Hình ảnh GOOGLE là tôi capture lại từ http://www.google.com rồi resize cho nhỏ lại, vì chúng
ta chỉ nên giới hạn trong 1 khung 129 x 60 pixel thôi ạ, bạn có thể xóa hết nôi dung file
gadget.html ở trên rồi paste đoạn mã sau vào thay thế
1. <html xmlns="http://www.w3.org/1999/xhtml">
2. <head>
3. <title>Untitled Page</title>
4. <link href="css/gadget.css" type="text/css" rel="Stylesheet"/>
5. <script src="scripts/gadget.js" type="text/javascript"></script>
6. </head>
7. <body onload="document.body.focus();">
8. <div style="height: 19px" dir="rtl">
9. <img alt="" src="images/logo_plain.png"
10. style="height: 35px; width: 97px; margin-right: 0px" /></div>
11. <input name="txtKeyWord" id="txtKeyWord" type ="text" value="SEX"
maxlength ="25" onkeyup="onKeyUpEventhandler()"
12. style="width: 119px" />
13. </body>
14. </html>
Đây chỉ là những dòng mã HTML khá đơn giản, nó tạo ra 1 trang html gồm 1 image : chữ
Google ( được load từ đường dẫn images/logo_plain.png tính từ thư mục hiện thời) và 1
textbox để người dung gõ từ khóa tìm kiếm, nếu bạn chưa rành thì cũng không vấn đề gì vì
bạn chỉ cần vọc Front page trong bộ office 2k3 tầm 10-15 phút là hiểu thôi , chú ý 2 dòng quan
trọng
1. <script src="scripts/gadget.js" type="text/javascript"></script>
Dòng trênkhai báo file script sử dụng là file gadget.js ,nằm trong thư mục script ở thư mục hiện
hành và là java script
1. <input name="txtKeyWord" id="txtKeyWord" type ="text" value="SEX" maxlength
="25" onkeyup="onKeyUpEventhandler(event);"
Dòng này tạo một textbox và dung function onKeyUpEventhandler để handle sự kiện nhả phím
của textbox này
Function sử lý sự kiện này tôi đặt trong file gadget.js chỉ vỏn vẹn có vài dòng lệnh khai thác
google
1. function onKeyUpEventhandler(){
2. if ( window.event.keyCode == 13 ){ // Enter key ??
3. var strKeyWordToSearch = document.getElementById("txtKeyWord").value ;
4. if (strKeyWordToSearch.length ==0) return ;
5. var strUrl ="http://www.google.com.vn/search?hl=vi&q=" +strKeyWordToSearch
+ "&meta=" ;
6. window.open(strUrl) ;
7. }
8. }
Vậy là xong. Chúng ta vừa tạo xong 1 gadget light google nhỏ gọn trong , bạn thử gõ từkhoảng
7 phút, bây giờ thử chạy và xem kết quả nhé khóa tìm kiếm vào xem..rất tuyệt đấy !
Đây là đoạn mã Vbscript tương đương dành cho các fan VB, bạn xóa dòng
1. <script src="scripts/gadget.js" type="text/javascript"></script>
Trong file html, và paste đoạn mã sau vào thay thế
1. <script type="text/vbscript">
2. function onKeyUpEventhandler()
3. dim strKeyWordToSearch
4. if ( window.event.keyCode = 13 ) then ' Enter key ??
5. strKeyWordToSearch= document.getElementById("txtKeyWord").value
6. if strKeyWordToSearch<>"" then
7. window.open("http://www.google.com.vn/search?hl=vi&q=" & strKeyWordToSearch
& "&meta=" )
8. end if
9. end if
10. end function
11. </script>
File gadget.js là thừa vì tôi đã nhúng luôn script vào thẳng file html
3.– Active Run gadget
Lần này, tôi sẽ demo kỹ thuật lập trình với các active object để tăng cường sức mạnh cho các
gadget, chúng ta sẽ thiết kế 1 gadget thay cho chức năng startrun của window.
3.1 Như project trước, chúng ta tạo một web site với project template là : HelloWord vista
gadget
3.2.Bạn có thể soản sửa lại thông tin gadget cho phù hợp và thiết kế một trang html nhỏ
gọn dung fronpage hoạc 1 html editor như VS2k5 –VS2k8 IDE, vì chúng ta chỉ cần 1 textbox
để user nhập lệnh ví dụ :MSCONFIG và 1 inage hay label thể hiện chữ RUN, nếu lười thì bạn
paste luôn đoạn code sau vào file html
1. <html xmlns="http://www.w3.org/1999/xhtml">
2. <head>
3. <title>Untitled Page</title>
4. <link href="css/gadget.css" type="text/css" rel="Stylesheet"/>
5. <script language="vbscript" >
6. sub onKeyupEventhandler()
7. dim strCommand
8. on error Resume Next
9. if window.event.keyCode=13 then
10. strCommand= document.getElementById("txtCMD").value
11. Dim objShell
12. Set objShell = CreateObject("WScript.Shell")
13. objShell.Run( strCommand)
14. set objShell= nothing
15. document.getElementById("txtCMD").value =""
16. end if
17. exit sub
18. end sub
19. </script>
20. </head>
21. <body onload="document.body.focus()">
22. <div style="height: 19px" dir="rtl">
23. <p align="center" style="height: 20px">
24. <b><font size="4">RUN</font></b></p>
25. </div>
26. <input name="txtCMD" id="txtCMD" type ="text" maxlength ="25"
onkeyup="onKeyupEventhandler()"
27. style="width: 119px" />
28. </body>
29. </html>
Các dòng mã đều hết sức quen thuộc,vì nó ko khác gì nhiều mới light google gadget
Tâm điểm của đoạn mã là các dòng
1. 33 Dim objShell
2. 34 Set objShell = CreateObject("WScript.Shell")
3. 35 objShell.Run( strCommand)
4. 36
Tạo một ActiveX object và thực thi method run của object này, WScript.Shell là một đối tượng
vô cùng mạnh mẽ trong window cho phép bạn thao tác được với các tài nguyên hệ thống như file
,disk, can thiệp registry, đọc cpu usage..etc, để biết thêm chi tiết về WScript.Shell và các
activeX objext khác xin tham khảo tài liệu SDK hoặc đơ giản là google ,Ngoài ra chúng ta còn
có thể tạo đối tượng ActiveX object khác như ADODB.Connection để kết nối tới CSDL, hay
Excel workbook để xử lý các bảng tính.., etc..
Cuối cùng đừng quên chạy thử, rồi gõ vô textbox : msconfig… woa ! it works….., chịu khó
chăm chút lại giao diện chút nữa thì 2 gadget bạn vừa tạo sẽ không thua gì các gadget trên
gallery của bác bill đâu đấy nhé.
VI. Kết luận
Gadget là style lập trình tuy không mới nhưng rất thú vị theo đúng phong cách của vista , bài viết
trên chỉ demo gadget ở mức độ cơ bản, bạn nên tìm hiểu thêm các tài liệu ở phần phụ lục để có
thể vận dụng được hết sức mạnh của gadget .Ví dụ:
- Lập trình 1 gadget để đọc truyện online bằng cách khai thác trang web lưu trữ truyện tranh trực
tuyến comic.vuilen.com
- Làm một từ điển trực tuyến với hơn 30 ngôn ngữ ( nếu code cái này mất khoảng 30 dòng
- Tạo một gadget báo thư mới của google sử dụng gmail api
- V.v .v.v.
VII. Phụ lục
1.Các video hướng dẫn lập trình gadget của anh Trịnh Minh Cường và source code bạn có
thể download từ hai địa chỉ sau :
+ Link Video AVI trên mediafire.com : 800M rất rõ và sắc nét dành cho các bạn có đường
truyền tốt
http://www.mediafire.com/?sharekey=85ecef7d74484245ab1eab3e9fa335caa4f5a10d 73ed7778
+ linh video FLV : khoảng 160M ,chất lượng tạm ổn và source code
http://cid-3925eb2256203dc7.skydrive.live.com/browse.aspx/Public/MHC/GadgetPrograming
Tôi đã demo cho các bạn gadget loại 1 và 3,và trong video tut trên, A Cường- Chuyên gia công
nghệ của Microsoft đã trình diễn kỹ thuật sử dụng gadget để truy xuất 1 JSON Webservice viết
bằng WCF ( gadget loại 2) , cùng với rất nhiều kiến thức khác
2.Các tài liệu khác
+ DHTML & JavaScript căn bản: JavaScript and DHTML Cookbook.chm
+ vbscript:VBScript UNLEASHED.rar
+ Sử dụng Frongage:Frontpage.pdf
+Lập trình vista gadget: Sams.Creating.Vista.Gadgets.May.2008.chm
+ Source code của hai Gadget Light Google và Active run
Tất cả đều có trong địa chỉ này : tầm 18M
http://www.mediafire.com/file/xjbjwleptzm/Gadgets.zip
- Tổng hợp Tech24.vn –
- Đóng gói ebook KenhSinhVien.Net -

Más contenido relacionado

La actualidad más candente

Một vài thủ thuật trong window 8
Một vài thủ thuật trong window 8Một vài thủ thuật trong window 8
Một vài thủ thuật trong window 8pl Chau
 
Asp.net mvc framework qua cac vi du
Asp.net mvc framework  qua cac vi duAsp.net mvc framework  qua cac vi du
Asp.net mvc framework qua cac vi duKim Hyun Hai
 
TÀI LIỆU HƯỚNG DẪN ĐÓNG GÓI MODULE MAGENTO 1.7
TÀI LIỆU HƯỚNG DẪN ĐÓNG GÓI MODULE  MAGENTO 1.7TÀI LIỆU HƯỚNG DẪN ĐÓNG GÓI MODULE  MAGENTO 1.7
TÀI LIỆU HƯỚNG DẪN ĐÓNG GÓI MODULE MAGENTO 1.7dvms
 

La actualidad más candente (7)

Aspnet 3.5 -06
Aspnet 3.5 -06Aspnet 3.5 -06
Aspnet 3.5 -06
 
Một vài thủ thuật trong window 8
Một vài thủ thuật trong window 8Một vài thủ thuật trong window 8
Một vài thủ thuật trong window 8
 
J query
J queryJ query
J query
 
Joomla developermanual
Joomla developermanualJoomla developermanual
Joomla developermanual
 
Asp.net mvc framework qua cac vi du
Asp.net mvc framework  qua cac vi duAsp.net mvc framework  qua cac vi du
Asp.net mvc framework qua cac vi du
 
Joo
JooJoo
Joo
 
TÀI LIỆU HƯỚNG DẪN ĐÓNG GÓI MODULE MAGENTO 1.7
TÀI LIỆU HƯỚNG DẪN ĐÓNG GÓI MODULE  MAGENTO 1.7TÀI LIỆU HƯỚNG DẪN ĐÓNG GÓI MODULE  MAGENTO 1.7
TÀI LIỆU HƯỚNG DẪN ĐÓNG GÓI MODULE MAGENTO 1.7
 

Similar a Kỹ thuật lập trình Gadget

Change password user ad 2k8r2 by web
Change password user ad 2k8r2 by webChange password user ad 2k8r2 by web
Change password user ad 2k8r2 by weblaonap166
 
Cắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopCắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopLương Bá Hợp
 
Giao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharpGiao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharpngohanty13
 
Devexpress cho asp.net
Devexpress cho asp.netDevexpress cho asp.net
Devexpress cho asp.netthichxoidau
 
2816 mcsa--part-11--domain-c111ntroller--join-domain-1
2816 mcsa--part-11--domain-c111ntroller--join-domain-12816 mcsa--part-11--domain-c111ntroller--join-domain-1
2816 mcsa--part-11--domain-c111ntroller--join-domain-1Bình Trọng Án
 
2 cách cài đặt phần mềm autocad 2015-2016-2017-2018 không bao giờ bị lỗi
2 cách cài đặt phần mềm autocad 2015-2016-2017-2018 không bao giờ bị lỗi2 cách cài đặt phần mềm autocad 2015-2016-2017-2018 không bao giờ bị lỗi
2 cách cài đặt phần mềm autocad 2015-2016-2017-2018 không bao giờ bị lỗiKiến Trúc KISATO
 
ASP.NET basic
ASP.NET basicASP.NET basic
ASP.NET basicmeocon21
 
IT120-2. Bắt đầu với Hello World
IT120-2. Bắt đầu với Hello WorldIT120-2. Bắt đầu với Hello World
IT120-2. Bắt đầu với Hello WorldMultiUni
 
Bai tap java_script-html-2016
Bai tap java_script-html-2016Bai tap java_script-html-2016
Bai tap java_script-html-2016viethoang89
 
Huong dan su dung iar cho stm8(20 feb2013)
Huong dan su dung iar cho stm8(20 feb2013)Huong dan su dung iar cho stm8(20 feb2013)
Huong dan su dung iar cho stm8(20 feb2013)huynhvan y
 
Về Visual Basic 20 5
Về Visual Basic 20 5Về Visual Basic 20 5
Về Visual Basic 20 5Phong Lữ
 
Tu hoc javascript
Tu hoc javascriptTu hoc javascript
Tu hoc javascriptzingoncmu2
 
Tự học JavaScript
Tự học JavaScriptTự học JavaScript
Tự học JavaScriptÁnh Nguyễn
 

Similar a Kỹ thuật lập trình Gadget (20)

Change password user ad 2k8r2 by web
Change password user ad 2k8r2 by webChange password user ad 2k8r2 by web
Change password user ad 2k8r2 by web
 
Cắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopCắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshop
 
Asp control
Asp controlAsp control
Asp control
 
Giao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharpGiao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharp
 
Gioi thieu joomla
Gioi thieu joomlaGioi thieu joomla
Gioi thieu joomla
 
Devexpress cho asp.net
Devexpress cho asp.netDevexpress cho asp.net
Devexpress cho asp.net
 
Bai giangvb.net
Bai giangvb.netBai giangvb.net
Bai giangvb.net
 
2816 mcsa--part-11--domain-c111ntroller--join-domain-1
2816 mcsa--part-11--domain-c111ntroller--join-domain-12816 mcsa--part-11--domain-c111ntroller--join-domain-1
2816 mcsa--part-11--domain-c111ntroller--join-domain-1
 
Giáo trình asp.net với c sharp
Giáo trình asp.net với c sharpGiáo trình asp.net với c sharp
Giáo trình asp.net với c sharp
 
2 cách cài đặt phần mềm autocad 2015-2016-2017-2018 không bao giờ bị lỗi
2 cách cài đặt phần mềm autocad 2015-2016-2017-2018 không bao giờ bị lỗi2 cách cài đặt phần mềm autocad 2015-2016-2017-2018 không bao giờ bị lỗi
2 cách cài đặt phần mềm autocad 2015-2016-2017-2018 không bao giờ bị lỗi
 
ASP.NET basic
ASP.NET basicASP.NET basic
ASP.NET basic
 
Cac bai tap .net
Cac bai tap .netCac bai tap .net
Cac bai tap .net
 
IT120-2. Bắt đầu với Hello World
IT120-2. Bắt đầu với Hello WorldIT120-2. Bắt đầu với Hello World
IT120-2. Bắt đầu với Hello World
 
Nguyentrongnghia
NguyentrongnghiaNguyentrongnghia
Nguyentrongnghia
 
Ajax Control ToolKit
Ajax Control ToolKitAjax Control ToolKit
Ajax Control ToolKit
 
Bai tap java_script-html-2016
Bai tap java_script-html-2016Bai tap java_script-html-2016
Bai tap java_script-html-2016
 
Huong dan su dung iar cho stm8(20 feb2013)
Huong dan su dung iar cho stm8(20 feb2013)Huong dan su dung iar cho stm8(20 feb2013)
Huong dan su dung iar cho stm8(20 feb2013)
 
Về Visual Basic 20 5
Về Visual Basic 20 5Về Visual Basic 20 5
Về Visual Basic 20 5
 
Tu hoc javascript
Tu hoc javascriptTu hoc javascript
Tu hoc javascript
 
Tự học JavaScript
Tự học JavaScriptTự học JavaScript
Tự học JavaScript
 

Último

SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào môBryan Williams
 
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...Xem Số Mệnh
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếngTonH1
 
Mạch điện tử - Điện tử số sáng tạo VN-new.pdf
Mạch điện tử - Điện tử số sáng tạo VN-new.pdfMạch điện tử - Điện tử số sáng tạo VN-new.pdf
Mạch điện tử - Điện tử số sáng tạo VN-new.pdfXem Số Mệnh
 
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...Nguyen Thanh Tu Collection
 
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdfGieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdfXem Số Mệnh
 
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập PLDC.pdfdong92356
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Học viện Kstudy
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHThaoPhuong154017
 
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdfXem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdfXem Số Mệnh
 
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"LaiHoang6
 
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...Xem Số Mệnh
 
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ haoBookoTime
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa2353020138
 
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...Xem Số Mệnh
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...Nguyen Thanh Tu Collection
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )lamdapoet123
 
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...PhcTrn274398
 

Último (20)

SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
 
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
Xem tử vi miễn phí trực tuyến cho kết quả chính xác cùng luậ...
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
 
Mạch điện tử - Điện tử số sáng tạo VN-new.pdf
Mạch điện tử - Điện tử số sáng tạo VN-new.pdfMạch điện tử - Điện tử số sáng tạo VN-new.pdf
Mạch điện tử - Điện tử số sáng tạo VN-new.pdf
 
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
VẬN DỤNG KIẾN THỨC LIÊN MÔN TRONG GIẢI BÀI TẬP ÔN THI THPTQG MÔN SINH HỌC - H...
 
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdfGieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
Gieo quẻ kinh dịch, xin xăm,Xin lộc thánh.pdf
 
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
 
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdfXem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
 
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
syllabus for the book "Tiếng Anh 6 i-Learn Smart World"
 
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
Lập lá số tử vi trọn đời có luận giải chi tiết, chính xác n...
 
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
1第一课:你好.pptx. Chinese lesson 1: Hello.Nỉ hao
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
 
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
Luận giải tử vi của 12 con giáp năm 2024 chi tiết và chính xác -...
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
 
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
 

Kỹ thuật lập trình Gadget

  • 1. Kỹ thuật lập trình gadget cho Window Vista Tên bài viết: Kỹ thuật lập trình gadget cho Window Vista Tác giả: Phạm Hải - caulacbovb.com Cấp độ bài viết: Chưa đánh giá Tóm tắt: Hướng dẫn lập trình gadget cho Window Vista I.Dẫn nhập Windows Vista cùng với vẻ hào nhoáng của nó đã làm say mê rất nhiều người và một trong các đặc trưng ấn tượng nhất chính là Windows sidebar với các tiện ích nhỏ như :lịch ,đồng hồ ,CPU ( gọi là gadget )... chiếm một phần trên desktop, bạn có thể dễ dàng tùy chỉnh những công cụ này để phù hợp cũng như hiển thị ở trên cùng, ở dạng cửa số lớn và cũng có thể đặt cứ chỗ nào trên màn hình bằng các điều chỉnh trong Windows Sidebar properties..Điều tuyệt vời hơn nữa là lập trình các gadget này cực kỳ dễ dàng ,trong giới hạn bài viết này tôi sẽ hướng dẫn các bạn làm hai gadget tiện ích đầy sức mạnh chỉ trong vòng 15 phút với chưa đến 20 dòng code bằng javascript , bạn đừng lo mình không thạo java vì tôi cũng sẽ demo bằng cả ngôn ngữ kịch bản thông dụng nhất trên window hiện nay :- VbScript - .Những người có kinh nghiệm không nhiều về VB cũng sẽ nắm bắt dễ dàng thôi ! Bạn sẽ học được những gì từ bài viết này: - Bản chất của vista gadget hay kỹ thuật lập trình với html dùng JavaScript và VbScript - Kỹ thuật viết và cài đặt gadget bằng Visual studio 2008 –Visual studio 2005 step by step trong vòng 15 phút - Kỹ thuật viết,debug html nhanh chóng với Microsoft FrontPage 2003 II.Giới thiệu Vista Gadget Gadget là một tiện ích nhỏ gắn trên thanh sidebar ,thường có kích thước 139 pixel , cung cấp nhiều thông tin hữu ích như : CPU,ngày tháng ,nhật ký,thời tiết… bạn có thể tìm thấy rất nhiều gadget tuyệt vời nữa tại địa chỉ này http://vista.gallery.microsoft.com/vista/SideBar.aspx?mkt=en-us với một thư viên đồ sộ gần 2K gadget. Thực chất gadget không phải là một dạng file thực thi kiểu mới trên Vista mà đơn giản chỉ là một hay nhiều trang HTML được host bới tiện ích Window sidebar do vậy kỹ thuật lập trình chỉ đơn giản là xử lý HTML với các đoạn script , đương nhiên nếu muốn làm các gadget cao cấp thì bạn cần tìm hiểu thêm về gadget api của vista .Với các gadget cao cấp bạn có thể code bằng Visual Studio 2K5 hay 2K8 dùng WPF rất dễ dàng ( xin lưu ý là gadget chỉ có trên Vista mặc định đã có Net 3.0 ).
  • 2. II Gadget có thể làm được những gì? Nếu dựa trên tiêu chí là các công nghệ để cấu thành lên gadget thì có tất cả 3 loại gadget ; -Mini web application: ứng dụng web nhỏ sử dụng HTML,CSS và các script ( Vbscript,Java,J..etc) - Data application : ứng dụng có truy xuất dữ liệu sử dụng HTML ,DHTML, DOM Ajax.Gadget loại này có thể kết nối đến các dịch vụ web để truy xuất dữ liệu và hiển thị ra cho người dung cuối như : khai thác dịch vụ rss, chỉ số chứng khoán,thông tin thời tiết các miền..etc -Mini utilities :Có tác dụng như một tiện ích dùng :ActiveX object, gadget API và DHTML…ví dụ như các gadget đo CPU,hiển thị đồng hồ số..hay thậm chí là các tiện ích truy xuất tài nguyên hệ thống và rất nhiều công việc khác.
  • 3. IV.Dữ liệu mà gadget sử dụng Gadget có thể truy xuất dữ liệu từ rất nhiều nguồn : - RSS/XML - Các trang web - Các dịch vụ web - Tài nguyên hệ thống : file,folder Và đương nhiên truy xuất được vào các hệ quản trị dữ liệu nhờ ActiveX object…
  • 4. V.Cấu trúc một gadget Ngoài các gadget chuẩn , các gadget mà chúng ta thêm vào sẽ nằm tại thư mục sau : C:user<user_name>app datalocalmicrosoftwindows side bargadgets C: --> là ổ đĩa cài vista <user_name> --> là tên người dùng hiện thời ví dụ , ví dụ haipt. Tất cả các file cấu thành lên Gadget thường được đặt trong thư mục này, Các file chính của một gadget gồm có - gadget.xml : Đây là file rất quan trọng , nó lưu trữ các thông số cấu hình của 1 gadget như là tên tác giả,phiên bản sản phẩm.. dưới dạng thức XML.Bạn không cần biết nhiều về format này vẫn có thể sửa đổi dễ dàng ,trong đó có hai dòng đặc biệt quan trọng <hosts> <host name="sidebar"> <base type="HTML" apiVersion="1.0.0" src="gadget.html" /> <permissions>full</permissions> <platform minPlatformVersion="1.0" /> <defaultImage src="" /> </host> </hosts> </gadget> Dòng bôi đỏ đầu tiên cho biết file html được đưa lên sidebar là file gadget.html ở cùng thư mục, dòng bôi đỏ thứ 2 xác định quyền han cho ,nếu chúng ta không đặtgadget này là toàn quyền truy xuất hệ thống là full thì các chức năng truy xuất hệ thống của gadget có thể sẽ không dung được do bị lỗi cấm truy nhập. -File [Gadget_Name].html : đây là file được xác định thông qua tag : src trong file XML chính, ở
  • 5. ví dụ này nó có tên gadget.html, file html này sẽ được đưa lên sidebar khi gadget được cài đặt -Các file .CSS : viết tắt của chữ cascades style sheet, các file này lưu cấu hình của file html tương ứng ,rất quen thuộc với dân làm web, ví dụ dưới là nội dụng 1 file CSS body 1. { 2. width :129; 3. height:70; 4. font-family:Calibri; 5. font-size:11px; 6. margin: 0; 7. padding: 0; 8. text-align:center;
  • 6. 9. } Kích cỡ mặc định của 1 gadget thường là 129 pixel , dù ta có thể chỉnh to hơn thành 250 nhưng theo tôi bạn lên để chế đó chuẩn và thiết kế 1 gadget theo kích thước này . V.Lập trình với Gadget bằng Visual Studio 2005 -2008 1.Cài đặt addin & gagget template project cho Visual Studio 2005 -2008 Ngoài cách tự dựng lấy các file cần thiết để làm một gadget, chúng ta còn có thể xây dựng một gadget template và intstall nhanh chóng bằng Visual studio 2005 – 2008 .Dễ hiểu thôi, chúng ta cần một công cụ mạnh để soạn ,thiết kế html, viết script có hỗ trợ gợi nhớ code…và nhiều thứ khác nữa.Dù notepade là công cụ soạn thảo cũng khá mạnh đấy nhưng hãy quên nó đi . Các bước tiến hành như sau .. – Cài đặt Visual studio 2008 hoặc 2008, ở đây tôi chọn bản 2008, – Cài đặt phần addin : RunVistaGadgetAddInSetup, bạn có thể download phần mềm miễn phí này tại địa chỉ : http://www.codeproject.com/KB/gadgets/RunVistaGadget.aspx Sau khi cài đặt thì chương trình này sẽ tích hợp vào visual studio, hỗ trợ chúng ta tạo template gadget và cung cấp luôn tiện ích “Run vista gadget” trên menu tool.Nếu chưa thấy thì có thể nó chưa được load,bạn cần vào menu ToolsAddin-Manager để lôi nó ra 2. Gadget đầu tiên – Light google Dân IT thì 100% đều dung google vậy tại sao không để nó lên sidebar cho tiện nhỉ ?? Gadget của
  • 7. chúng ta sẽ có giao diện như một google thu nhỏ,khi cần tìm kiếm chỉ việc gõ từ khóa lên gadget rồi enter là xong ! để lập trình được một gadget tiện dụng như vậy ta chỉ mất có 5 dòng ,dưới đây là chi tiết các bước.code 2.1 Tạo gadget template project - Trong cửa sô Visual studio 2008 , chọn menu File-->New-->Web site… Nếu chúng ta cài đặt VistaGadgetAddIn thành công thì hộp thoại New Website sẽ hiện ra như hình dưới.Template HelloWorldVistaGadget đã được dựng sẵn với các file cần thiết như CSS, setting…..bạn nhắp tiếp vào template này và nhấn OK .VS2k8 sẽ hiển thị tiếp hộp thoại yêu cầu upgrade lên Net 3.5,bạn có thể bỏ qua hoặc chấp nhận nếu viết gadget bằng siverlight hoặc WPF .
  • 8. Cuối cùng cửa số solution explorer hiện ra như hình dưới. Trong các file, folder trên ,ngoài các file chính gadget.xml: lưu thông tin cấu hình gadget, gadget.html :chính là trang web sẽ được đưa lên sidebar ,và file css thì còn lại có thể xóa được,file gadget.js là file script được tạo sẵn để chứa code javascript, tuy nhiên nếu bạn dùng vbscript thì có thể thay bằng file gadget.vbs rồi thay đổi dòng sau trong file gadget.html <script src="scripts/gadget.js" type="text/javascript"></script> Nhắp đúp chuột vào file gadget.html , ta thấy các đoạn mã có sẵn như sau <html xmlns="http://www.w3.org/1999/xhtml">  <head>  <title>Untitled Page</title>  <link href="css/gadget.css" type="text/css" rel="Stylesheet"/>  <script src="scripts/gadget.js" type="text/javascript"></script>  </head>  <body onload="document.body.focus();">  <div>  Hello World!  </div>  </body>  </html>
  • 9. OK ! bây giờ bạn hãy chạy thử gadget helloworl này xem sao, ta chọn menu toolrunVistagaget Khi hộp thoại sercurity warning hiện ra,nhấn tiếp install để cài đặt gadget. Kết quả cuối cùng hiển thị trên sidebar có thể làm bạn hơi thất vọng Đương nhiên rồi vì nó chỉ có một lệnh là hiển thị chuỗi hello world thôi mà, để làm được một gaget hữu dụng ta cần động tay chân một chút , bạn có thể dùng một công cụ nào đó chuyên dụng để thiết kế 1 trang web có 1 textbox và 1 image của chữ GOOGLE như Microsoft Fronpage 2003 chẳng hạn hoặc có thể tận dụng luôn chức năng design webpage của VS2k8.
  • 10. Sau 3 phút loay hoay, trang web light google của tôi như sau : Tôi chọn chế độ split để xem cả code lần design, trông cũng không tệ lắm nhỉ Hình ảnh GOOGLE là tôi capture lại từ http://www.google.com rồi resize cho nhỏ lại, vì chúng ta chỉ nên giới hạn trong 1 khung 129 x 60 pixel thôi ạ, bạn có thể xóa hết nôi dung file gadget.html ở trên rồi paste đoạn mã sau vào thay thế 1. <html xmlns="http://www.w3.org/1999/xhtml"> 2. <head> 3. <title>Untitled Page</title> 4. <link href="css/gadget.css" type="text/css" rel="Stylesheet"/>
  • 11. 5. <script src="scripts/gadget.js" type="text/javascript"></script> 6. </head> 7. <body onload="document.body.focus();"> 8. <div style="height: 19px" dir="rtl"> 9. <img alt="" src="images/logo_plain.png" 10. style="height: 35px; width: 97px; margin-right: 0px" /></div> 11. <input name="txtKeyWord" id="txtKeyWord" type ="text" value="SEX" maxlength ="25" onkeyup="onKeyUpEventhandler()" 12. style="width: 119px" /> 13. </body> 14. </html> Đây chỉ là những dòng mã HTML khá đơn giản, nó tạo ra 1 trang html gồm 1 image : chữ Google ( được load từ đường dẫn images/logo_plain.png tính từ thư mục hiện thời) và 1 textbox để người dung gõ từ khóa tìm kiếm, nếu bạn chưa rành thì cũng không vấn đề gì vì
  • 12. bạn chỉ cần vọc Front page trong bộ office 2k3 tầm 10-15 phút là hiểu thôi , chú ý 2 dòng quan trọng 1. <script src="scripts/gadget.js" type="text/javascript"></script> Dòng trênkhai báo file script sử dụng là file gadget.js ,nằm trong thư mục script ở thư mục hiện hành và là java script 1. <input name="txtKeyWord" id="txtKeyWord" type ="text" value="SEX" maxlength ="25" onkeyup="onKeyUpEventhandler(event);" Dòng này tạo một textbox và dung function onKeyUpEventhandler để handle sự kiện nhả phím của textbox này Function sử lý sự kiện này tôi đặt trong file gadget.js chỉ vỏn vẹn có vài dòng lệnh khai thác google
  • 13. 1. function onKeyUpEventhandler(){ 2. if ( window.event.keyCode == 13 ){ // Enter key ?? 3. var strKeyWordToSearch = document.getElementById("txtKeyWord").value ; 4. if (strKeyWordToSearch.length ==0) return ; 5. var strUrl ="http://www.google.com.vn/search?hl=vi&q=" +strKeyWordToSearch + "&meta=" ; 6. window.open(strUrl) ; 7. } 8. } Vậy là xong. Chúng ta vừa tạo xong 1 gadget light google nhỏ gọn trong , bạn thử gõ từkhoảng 7 phút, bây giờ thử chạy và xem kết quả nhé khóa tìm kiếm vào xem..rất tuyệt đấy !
  • 14. Đây là đoạn mã Vbscript tương đương dành cho các fan VB, bạn xóa dòng 1. <script src="scripts/gadget.js" type="text/javascript"></script> Trong file html, và paste đoạn mã sau vào thay thế 1. <script type="text/vbscript"> 2. function onKeyUpEventhandler() 3. dim strKeyWordToSearch 4. if ( window.event.keyCode = 13 ) then ' Enter key ?? 5. strKeyWordToSearch= document.getElementById("txtKeyWord").value 6. if strKeyWordToSearch<>"" then 7. window.open("http://www.google.com.vn/search?hl=vi&q=" & strKeyWordToSearch & "&meta=" ) 8. end if
  • 15. 9. end if 10. end function 11. </script> File gadget.js là thừa vì tôi đã nhúng luôn script vào thẳng file html 3.– Active Run gadget Lần này, tôi sẽ demo kỹ thuật lập trình với các active object để tăng cường sức mạnh cho các gadget, chúng ta sẽ thiết kế 1 gadget thay cho chức năng startrun của window. 3.1 Như project trước, chúng ta tạo một web site với project template là : HelloWord vista gadget 3.2.Bạn có thể soản sửa lại thông tin gadget cho phù hợp và thiết kế một trang html nhỏ gọn dung fronpage hoạc 1 html editor như VS2k5 –VS2k8 IDE, vì chúng ta chỉ cần 1 textbox để user nhập lệnh ví dụ :MSCONFIG và 1 inage hay label thể hiện chữ RUN, nếu lười thì bạn paste luôn đoạn code sau vào file html 1. <html xmlns="http://www.w3.org/1999/xhtml"> 2. <head> 3. <title>Untitled Page</title> 4. <link href="css/gadget.css" type="text/css" rel="Stylesheet"/>
  • 16. 5. <script language="vbscript" > 6. sub onKeyupEventhandler() 7. dim strCommand 8. on error Resume Next 9. if window.event.keyCode=13 then 10. strCommand= document.getElementById("txtCMD").value 11. Dim objShell 12. Set objShell = CreateObject("WScript.Shell") 13. objShell.Run( strCommand) 14. set objShell= nothing 15. document.getElementById("txtCMD").value ="" 16. end if
  • 17. 17. exit sub 18. end sub 19. </script> 20. </head> 21. <body onload="document.body.focus()"> 22. <div style="height: 19px" dir="rtl"> 23. <p align="center" style="height: 20px"> 24. <b><font size="4">RUN</font></b></p> 25. </div> 26. <input name="txtCMD" id="txtCMD" type ="text" maxlength ="25" onkeyup="onKeyupEventhandler()" 27. style="width: 119px" />
  • 18. 28. </body> 29. </html> Các dòng mã đều hết sức quen thuộc,vì nó ko khác gì nhiều mới light google gadget Tâm điểm của đoạn mã là các dòng 1. 33 Dim objShell 2. 34 Set objShell = CreateObject("WScript.Shell") 3. 35 objShell.Run( strCommand) 4. 36 Tạo một ActiveX object và thực thi method run của object này, WScript.Shell là một đối tượng vô cùng mạnh mẽ trong window cho phép bạn thao tác được với các tài nguyên hệ thống như file ,disk, can thiệp registry, đọc cpu usage..etc, để biết thêm chi tiết về WScript.Shell và các activeX objext khác xin tham khảo tài liệu SDK hoặc đơ giản là google ,Ngoài ra chúng ta còn có thể tạo đối tượng ActiveX object khác như ADODB.Connection để kết nối tới CSDL, hay Excel workbook để xử lý các bảng tính.., etc..
  • 19. Cuối cùng đừng quên chạy thử, rồi gõ vô textbox : msconfig… woa ! it works….., chịu khó chăm chút lại giao diện chút nữa thì 2 gadget bạn vừa tạo sẽ không thua gì các gadget trên gallery của bác bill đâu đấy nhé. VI. Kết luận Gadget là style lập trình tuy không mới nhưng rất thú vị theo đúng phong cách của vista , bài viết trên chỉ demo gadget ở mức độ cơ bản, bạn nên tìm hiểu thêm các tài liệu ở phần phụ lục để có thể vận dụng được hết sức mạnh của gadget .Ví dụ: - Lập trình 1 gadget để đọc truyện online bằng cách khai thác trang web lưu trữ truyện tranh trực tuyến comic.vuilen.com - Làm một từ điển trực tuyến với hơn 30 ngôn ngữ ( nếu code cái này mất khoảng 30 dòng - Tạo một gadget báo thư mới của google sử dụng gmail api - V.v .v.v. VII. Phụ lục 1.Các video hướng dẫn lập trình gadget của anh Trịnh Minh Cường và source code bạn có thể download từ hai địa chỉ sau : + Link Video AVI trên mediafire.com : 800M rất rõ và sắc nét dành cho các bạn có đường truyền tốt http://www.mediafire.com/?sharekey=85ecef7d74484245ab1eab3e9fa335caa4f5a10d 73ed7778 + linh video FLV : khoảng 160M ,chất lượng tạm ổn và source code http://cid-3925eb2256203dc7.skydrive.live.com/browse.aspx/Public/MHC/GadgetPrograming Tôi đã demo cho các bạn gadget loại 1 và 3,và trong video tut trên, A Cường- Chuyên gia công nghệ của Microsoft đã trình diễn kỹ thuật sử dụng gadget để truy xuất 1 JSON Webservice viết bằng WCF ( gadget loại 2) , cùng với rất nhiều kiến thức khác 2.Các tài liệu khác + DHTML & JavaScript căn bản: JavaScript and DHTML Cookbook.chm + vbscript:VBScript UNLEASHED.rar + Sử dụng Frongage:Frontpage.pdf +Lập trình vista gadget: Sams.Creating.Vista.Gadgets.May.2008.chm + Source code của hai Gadget Light Google và Active run Tất cả đều có trong địa chỉ này : tầm 18M http://www.mediafire.com/file/xjbjwleptzm/Gadgets.zip - Tổng hợp Tech24.vn – - Đóng gói ebook KenhSinhVien.Net -