.NET 通过组件CLSID执行系统命令

.NET通过Type.GetTypeFromCLSID获取组件的 CLSID,CLSID 是一个唯一标识符,用于标识 组件,如果遇到某些拦截的场景,可以使用GetTypeFromCLSID替代GetTypeFromProgID,这样做的好处传递的组件的方式从名称转成唯一标识符,例如ShellBrowserWindow API 的CLSID值为 C08AFD90-F2A1-11D1-8455-00A0C91F3880

Type wshType = Type.GetTypeFromCLSID(new Guid("C08AFD90-F2A1-11D1-8455-00A0C91F3880"));
dynamic wsh = Activator.CreateInstance(wshType);
wsh.Document.Application.ShellExecute("calc.exe");

如何获取CLSID的值,可以用oleview查看,如图1

运行后弹出计算器

posted @ 2023-04-09 15:06  Ivan1ee  阅读(163)  评论(0编辑  收藏  举报