Vậy là đã vào đông thật rồi, cái cảm giác lạnh buốt đôi khi làm con người ta ngây ngô đứng lại lặng nhìn quãng thời gian bon chen trong cuộc sống đã trôi qua. Để rồi phút chốc chợt nhận ra mình đã lãng quên điều gì rồi chăng?
Cũng đã lâu rồi không có hoạt động gì trong diễn đàn, nhân tiện bữa nay có chút thời gian trầm tư, mình xin chia sẻ một project nhỏ mà mình đã tham gia khá lâu rồi, hi vọng sẽ giúp ích được cho bạn nào đang cần tới.
Ide: Visual C++ 2005
SourceCode: PinkVirtualKeyboard.zip
Demo: DemoVirtualKeyboard.zip
Mục đích:
Xây dựng tiện ích bàn phím ảo hỗ trợ nhập các ký tự, chống lại các loại keylog thông dụng, bảo vệ thông tin và dữ liệu của người dùng.
Tính năng:
- Trang bị các tính năng chống keylog cho class "text" của hệ thốngChống các loại keylog bắt thông điệp bàn phím:
Tiện ích VirtualKeyboard trang bị 2 cơ chế giả lập nút bấm ở chế độ user mode thông qua Window Message queue
<ul> - Public
Cơ chế giả lập nút bấm thông thường, bị các loại keylog bắt thông điệp bàn phím phát hiệnPrivate
Cơ chế giả lập nút bấm riêng giữa VirtualKeyboard và hộp nhập dữ liệu, không bị các loại keylog bắt thông điệp bàn phím phát hiện
Chống các loại keylog chụp màn hình:
Tiện ích VirtualKeyboard giúp người dùng có thể hoàn toàn tránh được các loại keylog chụp màn hình, với tổ hợp của hai chức năng:
- Mặt nạ bàn phím
Cho phép người dùng tùy chỉnh trạng thái ẩn/hiện ký tự trên các nút bấmĐảo ngẫu nhiên vị trí các nút bấm
</ul>
Sử dụng:
1. Khởi tạo
Include headers
Mã:
#include "PinkKeyboard.h"#include <OleIdl.h>#include <GdiPlus.h>
Đầu chương trình
Mã:
static Gdiplus::GdiplusStartupInput gdiInput;static ULONG_PTR gdiToken; GdiplusStartup(&gdiToken, &gdiInput, NULL);OleInitialize(NULL);PinkVkGlobalInit();
Kết thúc chương trình
Mã:
PinkVkGlobalClose();OleUninitialize();Gdiplus::GdiplusShutdown(gdiToken);
2. Functions
Mã:
PinkVkShow(TCHAR *fileConfig=NULL, int left=0x80000000, int top=0)
Hiển thị cửa sổ VirtualKeyboard, nếu đã có thì tự động đóng cửa sổ cũ
- fileConfig: đường dẫn tới file lưu config (có thể NULL)left, top: vị trí góc trên trái cửa sổ
Đóng cửa sổ VirtualKeyboard nếu có
Mã:
PinkVkSetupCommunication(HWND hWnd, BOOL bSubWin=TRUE)
Tạo một kết nối giả lập bàn phím private giữa VirtualKeyboard và cửa sổ hWnd
- hWnd: HWND của cửa sổ cần tạo kết nốibSubWin: TRUE thì sẽ tạo kết nối tới tất cả cửa sổ con của hWnd, FALSE thì chỉ có cửa sổ hWnd được tạo kết nối
Chú ý: khi cửa sổ hWnd bị hủy, kết nối private cũng sẽ bị hủy theo.
3. Resource
- Copy file PinkResource.h, PinkVirtualKeyboard.rc và folder ResourceFiles vào project cần sử dụng.
- Add 2 file PinkResource.h và PinkVirtualKeyboard.rc vào project
- Thực hiện add resource vào project như sau:
DoubleClick vào file *.rc của project chính trong cửa sổ solution
Sau đó các bạn sẽ được chuyển qua cửa sổ resource. Click phải vào dòng *.rc, sẽ hiện ra menu như sau:
Các bạn chọn dòng "Resource Includes...", sẽ hiện ra một cửa sổ mới, các bạn config như trong hình dưới
View more random threads:
Trứng rung điều khiển từ xa Vibrator Spark Of Love Sản phẩm trứng rung bluetooth có điều khiển từ xa này được thiết kế với tông màu Rose Gold viền kim khí trải qua. kích tấc 7,4cm x 3,5cm giúp trứng...
TOP 3 trùy rung điều khiển từ xa...