banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: FaL  XML
Profile for FaL Messages posted by FaL [ number of posts not being displayed on this page: 18 ]
 
Một phần mềm bao quát hết tất cả các format có lẽ là quá lớn, theo ý mình thì nên xác định phạm vi những format nào cần convert thì sẽ tốt hơn.
Mình có thấy mấy cuốn này:
+ Digital image compression techniques của Majid Rabbani,Paul W. Jones
+ Compressed image file formats: JPEG, PNG, GIF, XBM, BMP của John Miano
Bạn tham khảo thử xem nhé!
Search qua google mình thấy cũng có nhiều thông tin về header của các loại file khác nhau. Không biết bạn cần tìm hiểu header của file nào vậy?
Thảo luận về MD5 đã rất nhiều rồi, mình chỉ muốn nhấn mạnh là không có khái niệm encode/decode hay encrypt/decrypt cho MD5 mà chỉ có khái niệm HASH mà thôi.
Bạn hoanphuong0808:
Từ những gợi ý trên bạn nên tự tìm tòi và tự viết lấy chương trình của mình.
Vừa qua FaL có viết ứng dụng nhỏ này, bài viết này không hướng dẫn cụ thể từng bước phát triển chương trình, cũng không có code toàn bộ chương trình, chỉ xin trình bày một số ý chính và thao tác cần thiết tương ứng.

Trong hệ thống máy tính với nhiều máy con, việc cài đặt và update phần mềm là một công việc vất vả. Tự động hóa quá trình cài đặt phần mềm giúp quản trị viên tiết kiệm thời gian, công sức của mình.
Ý tưởng của ứng dụng:
  • Phần 1: Ghi lại quá trình cài đặt bộ phần mềm cần thiết trên máy mẫu.
  • Phần 2: Tự động cài đặt bộ phần mềm mẫu lên các máy con khác.


Phần 1:
Có nhiều cách để ghi lại quá trình làm việc của máy tính, trong ứng dụng này người quản trị sẽ chủ động chọn lựa những thao tác cần ghi lại. Những thao tác này trên Windows sẽ là: Nhấp chuột, chọn/bỏ chọn checkbox/radiobuton, nhập Text vào TextBox… Phần 1 của ứng dụng sẽ cho phép người quản trị gửi “thông điệp” của mình tới trình cài đặt tương ứng.
Để làm được điều này, trước hết từ ứng dụng cần xác định cửa sổ của trình cài đặt. Ở đây ta có thể liệt kê tất cả các cửa sổ trên Desktop với sự trợ giúp của hàm GetDesktopWindow() và GetWindow():
Code:
hwnd = GetDesktopWindow();
hwnd = GetWindow(hwnd, GW_CHILD);
while(hwnd!=0){
GetWindowTextW(hwnd, Title, MAX_LENGTH);
//ở đây chứa thao tác liệt kê tương ứng của bạn
hwnd = GetWindow(hwnd, GW_HWNDNEXT);
}

Sau khi người quản trị lựa chọn cửa sổ của trình cài đặt, ta sẽ liệt kê tất cả control của ứng dụng để thao tác. Các control cũng sẽ là các “cửa sổ” con của trình cài đặt, một hàm recursive sẽ giúp ta thực hiện điều này:
Code:
void GetChildHwnd(HWND hInstaller){
HWND hwnd = GetWindow(hInstaller, GW_CHILD);
if(hwnd == NULL)return;
wchar_t WindowTitle[MAX_LENGTH];
GetWindowTextW(hwnd, WindowTitle, MAX_LENGTH);
//ở đây chứa thao tác liệt kê tương ứng của bạn
GetChildHwnd(hwnd);
while(hwnd!=0)
{
hwnd = GetWindow(hwnd, GW_HWNDNEXT);
if(hwnd)
{
wchar_t wtmp[256];
GetWindowTextW(hwnd, wtmp, 255);
//ở đây chứa thao tác liệt kê tương ứng của bạn
}
GetChildHwnd(hwnd);
}
return;
}

Sau khi xác định được các control, những thao tác tương ứng sẽ được thực hiện với các hàm API của Windows, ở đây là SendMessage() và PostMessage(). Tôi không liệt kê tất cả các thao tác có thể, mà chỉ là các thao tác thường thấy:
Nhấp chuột:
Code:
PostMessageW(hwnd, WM_LBUTTONDOWN, 0, 0);
PostMessageW(hwnd, WM_LBUTTONUP, 0, 0);

Check box:
Code:
SendDlgItemMessageW(GetParent(hwnd), GetDlgCtrlID(hwnd),BM_SETCHECK, BST_CHECKED,0);

Uncheck box:
Code:
SendDlgItemMessageW(GetParent(hwnd), GetDlgCtrlID(hwnd), BM_SETCHECK, BST_UNCHECKED, 0);

Check radiobutton
Code:
SendMessageW(hwnd, BM_CLICK, 0, 0);

Nhập Text vào TextBox:
Code:
SendMessageW(hwnd, WM_SETTEXT, 10, (LPARAM)text);

Ở đây hwnd là handle của control nhận thông điệp.
Quá trình thao tác này sẽ được ghi lại vào file hoặc CSDL phù hợp với bạn. Ở đây tôi sử dụng INI file vì sự tiện dụng và portale của nó. Một bộ phần mềm sẽ được ghi lại bằng 1 project file chứa thông tin chung: Số lượng phần mềm cần cài đặt, file cấu hình cài đặt của từng phần mềm,… File cấu hình cài đặt của từng phần mềm sẽ bao gồm các thao tác: Làm việc với control nào, thao tác gì, thông số phụ… Làm việc với file INI có 2 hàm cơ bản: WritePrivateProfileString() và GetPrivateProfileString().
Phần 2:
Thật ra phần 2 chỉ là lặp lại quá trình ở phần 1 một cách tự động mà không cần sự tác động của quản trị viên. Ứng dụng sẽ tự động chạy các bộ cài đặt, gửi các thông điệp tương ứng đến các cửa sổ cần thiết.

Ghi chú:
  • Tham khảo msdn để có thông tin cụ thể hơn về các hàm sử dụng
tutk: Cám ơn bạn đã góp ý, bài viết của bạn bị ẩn là do có trích dẫn nội dung vi phạm.
nhanth87: đó là sự khác biệt giữa PRIVATE và PUBLIC
Có lẽ cần 1 người học cả 2 trường ĐH Công nghệ và ĐH BK hoặc 1 người dạy cả 2 trường đó cho ý kiến thì mới chính xác. Chứ sinh viên trường này học chê trường kia là chuyện bình thường. Bản thân mình học 1 trường ĐH, mình sẽ tự hào về trường đó và biết rất ít về việc học tập của trường kia, chủ yếu là qua các câu chuyện kể.

Môi trường học cũng quan trọng. Khi so sánh BK hoặc CN với một trường Dân lập nào đó (không phải tất cả các trường dân lập đều dở) có thể thấy được sự chênh lệch, nhưng đem 2 trường sàn sàn nhau đi so cũng không nói lên được điều gì.

Thêm nữa là các bạn bàn rất kỹ về vấn đề "nghiên cứu" và "ứng dụng". Theo mình thấy thì bậc đại học chỉ trang bị các kiến thức cơ bản về nhiều mặt, để bạn có thể tiếp tục công việc của mình khi ra trường. Hoàn thành tốt chương trình là bạn có thể đủ sức để đi theo nghiên cứu hoặc ứng dụng. Còn sau 4 năm ra trường mà bạn đã thành một nhà khoa học chuyên nghiên cứu, hoặc một chuyên viên về ứng dụng thì mình nghĩ là rất hiếm.

Ý kiến của mình trong trường hợp lựa chọn trường:
- Chọn những trường có ngành mình thích.
- Chọn trường có điểm chuẩn vừa sức.
- Chọn trường phù hợp với điều kiện kinh tế, địa lý.
- Chọn theo sở thích, danh tiếng của trường - cảm tính.

nvluanthanh wrote:
mình sẽ đọc link bạ gửi sau được k? 

Không được, bạn phải đọc link của quanta đưa trước.
Virus-ice: Bạn dùng tiếng Việt để gửi bài trên diễn đàn!
Jacky82:
Như thế này là chưa stable. Muốn stable thì ram, cpu, vga,... phải hoạt động ổn định. Điều này phụ thuộc rất nhiều vào điện cung cấp cho các bộ phận, tản nhiệt,...
Sau khi Overclock bạn nên kiếm một số phần mềm kiểm tra stable của máy để điều chỉnh cho phù hợp hơn.

Về công suất và thiệt hại, ý kiến riêng của mình là nếu tản nhiệt tốt, máy của bạn sẽ hoạt động lâu dài cho đến khi có cpu mới ngon hơn, mạnh hơn. 1 cái máy tính dùng khoảng 3 năm là thấy lỗi thời ghê gớm rồi.
B00B, Mình ko biết chỗ nào dạy, nhưng học Shell script không quá phức tạp, bạn có thể theo các tutorials trên mạng, ví dụ như ở đây:

http://bash.cyberciti.biz/guide/Main_Page
http://www.freeos.com/guides/lsst/ch02sec01.html

Python thì mình không dùng, nhưng Perl mình cũng tự học. Bạn làm những việc gì liên quan đến quản lý hệ thống? Mình nghĩ không nhất thiết học cả 3 "cái" đâu. Bắt đầu bằng Shell script cũng được.

Thân mến.
 
Go to Page:  First Page Page 2 4 5 6 Page 7 Last Page

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|