WMI 远程访问注册表

            try
            {

                ConnectionOptions options = new ConnectionOptions();
                options.Username = "administrator";
                options.Password = "zz";

                string sub_key = @"SOFTWARE\Microsoft\Windows\CurrentVersion";

                ManagementScope Conn = new ManagementScope(@"http://www.cnblogs.com/yinhaosln/admin/file://test001/root/default", options);
                Conn.Connect();

                ManagementPath path = new ManagementPath("StdRegProv");
                ManagementClass processClass = new ManagementClass(Conn, path, null);

                string value = "";
                object[] method_args = { 0x80000002, sub_key, "CommonFilesDir", "" };

                object result = processClass.InvokeMethod("GetStringValue", method_args);

                //object[] method_args = { 0x80000002, sub_key, null };
                //object result = processClass.InvokeMethod("EnumKey", method_args);


                this.richTextBox1.Text = Convert.ToString(method_args[3]);

                this.richTextBox1.AppendText("ok");
                //string[] softs = (string[])method_args[2];


                //foreach (string soft in softs)
                //{
                //    if (soft.StartsWith("{") || soft.EndsWith("}"))
                //    {
                //        continue;
                //    }
                //    else
                //    {
                //        Regex r = new Regex("^KB[0-9]");
                //        Match m = r.Match(soft);
                //        if (m.Success)
                //        {
                //            continue;
                //        }
                //    }
                //    this.richTextBox1.AppendText(soft + "\r\n");
                //}


              
            }
            //报错
            catch (Exception ee)
            {
                this.richTextBox1.Text = ee.Message;
            }

posted on 2009-05-22 17:12  永无止境  阅读(596)  评论(0编辑  收藏  举报