Exemple #1
0
 private static void cnt_elem_refr(GlobalTypes.HostInfo host_inf,
                                   GlobalTypes.SysMessageStruct msg,
                                   GlobalTypes.ClientInfo item,
                                   bool flag)
 {
     if ((Encoding.UTF8.GetString(msg.Msg) == "SYN") && (msg.Flag == 2))
     {
         if (!flag)
         {
             item = new GlobalTypes.ClientInfo(host_inf);
             lock (MainWindow.Client_Catalog)
             {
                 MainWindow.Client_Catalog.Add(item);
             }
             RCScreenClient.paint_thmb_scr(item);
         }
         else
         {
             lock (MainWindow.Client_Catalog)
             {
                 item.HostInfo       = host_inf;
                 item.LastConnection = DateTime.Now;
             }
         }
         lock (XPorter.Bus.Main_Handle.TreeUngroup)
         {
             XPorter.Bus.Main_Handle.TreeUngroup.Dispatcher.BeginInvoke(new MethodInvoker(delegate()
             {
                 System.Windows.Controls.ContextMenu item_menu = ReinCorpDesign.sources.UserContextMenu.get_contx_menu(item);
                 if (XPorter.Bus.Main_Handle.TreeUngroup.IsExpanded == false)
                 {
                     XPorter.Bus.Main_Handle.TreeUngroup.IsExpanded = true;
                 }
                 TreeViewItem tr_item = new TreeViewItem();
                 tr_item.ContextMenu  = item_menu;
                 tr_item.Header       = item.HostInfo.Addr.ToString();
                 tr_item.Tag          = "3";
                 XPorter.Bus.Main_Handle.TreeUngroup.Items.Add(tr_item);
             }));
         }
         Thread   thr_tmp = new Thread(RCScreenClient.get_query);
         Object[] args    = new Object[2];
         args[0]      = item;
         args[1]      = new GlobalTypes.ServiceMessageStruct("GET", 0);
         thr_tmp.Name = "get_query";
         thr_tmp.SetApartmentState(ApartmentState.STA);
         //thr_tmp.Start(args);
     }
 }