Follow us on...
Follow us on Twitter Follow us on Facebook Watch us on YouTube

Tuyển chuyên viên tin tức VN-Zoom 2014

Tìm HD - Phần mềm tìm và xem phim HD miễn phí

Hoãn tổ chức offline VN-Zoom 8 năm tại TP HCM

Chiêm ngưỡng BaoMoi đẹp "tuyệt diệu" trên Windows Phone

Tài trợ VNZ Siêu phẩm Tân Kiếm Thế chibi 3D mới

Tuyển BQT VN-Zoom
kết quả từ 1 tới 3 trên 3
  1. #1
    nh0ck0n10B's Avatar
    nh0ck0n10B vẫn chưa có mặt trong diễn đàn Rìu Vàng
    Tham gia
    Jan 2008
    Đến từ
    Đông Anh - HN
    Bài
    929
    Cảm ơn
    137
    Điểm
    1.699/300 bài viết
    VR power
    0

    Default Tự làm screen saver!

    Tự viết chương trình screen saver

    Chắc hẳn các bạn đã từng được xem những chương trình Screen saver (SS) rất sinh động và hấp dẫn của Windows. Tuy nhiên thật là thú vị khi chính bạn tạo ra cho mình một chương trình SS? Vì vậy trong bài này xin giới thiệu với các bạn cách đơn giản nhất để tạo được một chương trình SS bằng ngôn ngữ lập trình Visual Basic 6.0. Trước hết chúng ta hãy tìm hiểu một chút về cấu trúc chương trình SS. Thực ra thì SS chỉ đơn giản là một ứng dụng EXE bình thường, cấu trúc file của SS chẳng khác gì cấu trúc của file.EXE, ngoài phần mở rộng là.SCR. Khi chương trình được kích hoạt, Windows sẽ gọi chương trình đó với tham số /s (ví dụ: MyScreen Saver /s), tức Windows hiểu rằng nó là một SS và sẽ thực thi các tác vụ đặc trưng của SS như bước 1 và 2 dưới đây. Cách thực hiện một chương trình screen saver có 3 bước:
    1. Kiểm tra xem bàn phím và chuột không hoạt động trong một khoảng thời gian cho trước, nếu thoả mãn điều kiện thì thực hiện bước 2.
    2. Lưu lại màn hình của Windows và các ứng dụng đang chạy. Sau đó chạy chương trình trong chế độ toàn màn hình bằng cách làm tối đen màn hình và thực hiện vòng lặp demo nào đó (phải nhớ tác dụng của một screen saver là không để một điểm sáng liên tục trên màn hình).
    3. Thường xuyên kiểm tra xem có thao tác của người sử dụng không, nếu có thì lập tức đóng chương trình SS, khôi phục lại màn hình cũ và trả điều khiển về cho chương trình hiện tại.
    Như vậy là hệ điều hành đã "giúp đỡ" chúng ta khá nhiều, công việc của các bạn bây giờ chỉ đơn giản là thực hiện bước 2.
    Khởi động Visual Basic, chọn Standard EXE. Bạn tạo một form với các thuộc tính như sau:
    Thuộc tính---->Giá trị
    Name---->MyScreenSaver
    BackColor---->&H00400040&(màu đen)
    BorderStyle---->0---->None
    ClipControls---->False
    ControlBox---->False
    MaxButton---->False
    MinButton---->False
    ScaleMode---->Pixel
    WindowState---->2---->Maximized

    Tiếp đó bạn tạo một Timer trong form với tên là Timer1 và gán cho thuộc tính Interval bằng 100. Bạn nhập vào các đoạn code sau để xử lý trạng thái bàn phím và chuột.
    + Phần code cho sự kiện Form_KeyDown: (Khi một phím bất kì được ấn)

    CODE
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    EndScreenSaver
    End Sub
    + Phần code cho sự kiện Form_MouseDown: (Khi di nhấn một nút chuột)
    Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    EndScreenSaver
    End Sub


    + Phần code cho sự kiện Form_MouseMove: (Khi di chuyển chuột)

    CODE
    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Static oldx As Integer
    Static oldy As Integer
    If (oldx > 0 And oldy > 0) And (Abs(X----> oldx) > 1 Or Abs(Y----> oldy) > 1)
    Then
    EndScreenSaver
    End If
    oldx = X
    oldy = Y
    End Sub


    Để làm mất con trỏ chuột khi chạy SS ta gọi hàm Windows API có tên là ShowCursor. Bạn chọn Project. Add Module rồi nhập đoạn code sau trong phần Declaration:

    CODE
    Public Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long


    'Thủ tục kết thúc screen saver

    CODE
    Public Sub EndScreenSaver()
    ShowCursor (True) 'Hiện lại con trỏ chuột
    End
    End Sub


    Phần demo cho chương trình của bạn.
    Trong ví dụ này là vẽ ngẫu nhiên các hình tròn.

    CODE
    Public Sub demo1()
    Form1.ForeColor = RGB)Rnd*256 + 1, Rnd*256 + 1, Rnd*256 + 1)
    Form1.Circle(Rnd*Form1.ScaleWidth + 1, Rnd*Form1.ScaleWidth + 1), Rnd*100 + 1
    End Sub


    Sau đó bạn gọi phần demo này trong sự kiện Timer1_Timer() để lặp lại thao tác vẽ mỗi giây một lần (bạn có thể thay đổi giá trị của thuộc tính Interval để nhanh chậm theo ý muốn)

    CODE
    Private Sub Timer1_Timer()
    demo1
    End Sub


    Bổ sung đoạn code cho sự kiện Form_Load:

    CODE
    Private Sub Form_Load()
    ShowCursor(False) 'Làm mất con trỏ chuột
    End Sub


    Cuối cùng lưu giữ form, project và module với tên MyScreenSaver. Chọn File. Make MyScreenSaver.exe để biên dịch thành file thi hành, trong hộp file name bạn đặt tên chương trình là MyScreenSaver.scr. Lưu chương trình vừa dịch trong thư mục Windows, ấn F5 để chạy thử chưng trình, thật tuyệt phi không các bạn. Việc đặt chương trình vào thư mục Windows sẽ làm cho tên chương trình xuất hiện trong danh sách các Screen Saver trong mục Display Properties để cho bạn chọn lựa. Trên đây là các bước để xây dựng một screen saver đn gin, để cho chương trình của bạn có tính chuyên nghiệp hơn, tức là có thêm phần Settings của chương trình trong Display Properties. Do khuôn khổ của bài viết có hạn nên không thể trình bày chi tiết được mà xin hướng dẫn các bạn như sau:
    Trong chương trình bạn tạo 2 form (form1 xuất hiện khi chạy chương trình và form2 xuất hiện khi chọn phần Settings), trong module chính bạn viết thủ tục Main() dùng lệnh instr() để xử lý tham số gọi chương trình: Nếu là /s thì cho hiện form1, nếu là /c thì cho hiện form2 (tham số /c được Windows gọi khi bạn nhấn Settings). Trong form2 để lưu giữ các thiết lập bạn gọi hàm Windows API là GetPrivateProfileString() và WritePrivateProfileString(). Chi tiết về cách sử dụng các hàm này bạn xem trong CD ROM MSDN, hoặc từ điển API (Do Trung tâm Tin học ABC biên soạn - Nick HueNhi - Admin) hoặc có thể phát câu hỏi lên để nhóm Visual Basic hướng dẫn cách xử lý.

    Theo giáo viên Hà Minh Nam

  2. Có 1 thành viên cảm ơn nh0ck0n10B cho bài viết này:
    piks2pok (24-08-2013)

  3. #2
    dbsgluv's Avatar
    dbsgluv vẫn chưa có mặt trong diễn đàn Búa Gỗ
    Tham gia
    Jan 2010
    Bài
    21
    Cảm ơn
    53
    Điểm
    0/0 bài viết
    VR power
    0

    Default

    Trích nh0ck0n10B View Post
    Tự viết chương trình screen saver

    Chắc hẳn các bạn đã từng được xem những chương trình Screen saver (SS) rất sinh động và hấp dẫn của Windows. Tuy nhiên thật là thú vị khi chính bạn tạo ra cho mình một chương trình SS? Vì vậy trong bài này xin giới thiệu với các bạn cách đơn giản nhất để tạo được một chương trình SS bằng ngôn ngữ lập trình Visual Basic 6.0. Trước hết chúng ta hãy tìm hiểu một chút về cấu trúc chương trình SS. Thực ra thì SS chỉ đơn giản là một ứng dụng EXE bình thường, cấu trúc file của SS chẳng khác gì cấu trúc của file.EXE, ngoài phần mở rộng là.SCR. Khi chương trình được kích hoạt, Windows sẽ gọi chương trình đó với tham số /s (ví dụ: MyScreen Saver /s), tức Windows hiểu rằng nó là một SS và sẽ thực thi các tác vụ đặc trưng của SS như bước 1 và 2 dưới đây. Cách thực hiện một chương trình screen saver có 3 bước:
    1. Kiểm tra xem bàn phím và chuột không hoạt động trong một khoảng thời gian cho trước, nếu thoả mãn điều kiện thì thực hiện bước 2.
    2. Lưu lại màn hình của Windows và các ứng dụng đang chạy. Sau đó chạy chương trình trong chế độ toàn màn hình bằng cách làm tối đen màn hình và thực hiện vòng lặp demo nào đó (phải nhớ tác dụng của một screen saver là không để một điểm sáng liên tục trên màn hình).
    3. Thường xuyên kiểm tra xem có thao tác của người sử dụng không, nếu có thì lập tức đóng chương trình SS, khôi phục lại màn hình cũ và trả điều khiển về cho chương trình hiện tại.
    Như vậy là hệ điều hành đã "giúp đỡ" chúng ta khá nhiều, công việc của các bạn bây giờ chỉ đơn giản là thực hiện bước 2.
    Khởi động Visual Basic, chọn Standard EXE. Bạn tạo một form với các thuộc tính như sau:
    Thuộc tính---->Giá trị
    Name---->MyScreenSaver
    BackColor---->&H00400040&(màu đen)
    BorderStyle---->0---->None
    ClipControls---->False
    ControlBox---->False
    MaxButton---->False
    MinButton---->False
    ScaleMode---->Pixel
    WindowState---->2---->Maximized

    Tiếp đó bạn tạo một Timer trong form với tên là Timer1 và gán cho thuộc tính Interval bằng 100. Bạn nhập vào các đoạn code sau để xử lý trạng thái bàn phím và chuột.
    + Phần code cho sự kiện Form_KeyDown: (Khi một phím bất kì được ấn)

    CODE
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    EndScreenSaver
    End Sub
    + Phần code cho sự kiện Form_MouseDown: (Khi di nhấn một nút chuột)
    Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    EndScreenSaver
    End Sub


    + Phần code cho sự kiện Form_MouseMove: (Khi di chuyển chuột)

    CODE
    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Static oldx As Integer
    Static oldy As Integer
    If (oldx > 0 And oldy > 0) And (Abs(X----> oldx) > 1 Or Abs(Y----> oldy) > 1)
    Then
    EndScreenSaver
    End If
    oldx = X
    oldy = Y
    End Sub


    Để làm mất con trỏ chuột khi chạy SS ta gọi hàm Windows API có tên là ShowCursor. Bạn chọn Project. Add Module rồi nhập đoạn code sau trong phần Declaration:

    CODE
    Public Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long


    'Thủ tục kết thúc screen saver

    CODE
    Public Sub EndScreenSaver()
    ShowCursor (True) 'Hiện lại con trỏ chuột
    End
    End Sub


    Phần demo cho chương trình của bạn.
    Trong ví dụ này là vẽ ngẫu nhiên các hình tròn.

    CODE
    Public Sub demo1()
    Form1.ForeColor = RGB)Rnd*256 + 1, Rnd*256 + 1, Rnd*256 + 1)
    Form1.Circle(Rnd*Form1.ScaleWidth + 1, Rnd*Form1.ScaleWidth + 1), Rnd*100 + 1
    End Sub


    Sau đó bạn gọi phần demo này trong sự kiện Timer1_Timer() để lặp lại thao tác vẽ mỗi giây một lần (bạn có thể thay đổi giá trị của thuộc tính Interval để nhanh chậm theo ý muốn)

    CODE
    Private Sub Timer1_Timer()
    demo1
    End Sub


    Bổ sung đoạn code cho sự kiện Form_Load:

    CODE
    Private Sub Form_Load()
    ShowCursor(False) 'Làm mất con trỏ chuột
    End Sub


    Cuối cùng lưu giữ form, project và module với tên MyScreenSaver. Chọn File. Make MyScreenSaver.exe để biên dịch thành file thi hành, trong hộp file name bạn đặt tên chương trình là MyScreenSaver.scr. Lưu chương trình vừa dịch trong thư mục Windows, ấn F5 để chạy thử chưng trình, thật tuyệt phi không các bạn. Việc đặt chương trình vào thư mục Windows sẽ làm cho tên chương trình xuất hiện trong danh sách các Screen Saver trong mục Display Properties để cho bạn chọn lựa. Trên đây là các bước để xây dựng một screen saver đn gin, để cho chương trình của bạn có tính chuyên nghiệp hơn, tức là có thêm phần Settings của chương trình trong Display Properties. Do khuôn khổ của bài viết có hạn nên không thể trình bày chi tiết được mà xin hướng dẫn các bạn như sau:
    Trong chương trình bạn tạo 2 form (form1 xuất hiện khi chạy chương trình và form2 xuất hiện khi chọn phần Settings), trong module chính bạn viết thủ tục Main() dùng lệnh instr() để xử lý tham số gọi chương trình: Nếu là /s thì cho hiện form1, nếu là /c thì cho hiện form2 (tham số /c được Windows gọi khi bạn nhấn Settings). Trong form2 để lưu giữ các thiết lập bạn gọi hàm Windows API là GetPrivateProfileString() và WritePrivateProfileString(). Chi tiết về cách sử dụng các hàm này bạn xem trong CD ROM MSDN, hoặc từ điển API (Do Trung tâm Tin học ABC biên soạn - Nick HueNhi - Admin) hoặc có thể phát câu hỏi lên để nhóm Visual Basic hướng dẫn cách xử lý.

    Theo giáo viên Hà Minh Nam
    Khó hỉu wá bạn àh !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  4. #3
    manager25's Avatar
    manager25 vẫn chưa có mặt trong diễn đàn Rìu Vàng Đôi
    Tham gia
    Jan 2008
    Đến từ
    Vn-Zoom
    Bài
    1.225
    Cảm ơn
    117
    Điểm
    5.120/442 bài viết
    VR power
    0

    Default

    Thề còn làm phần thiết định cho scv của mình thì làm thế nào hả bạn ?
    Lưu thiết định trên một file kèm theo, lưu vào register hay là thế nào hả bạn ?

 

 

Quyền sử dụng

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể tự sửa bài viết của mình
  •