Tìm trong:Webe-CHÍP

Bộ gõ (kiểu Vni/Telex/Viqr)Tắt (Alt+T)Mở (Alt+M)

 
Trang chủ ĐÓ HỎI, ĐÂY TRẢ LỜI TC 98

Chụp ảnh màn hình bằng VB6

Đó hỏi: Em muốn viết chương trình theo dõi hoạt động của desktop bằng cách chụp màn hình rồi lưu lại. Chương trình dùng hàm SendKeys để nhấn phím Print Screen nhưng không được. Xin giúp em. <chiecladangroi51@>

<thanh_tien_cntt@>

Đây trả lời: Trong VB6, hàm SendKeys cho phép gửi đi một phím giống như khi ta nhấn phím đó từ bàn phím, nhưng hàm này không hỗ trợ nhấn phím PrtSc (Print Screen). Bạn phải dùng hàm API để nhấn phím PrtSc hoặc Alt+PrtSc.
Bạn hãy tạo mới một project kiểu Standard EXE. Trên form mặc định vẽ một PictureBox control có tên Picture1, một Timer control có tên Timer1 với thuộc tính Interval là 1000, rồi gõ vào đoạn mã 1. Bạn lưu ý: ảnh được ghi lên đĩa luôn luôn là ảnh chụp được ở lần nhấn phím liền trước đó.

Đoạn mã 1

Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
   bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function GetVersionExA Lib "kernel32" _
      (lpVersionInformation As OSVERSIONINFO) As Integer
Private Type OSVERSIONINFO
    dwOSVersionInfoSize As Long
    dwMajorVersion As Long
    dwMinorVersion As Long
    dwBuildNumber As Long
    dwPlatformId As Long
    szCSDVersion As String * 128
End Type
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12
Dim blnAboveVer4 As Boolean
Private Sub Form_Load()
    Dim osinfo As OSVERSIONINFO
    Dim retvalue As Integer
    osinfo.dwOSVersionInfoSize = 148
    osinfo.szCSDVersion = Space$(128)
    retvalue = GetVersionExA(osinfo)
    If osinfo.dwMajorVersion > 4 Then blnAboveVer4 = True
    Picture1.Visible = False
End Sub
Private Sub Timer1_Timer()
    ‘ Chụp bằng phím PrtSc   
    If blnAboveVer4 Then
        keybd_event VK_SNAPSHOT, 0, 0, 0
    Else
        keybd_event VK_SNAPSHOT, 1, 0, 0
    End If
    Picture1.Picture = Clipboard.GetData(vbCFBitmap)
    DoEvents      ‘ Để cho Picture1 nhận hết ảnh từ clipboard
    If Picture1.Picture <> 0 Then
         SavePicture Picture1.Picture, "D:\Hinh.JPG" ‘ Lưu ảnh lên đĩa
    End If
End Sub

CHƯƠNG CAN CHÍP

Cài 2 Windows giống nhau trên 1 ổ cứng

Đó hỏi: Em muốn cài 2 Windows XP SP2 trên cùng 1 HDD, 2 Win chạy độc lập với nhau, khi Ghost lại Win 1 thì Win 2 vẫn chạy được bình thường. Mong e-CHÍP hướng dẫn cụ thể cách làm.
<quachedwin@>
Đây trả lời: Để cài 2 Windows lên 1 ổ cứng mà chúng hoạt động độc lập với nhau thì bạn thực hiện như sau:
1. Dùng chương trình Partition Magic 8.05 để tạo 2 phân vùng (partition) Primary trên ổ cứng rồi lần lượt active từng partition để cài từng hệ điều hành như cài trong 2 máy khác nhau. Trường hợp 2 Windows trên 2 partition hoàn toàn giống nhau thì bạn chỉ cần cài đặt Windows vào 1 phân vùng rồi sau đó dùng Partition Magic hay Ghost để sao chép qua partition thứ 2 (xem hướng dẫn sử dụng Partition Magic tại trang Web http://www.echip.com.vn/echiproot/weblh/sdpm/2003/pm8/index.htm). Nếu Windows trong partition thứ 2 không khởi động được thì bạn sửa cụm từ partition(1) trong file Boot.ini ở thư mục gốc thành partition(2).
2. Cài Boot Magic (có trong bộ Partition Magic) trong 1 partition FAT của vùng Extanded để tạo menu Dual boot (xem hướng dẫn sử dụng Boot Magic tại trang Web http://www.echip.com.vn/echiproot/html/2006/305tt/hoidap.html) hay chạy Pqboot.exe (cũng có trong bộ Partition Magic) để chỉ định partition khởi động. Tham khảo thêm thông tin về cách cài nhiều hệ điều hành với Partition Magic trong trang Web http://www.echip.com.vn/echiproot/html/2003/so18/tckit_caihdh.html.

Ý nghĩa mục Compress Old Files trong Disk Cleanup

Đó hỏi: Tôi dùng Windows XP SP2. Khi chạy chương trình Disk Cleanup của Windows tôi thấy mục Compress Old Files đến hơn mấy trăm MB mặc dù tôi đã bỏ chọn Compress File to save hard disk... (tôi format các ổ đĩa theo dạng NTFS). Xin e-CHÍP cho biết tại sao như vậy?
<tdat00@>
Đây trả lời: Mục Compress Old Files trong chương trình Disk Cleanup không có tác dụng xóa file trong đĩa cứng như các mục khác. Khi chọn mục này là bạn yêu cầu Windows tự động nén các file không sử dụng (để tiết kiệm không gian đĩa) sau một thời gian do bạn chỉ định (khi bạn chọn mục này thì sẽ xuất hiện nút Options trong khung Descriptions bên dưới để mở hộp thoại cho phép thay đổi từ 1 đến 500 ngày). Các file đã nén sẽ được tự động giải nén khi bạn sử dụng và tái nén sau thời gian quy định mà không sử dụng đến. Dung lượng liệt kê trong khung Files to delete chỉ là dung lượng đĩa sẽ tiết kiệm được khi nén các file không sử dụng.

LÊ HOÀN

[Đầu trang]