Viết ứng dụng khóa máy tính của bạn (Windows lock screen)
Hôm nay, mình xin hướng dẫn các bạn viết ứng dụng khóa màn hình desktop, giống như các chương trình quản lý internet, các máy client thường bị khóa màn hình, không được thao tác các ứng dụng, nếu muốn đăng nhập vào thì nhập mật khẩu để mở khóa vào ứng dụng. ...
Hôm nay, mình xin hướng dẫn các bạn viết ứng dụng khóa màn hình desktop, giống như các chương trình quản lý internet, các máy client thường bị khóa màn hình, không được thao tác các ứng dụng, nếu muốn đăng nhập vào thì nhập mật khẩu để mở khóa vào ứng dụng.
Chương trình mình ví dụ: có giao diện như hình bên dưới:
Đầu tiên: mình tạo form 1 để cài đặt mật khẩu vào, có giao diện như hình bên dưới
- Viết các sự kiện trên form 1, khi bấm vào nút khóa PC
Lưu ý: ta set form1 textbox mật khẩu ta set property (usesystempasswordchar = true)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Timer1.Start() If CheckBox1.Checked Then Form2.Opacity = 0.75 End If Form2.Show() Me.Opacity = 0.0 End Sub
- Tiếp theo ta, viết các sự kiện cho form2, form khóa màn hình desktop:
+ Đầu tiên, các bạn cần cài đặt các thuộc tính sau:
1. Không cho phép form hiển thị dưới thanh taskbar, để ngăn chặn người dụng click phải chuột chọn exit. Property Form2 (showtaskbar = false)
2. Ẩn tên form 2 các các nút chức năng phóng to, thu nhỏ và đóng ứng dụng, ta set thuộc tính cho form2 như sau: (Formborderstyle = none)
3. Khi form 2 load lên ta cho form 2 phóng lớn full màn hình (windowstate = maximized)
Sau khi, chỉnh các thuộc tính cho form2 xong ta code cho các sự kiện trong form2 như sau:
+ Sự kiện khi click vào nút mở khóa
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If TextBox1.Text = Form1.TextBox1.Text Then Form1.Opacity = 1 Me.Close() Form1.TextBox1.Text = "" Else MsgBox("try again") End If End Sub
+ Tiếp theo ta viết các sự kiện để ngăn chặn người dùng tắt dụng bằng taskmanager, hay Alt+F4, và Ctrl +Q như sau:
Protected Overrides Function ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) As Boolean Select Case (keyData) Case Keys.Control Return True Case Keys.Alt Or Keys.F4 Return True Case Keys.Alt Or Keys.Control Or Keys.Delete Return True Case Keys.Control Or Keys.Q Return True End Select Return MyBase.ProcessDialogKey(keyData) End Function
Chúc các bạn thành công!
Link download project lock mycomputer