- 最後登錄
- 2022-11-24
- 在線時間
- 1 小時
- 註冊時間
- 2008-9-2
- 閱讀權限
- 20
- 精華
- 0
- UID
- 4896884
- 帖子
- 541
- 積分
- 212 點
- 潛水值
- 13707 米
| 如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。 本帖最後由 rr09192084 於 2015-9-4 12:16 AM 編輯
這是我參考強力榔頭大大的文章
改成CSharp的版本,我在Win7 64位元旗艦版試過,可以正常運作,你試試看吧!- private string UNC = @"\\192.168.0.101\Download";
- // 結構
- private struct NetResrc
- {
- public Int32 dwScope;
- public Int32 dwType;
- public Int32 dwDisplayType;
- public Int32 dwUsage;
- public string lpLocalName;
- public string lpRemoteName;
- public string lpComment;
- public string lpProvider;
- }
- // API 宣告
- [DllImport("mpr.dll", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
- private static extern Int32 WNetAddConnection2A(NetResrc lpNetResource, string lpPswd, string lpUser, Int32 dwFlags);
- [DllImport("mpr.dll", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
- private static extern Int32 WNetCancelConnection2A(string lpName, Int32 dwFlags, Int32 fForce);
- //連線按鈕
- private void btnConnect_Click(object s, EventArgs e)
- {
- string User = "xxxxxxxx"; // Login User
- string Pswd = "xxxxxxxx"; // Password
- if (ConnectUNC(UNC, User, Pswd))
- {
- foreach (string fname in System.IO.Directory.GetFiles(UNC))
- {
- dataGridView1.Rows.Add(System.IO.Path.GetFileName(fname));
- }
- }
- }
- //斷線按鈕
- private void btnDisconnect_Click(object s, EventArgs e)
- {
- if (DisconnectUNC(UNC))
- MessageBox.Show("UNC 斷線成功 !");
- }
- // UNC連線
- private static bool ConnectUNC(string Unc, string User, string Pwd)
- {
- NetResrc NetStruc = new NetResrc();
- if (Unc.EndsWith("\\")) Unc = Unc.Substring(0, Unc.Length - 1);
- NetStruc.dwScope = 0;
- NetStruc.dwDisplayType = 0;
- NetStruc.dwUsage = 0;
- NetStruc.dwType = 0;
- NetStruc.lpLocalName = "";
- NetStruc.lpRemoteName = Unc;
- NetStruc.lpProvider = "";
- NetStruc.lpComment = "";
- return WNetAddConnection2A(NetStruc, Pwd, User, 0) == 0;
- }
- // UNC斷線
- private static bool DisconnectUNC(string Unc)
- {
- if (Unc.EndsWith("\\"))
- Unc = Unc.Substring(0, Unc.Length - 1);
- return WNetCancelConnection2A(Unc, 1, 0) == 0;
- // 如果需要要斷 \\Server\IPC$ 如下
- //string ipc = string.Format("\\\\{0}\\IPC$", UNC.Split("\\")(2));
- //WNetCancelConnection2A(ipc, 1, 1);
- }
- private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
- {
- axWindowsMediaPlayer1.URL = UNC + @"\" + dataGridView1.CurrentRow.Cells[0].Value.ToString();
- axWindowsMediaPlayer1.Ctlcontrols.play();
- }
複製代碼 ... |
|