Esempio n. 1
0
 /// <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);
 }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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));
            }
        }