locked
FAQs: 如何检测一个Office应用程序是内嵌状态? RRS feed

答案

  • 对于这个问题,没有固定的方法。但是一般作为解决方法,当Office应用程序作为OLE对象被内嵌,它由父进程svchost.exe创建。为找出Office应用程序的父进程,我们可以使用WMI。代码如下:

            private void ParentProcessUseWmi(int pID)

            {

                ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Process Where ProcessID=" + pID);

                ManagementObjectCollection moc = searcher.Get();

                foreach (ManagementObject mo in moc)

                {

                    if (mo["ParentProcessID"] != null)

                    {

                   MessageBox.Show(Process.GetProcessById(Convert.ToInt32(mo["ParentProcessID"])).ProcessName);

                    }

                    searcher.Dispose();

                    searcher = null;

                    moc.Dispose();

                    moc = null;

                }

            }


    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    MSDN 论坛好帮手 立刻免费下载  MSDN 论坛好帮手
    2011年2月28日 9:57