Xin chào các bạn !
Lâu lâu lại làm một cái hướng dẫn nho nhỏ gọi là góp vui với anh em Cviet ^^!
Bài này X hướng dẫn 1 chút xíu về các struct và API sử đụng để lấy thông tin hệ thống (System Information).
Thực ra cũng không có gì cả, rất đơn giản nếu bạn đã quen với Win32API, Windows Programming; nếu không
thì bạn sẽ gặp một chút khó khăn nhỏ khi bắt đầu đấy. ^^!
Đầu tiên bao giờ cũng cần tài liệu để tra cứu (Documentation), với Windows Programming thì MSDN là một
phần không thể thiếu và ai cũng cần phải biết sử dụng nó để tra cứu.
Với bài này các bạn truy vào mục sau: _http://msdn.microsoft.com/en-us/library/ms725495(VS.85).aspx
Sau đó chọn System Information và bạn sẽ thấy nhiều thành phần nhỏ được chia ra để tham khảo.
Cùng nhau thử 1 số nhé.
1) GetComputerName(); GetComputerNameEx();
Link: _http://msdn.microsoft.com/en-us/library/ms724220(VS.85).aspx
Đọc định nghĩa của nó 1 chút nha:
GetComputerName Function
Retrieves the NetBIOS name of the local computer. This name is established at system startup, when the system reads it from the registry.
BOOL WINAPI GetComputerName(
__out LPTSTR lpBuffer,
__inout LPDWORD lpnSize
);
If the function succeeds, the return value is a nonzero value.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Vậy mình làm đoạn code nhỏ để thử lấy ComputerName nhé !
Mã:
// Coded by Xcross87#include <stdio.h>#include <windows.h> int main(void){ TCHAR lpBuffer[256]; DWORD lpnSize = sizeof(lpBuffer); // Lấy kích thuwocs của buffer trước. if(!GetComputerName(lpBuffer,&lpnSize)) { // Nếu không lấy được thì thoát. printf("Error getting computer name...
"); exit(-1); } // Nếu lấy được tên thì in ra printf("Computer name is: %s
", lpBuffer); // Giải phóng bộ nhớ lpnSize = sizeof(lpBuffer); ZeroMemory(lpBuffer, lpnSize); // Trả về return 0;}
2) GetUserName(); GetUserNameEx();
Link: http://msdn.microsoft.com/en-us/libr...32(VS.85).aspx
Đọc định nghĩa 1 chút:
GetUserName Function
Retrieves the name of the user associated with the current thread.
BOOL WINAPI GetUserName(
__out LPTSTR lpBuffer,
__inout LPDWORD lpnSize
);
If the function succeeds, the return value is a nonzero value, and the variable pointed to by lpnSize contains the number of TCHARs copied to the buffer specified by lpBuffer, including the terminating null character.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Viêt một đoạn code nhỏ sử dụng cái này nha:
Mã:
// Coded by Xcross87 #include <stdio.h>#include <windows.h> int main(void){ TCHAR lpBuffer[256]; DWORD lpnSize = sizeof(lpBuffer); // Lấy kích thước của buffer trước. if(!GetUserName(lpBuffer,&lpnSize)) { // Nếu không lấy được thì thoát. printf("Error getting user name of the current thread...
"); exit(-1); } // Nếu lấy được tên thì in ra printf("Current-thread user name is: %s
", lpBuffer); // Giải phóng bộ nhớ lpnSize = sizeof(lpBuffer); ZeroMemory(lpBuffer, lpnSize); // Trả về return 0;}
Đó là 2 ví dụ cơ bản làm mẫu ^^!
Bên trong còn rất nhiều các API tra cứu thông tin tương tự, các bạn tự tìm hiểu nhé.
[Kết thúc phần 1]
View more random threads:
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...