找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
尊貴會員無限使用任何功能認識好友、聊天,分享生活趣事安全提問(回答) 和 永久尊貴會員 事宜
流出ge 無碼銀魂世紀帝國mgvr鬼滅之刃
蓋酷桃園sdnm 425ova ツンなつのさ美少女万結構技師

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

文化大革命 紀實錄像

[繁]魔王學院的不適任

中和廣福路 不滿轎車

(4月新番)[繁]轉生貴

[繁]我的英雄學院 Mem

[繁中]霹靂英雄戰紀之
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 2514|回復: 6
打印上一主題下一主題

[問題]用winform開啟網路共用資料夾的問題[複製鏈接]

Rank: 1

帖子
294
積分
47 點
潛水值
16940 米
跳轉到指定樓層
樓主
發表於 2015-8-27 03:28 PM|只看該作者|倒序瀏覽
各位大大好:
我想直接從程式端開啟有密碼的網路共用資料夾中的影片,
我用了(http://自己加)yilinliu.blogspot.tw/2006/08/cwindows.html 的方法,
可以成功地從程式端直接讀取到網路共用資料夾中的目錄並且顯示,
但一樣的方法卻不能開啟這個資料夾中的影片。
但如果我從windows下直接登入此共用資料夾(\\192.168.XX.XX\),並且做登入之後,
卻又可以直接從程式端開啟網路共用資料夾中的影片,這是什麼原因呢?  那程式上需要做什麼調整呢?  問題有點棘手,麻煩各位了......
瀏覽完整內容,請先 註冊登入會員

點評

hsw1976 伺服端有沒有安裝播放軟體?  發表於 2015-8-27 07:53 PM
分享分享0收藏收藏0支持支持0
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。

使用道具檢舉

Rank: 1

帖子
294
積分
47 點
潛水值
16940 米
頭香
發表於 2015-8-27 05:01 PM|只看該作者
附上我的Code 請大大們能幫我看看
  1. //登入
  2.         [DllImport("advapi32.dll", SetLastError = true)]
  3.         public static extern bool LogonUser(string lpszUsername,string lpszDomain,string lpszPassword,int dwLogonType,int dwLogonProvider,ref IntPtr phToken);
  4.         //登出
  5.         [DllImport("kernel32.dll")]
  6.         public extern static bool CloseHandle(IntPtr hToken);

  7.         string IPath = @"\\192.168.10.XXX\OOO\OOO\";
  8.         private void VedioWatch_Load(object sender, EventArgs e)
  9.         {
  10.             string UserName = "XXX";
  11.             string MachineName = "192.168.10.XXX";
  12.             string Pw = "XXXX";         
  13.             const int LOGON32_PROVIDER_DEFAULT = 0;
  14.             const int LOGON32_LOGON_NEW_CREDENTIALS = 9;
  15.             IntPtr tokenHandle = new IntPtr(0);
  16.             tokenHandle = IntPtr.Zero;
  17.             //將登入的Token放在tokenHandle
  18.             bool returnValue = LogonUser(UserName, MachineName, Pw,LOGON32_LOGON_NEW_CREDENTIALS,LOGON32_PROVIDER_DEFAULT,ref tokenHandle);

  19.             //讓程式模擬登入的使用者
  20.             WindowsIdentity w = new WindowsIdentity(tokenHandle);
  21.             w.Impersonate();
  22.             if (false == returnValue)
  23.             {
  24.                 //登入失敗的處理
  25.                 return;
  26.             }
  27.             foreach (string fname in System.IO.Directory.GetFileSystemEntries(IPath)) //將網路共用資料夾目錄顯示出來
  28.             {
  29.                 dataGridView1.Rows.Add(Path.GetFileName(fname));
  30.             }                     
  31.         }      


  32.         private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)    //點擊時播放的影片完整路徑
  33.         {
  34.             try
  35.             {
  36.                 axWindowsMediaPlayer1.URL = IPath + dataGridView1.CurrentRow.Cells[0].Value.ToString();  //用內嵌wmplayer播放
  37.                 axWindowsMediaPlayer1.Ctlcontrols.play();
  38.             }
  39.             catch(Exception ex)
  40.             {
  41.                 MessageBox.Show(ex.Message);
  42.             }        
  43.         }
複製代碼
...
瀏覽完整內容,請先 註冊登入會員
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。

使用道具檢舉

Rank: 1

帖子
294
積分
47 點
潛水值
16940 米
3
發表於 2015-8-28 10:20 AM|只看該作者
您好:
我不是在伺服器上播放的,只是提取他的路徑,本機播放。
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php

使用道具檢舉

Rank: 2Rank: 2

帖子
541
積分
212 點
潛水值
13707 米
4
發表於 2015-9-3 12:53 AM|只看該作者
  1. axWindowsMediaPlayer1.URL = IPath + @"\" + dataGridView1.CurrentRow.Cells[0].Value.ToString
複製代碼
你應該是少了中間到[倒斜線],讓播放器找不到路徑吧

使用道具檢舉

Rank: 1

帖子
294
積分
47 點
潛水值
16940 米
5
發表於 2015-9-3 11:12 PM|只看該作者
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
rr09192084 發表於 2015-9-3 12:53 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

你應該是少了中間到[倒斜線],讓播放器找不到路徑吧

您好:
我想應該不是吧,因為我只要手動登入過那個網路共用資料夾,撥放就一切正常,或者我把共用資料夾設定為不用密碼也可以,但我想知道的是如果有密碼的共用資料夾如何解決我上述的問題...
瀏覽完整內容,請先 註冊登入會員





若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php

使用道具檢舉

Rank: 2Rank: 2

帖子
541
積分
212 點
潛水值
13707 米
6
發表於 2015-9-4 12:09 AM|只看該作者
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
本帖最後由 rr09192084 於 2015-9-4 12:16 AM 編輯

這是我參考強力榔頭大大的文章
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

改成CSharp的版本,我在Win7 64位元旗艦版試過,可以正常運作,你試試看吧!
  1.         private string UNC = @"\\192.168.0.101\Download";

  2.         // 結構
  3.         private struct NetResrc
  4.         {
  5.             public Int32 dwScope;
  6.             public Int32 dwType;
  7.             public Int32 dwDisplayType;
  8.             public Int32 dwUsage;
  9.             public string lpLocalName;
  10.             public string lpRemoteName;
  11.             public string lpComment;
  12.             public string lpProvider;
  13.         }

  14.         // API 宣告
  15.         [DllImport("mpr.dll", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
  16.         private static extern Int32 WNetAddConnection2A(NetResrc lpNetResource, string lpPswd, string lpUser, Int32 dwFlags);

  17.         [DllImport("mpr.dll", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
  18.         private static extern Int32 WNetCancelConnection2A(string lpName, Int32 dwFlags, Int32 fForce);

  19.         //連線按鈕
  20.         private void btnConnect_Click(object s, EventArgs e)
  21.         {
  22.             string User = "xxxxxxxx"; // Login User
  23.             string Pswd = "xxxxxxxx";   // Password
  24.             if (ConnectUNC(UNC, User, Pswd))
  25.             {
  26.                 foreach (string fname in System.IO.Directory.GetFiles(UNC))
  27.                 {
  28.                     dataGridView1.Rows.Add(System.IO.Path.GetFileName(fname));
  29.                 }
  30.             }
  31.         }

  32.         //斷線按鈕
  33.         private void btnDisconnect_Click(object s, EventArgs e)
  34.         {
  35.             if (DisconnectUNC(UNC))
  36.                 MessageBox.Show("UNC 斷線成功 !");
  37.         }

  38.         // UNC連線
  39.         private static bool ConnectUNC(string Unc, string User, string Pwd)
  40.         {
  41.             NetResrc NetStruc = new NetResrc();
  42.             if (Unc.EndsWith("\\")) Unc = Unc.Substring(0, Unc.Length - 1);
  43.             NetStruc.dwScope = 0;
  44.             NetStruc.dwDisplayType = 0;
  45.             NetStruc.dwUsage = 0;
  46.             NetStruc.dwType = 0;
  47.             NetStruc.lpLocalName = "";
  48.             NetStruc.lpRemoteName = Unc;
  49.             NetStruc.lpProvider = "";
  50.             NetStruc.lpComment = "";
  51.             return WNetAddConnection2A(NetStruc, Pwd, User, 0) == 0;
  52.         }

  53.         // UNC斷線
  54.         private static bool DisconnectUNC(string Unc)
  55.         {
  56.             if (Unc.EndsWith("\\"))
  57.                 Unc = Unc.Substring(0, Unc.Length - 1);
  58.             return WNetCancelConnection2A(Unc, 1, 0) == 0;

  59.             // 如果需要要斷 \\Server\IPC$ 如下
  60.             //string ipc = string.Format("\\\\{0}\\IPC$", UNC.Split("\\")(2));
  61.             //WNetCancelConnection2A(ipc, 1, 1);
  62.         }

  63.         private void dataGridView1_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
  64.         {
  65.             axWindowsMediaPlayer1.URL = UNC + @"\" + dataGridView1.CurrentRow.Cells[0].Value.ToString();
  66.             axWindowsMediaPlayer1.Ctlcontrols.play();
  67.         }
複製代碼
...
瀏覽完整內容,請先 註冊登入會員
成為伊莉的版主,你將獲得更高級和無限的權限。把你感興趣的版面一步步地發展和豐盛,那種滿足感等著你來嚐嚐喔。

使用道具檢舉

Rank: 2Rank: 2

帖子
541
積分
212 點
潛水值
13707 米
7
發表於 2015-9-4 12:11 AM|只看該作者
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。
本帖最後由 rr09192084 於 2015-9-4 12:45 AM 編輯

這是用LINQ語法的版本,可以過濾檔案類型,也給你做參考。
  1. foreach (string fname in System.IO.Directory.GetFiles(UNC, "*.*", System.IO.SearchOption.TopDirectoryOnly)
  2.              .Where(fs => fs.EndsWith(".mp4") || fs.EndsWith(".wmv") || fs.EndsWith(".avi")))
  3.     {
  4.          dataGridView1.Rows.Add(System.IO.Path.GetFileName(fname));
  5.      }
複製代碼

補充內容 (2015-9-6 02:47 PM):
我試過,無論你的或是我的程式碼都是可以正常執行的,你要不要試試安裝k-like code pack看看,也許是內嵌media play不支援的問題...
瀏覽完整內容,請先 註冊登入會員
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部