/// <summary><br /> /// 設定檔案夾共用<br /> /// </summary><br /> /// <param name="FolderPath">檔案夾路徑</param><br /> /// <param name="ShareName">共用名稱</param><br /> /// <param name="Description">共用注釋</param><br /> /// <returns></returns><br /> public int ShareNetFolder(string FolderPath, string ShareName, string Description)<br /> {<br /> try<br /> {<br /> ManagementClass managementClass = new ManagementClass("Win32_Share");<br /> // Create ManagementBaseObjects for in and out parameters<br /> ManagementBaseObject inParams = managementClass.GetMethodParameters("Create");<br /> ManagementBaseObject outParams;<br /> // Set the input parameters<br /> inParams["Description"] = Description;<br /> inParams["Name"] = ShareName;<br /> inParams["Path"] = FolderPath;<br /> inParams["Type"] = 0x0; // Disk Drive<br /> outParams = managementClass.InvokeMethod("Create", inParams, null);<br /> // Check to see if the method invocation was successful<br /> if ((uint)(outParams.Properties["ReturnValue"].Value) != 0)<br /> {<br /> throw new Exception("Unable to share directory.");<br /> }<br /> }<br /> catch<br /> {<br /> return -1;<br /> }<br /> return 0;<br /> }<br /> /// <summary><br /> /// 取消檔案夾共用<br /> /// </summary><br /> /// <param name="ShareName">檔案夾的共用名稱</param><br /> /// <returns></returns><br /> public int CancelShareNetFolder(string ShareName)<br /> {<br /> try<br /> {<br /> SelectQuery selectQuery = new SelectQuery("Select * from Win32_Share Where Name = '" + ShareName + "'");<br /> ManagementObjectSearcher searcher = new ManagementObjectSearcher(selectQuery);<br /> foreach (ManagementObject mo in searcher.Get())<br /> {<br /> mo.InvokeMethod("Delete", null, null);<br /> }<br /> }<br /> catch<br /> {<br /> return -1;<br /> }<br /> return 0;<br /> }