Tuesday, July 19, 2011

Kiểm tra license phần mềm của mình

Chào các bạn vấn đề bản quyền phần mềm là một vấn đề rất nhạy cảm ở Việt Nam
1. Rất khó có một cách thức bảo đảm phần mềm được sử dụng hợp pháp (vì gần như đều bị crack cả microsoft còn bị nữa huống chi mình :D )
2. Ý thức của người VN (cái này nói nhỏ thôi) thương thích sử dụng miễn phí

Nhưng đối với một số phần mêm mặc dù biết không an toàn nhưng cũng muốn tạo ra một cơ chế để ràng buộc người dùng phần mềm. Hiện theo tôi thì có 2 nhóm cở bản đề kiểm tra license phần mềm.
1. Kiểm tra thông qua internet với server của tác giả phần mềm.
2. Nhà cũng cấp sẽ gửi cho người dùng thông tin để active phần mềm trên máy của họ.

Mỗi phương pháp đều có cái lợi và hại của nó. Trong bài viết này tôi xin trình bài một có dụ nhỏ cho cách thứ 2 bên trên.
Cách công việc thực hiện
1. Xây dựng phần mềm (:D cái này tất nhiên rồi)
2. Xác định cách cung cấp license
- Cung cấp dưới dạng tập tin nhúng vào phần mềm
3. Cách thực hiện
- Khi chạy phần mềm lần đâu chúng ta kiểm tra xem có tập tin license của mình cung cấp trên máy người dung chưa
-> Nếu chưa có thì hiển thị form thông tin để yêu cầu họ cung cấp thông tin (email để gửi file license cho họ -> :D thực chất thì form này sẽ kết nối với internet để gửi thông tin về email của minh trong đó có ID của CPU máy người dùng)
-> Nếu có file license thì kiểm tra xem có dung với file của mình cung cấp không phần này các bạn tự suy nghỉ xem làm sao nhé (:D - gợi ý tí - dùng digital signature thử xem)

Đoạn code gửi mail các bạn xem trên blog này có hướng dẫn nhé.
Đoạn code lấy ID của CPU
----------------------------------------
string cpuInfo = string.Empty;
ManagementClass mc = new ManagementClass("win32_processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (cpuInfo == "")
{
// Lấy về mã số Processor.
cpuInfo = mo.Properties["processorID"].Value.ToString();
break;
}
}
-----------------------------------------------------------------------------

Chúc các bạn thành công.

Thursday, July 14, 2011

Gửi mail (thư) trong C# - với tài khoản Gmail

[sourcecode language="csharp"]
using System.Net.Mail;
using System.Net;
private void button1_Click(object sender, EventArgs e)
{
string Sendto = "ngotuongdan01@gmail.com"; //Email Address to reciever
// tai khoan này các bạn sử đừng sử dụng để gửi tùm lum dùm tui nhe
string UserName = "ngotuongdan04"; //Ur Gmail address
string PassWord = "ngotuongdan"; //Gmail password
NetworkCredential loginInfo = new NetworkCredential(UserName, PassWord);
MailMessage msg = new MailMessage();
msg.From = new MailAddress(UserName);
msg.To.Add(new MailAddress(to.ToString()));
msg.Subject = "Testing Mail";
msg.Body = textBox1.Text.ToString();
msg.IsBodyHtml = true;
SmtpClient client = new SmtpClient("smtp.gmail.com");
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = loginInfo;
client.Send(msg);
MessageBox.Show("mail sent");
}
[/sourcecode]

Chúc các bạn thành công

Translate