Tải bản đầy đủ (.docx) (3 trang)

Lập trình với hàm API bằng Visual Basicvà delphi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (57.82 KB, 3 trang )

Lập trình với hàm API bằng Visual Basic và
Delphi
Bạn có thể thực hiện các chức năng với một cửa sổ như Phóng to, Thu nhỏ, Gửi xuống
Taskbar, Di chuyển, Chỉnh kích thước hoặc bật nút Start của Windows hay đặt chế độ
Standby, chạy Screen Saver thậm chí tắt màn hình máy tính của mình bằng cách gọi hàm
API. Chương trình VB dưới đây mô phỏng những việc này.
Bạn thiết kế giao diện và các đối tượng như hình dưới đây
Caption Name
Standby cmdStandby
Start cmdStart
Minimize cmdMinimize
Maximize cmdMaximize
Move cmdMove
Size cmdSize
Close cmdClose
Copy đoạn code này và dán vào chương trình của bạn
Private Const WM_SYSCOMMAND = &H112
Private Const SC_SCREENSAVE = &HF140&
Private Const SC_MINIMIZE = &HF020&
Private Const SC_MAXIMIZE = &HF030&
Private Const SC_RESTORE = &HF120&
Private Const SC_TASKLIST = &HF130&
Private Const SC_MOVE = &HF010&
Private Const SC_SIZE = &HF000&
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Dim WDMax As Boolean
Private Sub cmdMinimize_Click()
SendMessage Form1.hwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0
End Sub
Private Sub cmdMaximize_Click()


If WDMax = True Then
SendMessage Form1.hwnd, WM_SYSCOMMAND, SC_RESTORE, 0
WDMax = False
Else
SendMessage Form1.hwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0
WDMax = True
End If
End Sub
Private Sub CmdClose_Click()
End
End Sub
Private Sub cmdMove_Click()
SendMessage Form1.hwnd, WM_SYSCOMMAND, SC_MOVE, 0
End Sub
Private Sub cmdSize_Click()
SendMessage Form1.hwnd, WM_SYSCOMMAND, SC_SIZE, 0
End Sub
Private Sub cmdStandby_Click()
SendMessage Form1.hwnd, WM_SYSCOMMAND, SC_SCREENSAVE, 20
End Sub
Private Sub CmdStart_Click()
' Start menu
SendMessage Form1.hwnd, WM_SYSCOMMAND, SC_TASKLIST, 0
End Sub

o=========)================ END
===============================>

Với chương trình này bạn có thể làm được nhiều việc khá thú vị, nhưng tiếc là tôi không
tìm ra cách để tắt màn hình và gọi trình bảo vệ màn hình (Screen Saver) bằng VB, do đó tôi

sử dụng Borland Delphi 6.0 để thực hiện. Dưới đây là đoạn code bằng Delphi có thể tắt màn
hình và chạy Screen Saver.
Nếu có thể bạn nên viết chương trình có chức năng đặt biểu tượng vào Systray, sau đó bật
một Popup menu để chọn các chức năng như Đóng mở CD-ROM, Tắt màn hình, Chạy Screen
Saver.... đó quả là một chương trình có ích.
Delphi

Bạn tự thiết kế giao diện, và trên đó bạn đặt 2 Button với Name là Button1 và Button2,
Caption tuỳ ý, sau đó click đúp vào một Button để hiện ra cửa sổ soạn thảo và gõ đoạn lệnh
sau vào.

procedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage(application.Handle,WM_syscommand,SC_MonitorPower,1);
{bạn có thấy số 1 ở gần cuối dòng lệnh trên không ? nó có nghĩa là Tắt màn hình,
bạn thay bằng số 0 (không) thì sẽ chuyển về chế độ Text }
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
{Tương tự như trên}
{1: Standby}
{0: Screen Save (chỉ có hiệu lực khi bạn đang sử dụng 1 trình Screen Saver)}
SendMessage(application.Handle,WM_syscommand,SC_ScreenSave,0);

×