国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

遠(yuǎn)程注冊(cè)表讀取,與多線程池的應(yīng)用

2019-11-18 16:51:49
字體:
供稿:網(wǎng)友

一般用在域環(huán)境下,讀取客戶機(jī)注冊(cè)的配制信息.
主要代碼如下:

PRivate void button1_Click(object sender, System.EventArgs e)
        {
            tabControl1.SelectedIndex=1;

            ThreadStart threadDelegate = new ThreadStart(this.doIt);
            Thread newThread = new Thread(threadDelegate);
            newThread.Start();


        }
        private int number = 0;
        private void doIt()
        {
            int maxthread = int.Parse(txt_numThread.Text);
            string remoteName;
            progressBar1.Value = 0;
            progressBar1.Maximum =(int)n_ip2.Value-(int)n_ip1.Value;
            for(Decimal i = n_ip1.Value;i<=n_ip2.Value;i++)
            {
                remoteName = txt_ipStart.Text+"."+i.ToString();

                WaitCallback async = new WaitCallback(RunGet);
                while(true)
                {
                   
                    Monitor.Enter(number);
                    if(number>5)
                        Thread.Sleep(1000);
                    else
                        break;
                    Monitor.Exit(number);
                }
                if(ThreadPool.QueueUserWorkItem(async,remoteName))
                    Interlocked.Increment(ref number);

            //RunGet(remoteName);
            }
            while(true)
            {
                //myResetEvent.Set();
                Monitor.Enter(number);
                if( number <= 0)
                    break;
                else
                    Thread.Sleep(1000);
                Monitor.Exit(number);
            }
            MessageBox.Show("完成");

           
        }

        private void RunGet(object ip)
        {
            try
            {
                RegistryKey environmentKey = null;
                string remoteName = ip.ToString();
                try
                {
                    // Open HKEY_CURRENT_USER/Environment
                    // on a remote computer.
                    environmentKey = RegistryKey.OpenRemoteBaseKey(
                        RegistryHive.LocalMachine, remoteName).OpenSubKey(
                        txt_key.Text);
                }
                catch(IOException ex)
                {
                    addMsg(string.Format("{0}: {1}", remoteName, ex.Message));
               
                }

                // Print the values.
                //            MessageBox.Show(string.Format("/nThere are {0} values for {1}.",
                //                environmentKey.ValueCount.ToString(),
                //                environmentKey.Name));
                //addMsg(environmentKey.GetValue("AutoAdminLogon").ToString());
                object result =     environmentKey.GetValue(txt_value.Text);
                if(result != null)
                {
                    addMsg(string.Format("{0}/t/t{1}",remoteName,result));
                    addSuccessMsg(remoteName,result.ToString());
                }
                else
                {
                    addMsg(string.Format("{0}/t/t讀取失敗",remoteName));
                }
                //            foreach(string valueName in environmentKey.GetValueNames())
                //            {
                //                addMsg(string.Format("{0,-20}: {1}", valueName, environmentKey.GetValue(valueName).ToString()));
                //            }

                // Close the registry key.
                environmentKey.Close();
            }
            catch
            {
            }
            progressBar1.PerformStep();
            Interlocked.Decrement(ref number);

        }
        private void addMsg(string msg)
        {
            lb_msg.Items.Insert(0,msg);
        }
        private void addSuccessMsg(string Ip,string value)
        {
            txt_result.Text = string.Format("{0}/t/t{1}/r/n",Ip,value)+txt_result.Text;
        }

        private void button2_Click(object sender, System.EventArgs e)
        {
            lb_msg.Items.Clear();
        }

        private void button3_Click(object sender, System.EventArgs e)
        {
            System.IO.StreamWriter sw = new StreamWriter("C://1.txt",false,System.Text.Encoding.Default);
            sw.Write(txt_result.Text);
            sw.Close();
            MessageBox.Show("保存到C://1.txt");
        }  
http://www.survivalescaperooms.com/edobnet/archive/2006/11/24/571383.html


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巫山县| 玉门市| 集贤县| 云和县| 额尔古纳市| 靖西县| 南昌县| 札达县| 息烽县| 宁强县| 平邑县| 北海市| 土默特右旗| 石门县| 靖宇县| 安吉县| 赫章县| 金寨县| 濮阳县| 林芝县| 高淳县| 深泽县| 正镶白旗| 项城市| 新巴尔虎右旗| 集贤县| 景泰县| 余江县| 乳源| 秦皇岛市| 化隆| 聂拉木县| 福清市| 北宁市| 广水市| 云梦县| 麻城市| 江安县| 从化市| 揭阳市| 定安县|