Translate

Thứ Hai, 11 tháng 8, 2014

Bổ sung Thứ, Ngày cho đồng hồ Windows (Add Date to the Clock of Windows)

Bổ sung Thứ, Ngày cho đồng hồ Windows
(Add Date to the Clock of Windows)

1-    Muốn có thứ, ngày với đồng hồ windows (góc dưới phải, trên thanh Taskbar), ta phải nâng độ rộng (hay độ cao) của thanh taskbar.
(Nâng độ rộng taskbar: Nhấn chuột phải vào taskbar để bỏ kiểm Lock the Taskbar, sau đó di chuột đến biên ngang của taskbar, chuột trắng 1 đầu mũi tên biến thành chuột đen 2 đầu mũi tên. Nhấn chuột trái, giữ và kéo lên.
Xong việc, nhớ kiểm lại Lock the Taskbar.)
-        Rộng gấp đôi: thêm thứ (ngày trong tuần)
-        Rộng gấp ba: thêm ngày tháng năm

2-    Trừ những ai có nhu cầu nâng độ rộng taskbar (vd hay mở rất nhiều cửa sổ, thanh taskbar đơn không chứa hết), việc nâng độ rộng sẽ làm ta chướng mắt. Nâng gấp ba sẽ làm giao diện khó coi hơn, hơn nữa chúng lại chiếm diện tích cửa sổ đang mở (Lúc nầy phải kiểm cho taskbar chế độ autohide!)
Lúc nầy buộc phải dùng thêm phần mềm bổ sung thứ, ngày. Phần mềm được nhắc là TclockEx (Free). Tôi trước đây cũng dùng chúng!

3-    Ta có thể dùng phần mềm tự viết:

Như bạn thấy trên hình: bổ sung thứ ngày chỉ chiếm góc nhỏ, và vì in lên màn hình, chúng luôn nằm trên mọi thứ, nhưng không cản hoạt động của các cửa sổ bên dưới.
Phần mềm tự động ẩn, không nằm trên taskbar. Muốn tắt chương trình: Bạn nhấn cùng lúc 2 phím Ctrl và Enter, giao diện nhỏ hiện ra với nút tắt.
Nên cho phần mềm hoạt động ngay lúc windows khởi động: chép nó và dán vào Start Menu\Programs\Startup (user hay all users tùy). Nó chỉ 20KB, hoặc dán shortcut.

Phần mềm nầy download tạiđây!
(Ghi chú: Đã thay đổi exe mới: thay vì mỗi 0.2 giây ghi lên màn hình, sửa lại là mỗi 5 giây.
 Như thế khi chạy, máy tính rất nhẹ nhàng... Cáo lỗi 4 bạn đã load trước. Phiền các bạn dload lại cái mới.)

4-    Với các bạn biết VB6, mã nguồn và Project như sau:

Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Const CtrlKey  As Long = 17
Const EnterKey  As Long = &HD
Private Type ToaDo
    x As Long: y As Long
End Type
Dim xx&, yy&

Private Sub Form_Load()
    MsgBox "Giao diên se biên mât" & vbCrLf & _
    "Nhân Ctrl và Enter lai hiên ra" & vbCrLf & _
    "In lên màn hình góc duoi phai Thu' và Ngày ", vbOKOnly, "Thông Báo"
    Dim Ngay$: Ngay = Format(Now, " d/m/yy")
    Dim MM$(): MM = Split("Bay ChN Hai Ba- Tu- Nam Sáu")
    Dim N&: N = Date Mod 7
    Me.Caption = MM(N) & Ngay
    DoEvents
    Form1.Hide
    xx = ScreenRes.x * 0.93 ' Diêu chinh vi tri x và y
    yy = ScreenRes.y * 0.93
End Sub

Private Function ScreenRes() As ToaDo ' Find ScreenResolution
    ScreenRes.x = Screen.Width \ Screen.TwipsPerPixelX
    ScreenRes.y = Screen.Height \ Screen.TwipsPerPixelY
End Function

Private Sub Timer1_Timer(Index As Integer)
    TextOut GetWindowDC(0), xx, yy, Me.Caption, Len(Me.Caption)
    If GetAsyncKeyState(CtrlKey) And GetAsyncKeyState(EnterKey) Then Form1.Show
End Sub


(Ghi chú: Timer1 nên sửa Interval từ 200 thành 5000 để khi chạy máy nhẹ)

Bạn có thể trao đổi code tại mục nhận xét bên dưới...


-------------
Xem trực tiếp toàn bộ blog Chuyện Linh Tinh

Không có nhận xét nào:

Đăng nhận xét

Trực tuyến

Mục lục Toàn bộ (theo thứ tự thời gian)

Trực tuyến