/// <summary> /// Use try with this ctor. /// </summary> /// <param name="sort_criteria"></param> /// <param name="reverse"></param> /// <param name="net_path"></param> public WnetResourceList(int sort_criteria, bool reverse, string net_path) : base(sort_criteria, reverse) { resource_root = WinApiWNETwrapper.GetResourceInfo(net_path); internal_comparer = new InternalComparer(sort_criteria, reverse); internal_list = new SortedList <NETRESOURCE, object>(internal_comparer); }
public void FillInfo(NETRESOURCE resource) { try { resource_intern = WinApiWNETwrapper.GetResourceInfo(resource.lpRemoteName); Text = resource_intern.lpRemoteName; textBoxRemoteName.Text = resource_intern.lpRemoteName; textBoxDisplayType.Text = resource_intern.dwDisplayType.ToString(); textBoxResourceType.Text = resource_intern.dwType.ToString(); textBoxResourceComment.Text = resource_intern.lpComment; textBoxProviderName.Text = resource_intern.lpProvider; } catch (Exception ex) { errorProvider1.SetIconAlignment(textBoxRemoteName, ErrorIconAlignment.MiddleLeft); errorProvider1.SetError(textBoxRemoteName, ex.Message); //Messages.ShowException(ex); } var netinfo = new NETINFOSTRUCT(); try { netinfo = WinApiWNETwrapper.GetNetworkInfo(resource_intern.lpProvider); textBoxNetworkProviderType.Text = netinfo.wNetType.ToString(); textBoxNetworkProviderVersion.Text = string.Format("0x{0:X}", netinfo.dwProviderVersion); } catch (Exception ex) { errorProvider1.SetIconAlignment(textBoxNetworkProviderType, ErrorIconAlignment.MiddleLeft); errorProvider1.SetError(textBoxNetworkProviderType, ex.Message); } if ((resource_intern.dwDisplayType == ResourceDisplayType.SERVER) && (netinfo.wNetType == NetworkType.LANMAN)) { fill_netserver_page(); tabControl1.TabPages.Remove(tabPageShareInfo); } else if ((resource_intern.dwDisplayType == ResourceDisplayType.SHARE) || (resource_intern.dwDisplayType == ResourceDisplayType.SHAREADMIN)) { fill_share_page(); tabControl1.TabPages.Remove(tabPageFilesInfo); tabControl1.TabPages.Remove(tabPageServerInfo); tabControl1.TabPages.Remove(tabPageSessionInfo); tabControl1.TabPages.Remove(tabPageTransportInfo); } else { tabControl1.TabPages.Remove(tabPageShareInfo); tabControl1.TabPages.Remove(tabPageFilesInfo); tabControl1.TabPages.Remove(tabPageServerInfo); tabControl1.TabPages.Remove(tabPageSessionInfo); tabControl1.TabPages.Remove(tabPageTransportInfo); } }
private void jump_to(mFilePanel target_panel) { var dial = new JumpToDialog(); dial.Text = Options.GetLiteral(Options.LANG_WHERE_TO_JUMP); if (dial.ShowDialog() != DialogResult.OK) { return; } var path = dial.textBoxPath.Text; FileCollectionBase new_source = null; try { //parse path if (path.StartsWith(@"\\")) { //assume smb path var target_res = WinApiWNETwrapper.GetResourceInfo(path); if (target_res.dwDisplayType == netCommander.WNet.ResourceDisplayType.SHARE) { //it is network share - show directory list new_source = new DirectoryList(0, false, path); } else if ((target_res.dwUsage & ResourceUsage.CONTAINER) != ResourceUsage.CONTAINER) { //target_res is not container - try show parent target_res = WinApiWNETwrapper.GetParentResource(target_res); new_source = new WnetResourceList(0, false, target_res); } else { //show target_resource new_source = new WnetResourceList(0, false, target_res); } }//end of stratsWith("\\") brunch else { new_source = new DirectoryList(0, false, path); } //now refill source new_source.MainWindow = this; new_source.Refill(); target_panel.Source = new_source; target_panel.Refresh(); } catch (Exception ex) { Messages.ShowException(ex, string.Format(Options.GetLiteral(Options.LANG_CANNOT_SHOW_0), path)); } }