- [C#] Hướng dẫn lưu tất cả hình ảnh từ File Excel vào thư mục window
- [DATABASE] Hướng dẫn import và export hình ảnh image từ Sqlserver
- [DATABASE] Hướng dẫn sử dụng Hàm ASCII trong sqlserver
- [C#] Hướng dẫn fix lỗi Visual Studio 2022 not Support Target Net Framework 4.5.2
- [C#] Giới thiệu thư viện Sunny UI thiết kế giao diện trên Winform
- [DATABASE] Hướng dẫn thêm và cập nhật Extended Property Column trong Table Sqlserver
- [DEVEXPRESS] Hướng dẫn sử dụng Vertical Gridview để hiển thị thông tin sản phẩm
- [C#] Hướng dẫn sử dụng Json Schema để Validate chuỗi string có phải json
- [C#] Hướng dẫn sử dụng công cụ Clean Code trên Visual Studio
- [C#] Hướng dẫn Drag and Drop File vào RichTextBox
- [C#] Hướng dẫn tạo hiệu ứng Karaoke Text Effect Winform
- [C#] Sử dụng thư viện ZedGraph vẽ biểu đồ Line, Bar, Pie trên Winform
- [DATABASE] Hướng dẫn sort sắp xếp địa chỉ IP trên sqlserver sử dụng hàm PARSENAME
- [C#] Theo dõi sử kiện process Start hay Stop trên Winform
- [ASP.NET] Chia sẻ source code chụp hình sử dụng camera trên website
- [C#] Chạy ứng dụng trên Virtual Desktop (màn hình ảo) Winform
- [C#] Mã hóa và giải mã Data Protection API trên winform
- [C#] Hướng dẫn tạo Gradient Background trên Winform
- [DATABASE] Hướng dẫn convert Epoch to DateTime trong sqlserver
- [DATABASE] Hướng dẫn sử dụng STRING_AGG và CONCAT_WS trong sqlserver 2017
[C#] Hướng dẫn cách ánh xạ ổ đĩa mạng (Map Disk Network) trong winform
Xin chào các bạn, bài viết hôm nay mình sẽ hướng dẫn các bạn cách ánh xạ ổ đĩa mạng vào My Computer trên windows bằng ngôn ngữ lập trình C#.
[C#] Ánh xạ ổ đĩa mạng (Map Disk Network) trong Winform
Ánh xạ ổ đĩa mạng từ một thư mục ổ máy tính khác có share cho mình, giúp chúng ta dễ dàng truy cập đến thư mục chia sẽ đó một cách nhanh nhất.
Tóm lại, nó như là một shortcut để ta truy cập nhanh đến thư mục đó.
Trong giao diện Windows Explorer, chắc các bạn ai cũng biết ánh xạ thế nào rồi.
Giới đây là giao diện demo ứng dụng ánh xạ ổ đĩa mạng C#:
+ Đầu tiên, chúng ta cần tạo ký hiệu cho các ổ đĩa mạng, mình sẽ tạo một vòng lặp từ ổ D: => Z:
(drive letter).
+ Tiếp theo, chúng ta cần nhập đường dẫn đến thư mục share.
+ Nếu thư mục share nào mà windows đòi hỏi chứng thực thì chúng ta sẽ nhập username và mật khẩu vào nhé.
Full source code Ánh xạ ổ đĩa mạng C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace MapDriveNetWork
{
[StructLayout(LayoutKind.Sequential)]
public struct NETRESOURCE
{
public uint dwScope;
public uint dwType;
public uint dwDisplayType;
public uint dwUsage;
public string lpLocalName;
public string lpRemoteName;
public string lpComment;
public string lpProvider;
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
const uint RESOURCETYPE_DISK = 1;
const uint CONNECT_UPDATE_PROFILE = 0x1;
const uint CONNECT_INTERACTIVE = 0x8;
const uint CONNECT_PROMPT = 0x10;
const uint CONNECT_REDIRECT = 0x80;
const uint CONNECT_COMMANDLINE = 0x800;
const uint CONNECT_CMD_SAVECRED = 0x1000;
[DllImport("mpr.dll")]
static extern uint WNetAddConnection3(IntPtr hWndOwner, ref NETRESOURCE lpNetResource, string lpPassword, string lpUserName, uint dwFlags);
[DllImport("mpr.dll")]
static extern uint WNetCancelConnection2(string lpName, uint dwFlags, bool bForce);
private void Form1_Load(object sender, EventArgs e)
{
for (char driveLetter = 'D'; driveLetter <= 'Z'; driveLetter++)
{
cb_letter.Items.Add(driveLetter + ":");
}
cb_letter.SelectedIndex = 0;
}
private void btn_map_Click(object sender, EventArgs e)
{
NETRESOURCE networkResource = new NETRESOURCE();
networkResource.dwType = RESOURCETYPE_DISK;
networkResource.lpLocalName = cb_letter.Text;
networkResource.lpRemoteName = txt_link.Text;
networkResource.lpProvider = null;
uint flags = 0;
uint result = WNetAddConnection3(this.Handle, ref networkResource, null, null, flags);
if (result != 0) MessageBox.Show("Mã lỗi: " + result, "Mapping Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
private void btn_unmap_Click(object sender, EventArgs e)
{
uint flags = 0;
uint result = WNetCancelConnection2(cb_letter.Text, flags, false);
if (result != 0) MessageBox.Show("Mã lỗi: " + result, "Mapping Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
Thanks for watching!