gpt4 book ai didi

c# - 是否可以提高 IE .NET 附加组件的安全性?

转载 作者:太空宇宙 更新时间:2023-11-03 16:39:56 26 4
gpt4 key购买 nike

我有一个 C#/.NET (VS2010) IE 插件,它使用 Marshal.GetActiveObject() 到应用程序的运行实例(COM 对象),然后通过Invoke() 方法。在 XP 中它工作正常。在 W7/Vista 中,它要求 IE 和目标应用程序都以“以管理员身份运行”,否则会产生异常:

[Operation unavailable (Exception from HRESULT:0x8000401E3 MK_E_UNAVAILABLE))]

代码如下:

private void _BtnPlace_onclick(IHTMLEventObje)
{
....
....
object AutoCADApp = null;
try
{
// Does not return the object from the Running Objects Table unless run 'As Administrator'

AutoCADApp = System.Runtime.InteropServices.Marshal.GetActiveObject("AutoCAD.Application");
}
catch (Exception ex)
{
MessageBox.Show("Unable to locate a running version of AutoCAD on this machine. Please make sure AutoCAD is running.\n\n [" + ex.Message + "]\n", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}

object acadDoc = GetProperty(AutoCADApp, "ActiveDocument");
InvokeMethod(acadDoc, "SendCommand", keyin);
}

关于如何解决安全问题以使此附加组件在 W7/Vista 中运行(要求它提示提升权限是可以的)有什么想法吗?

最佳答案

也许是在黑暗中拍摄,但您是否阅读了这篇代码项目文章: http://www.codeproject.com/KB/vista-security/ElevatedPrivilegesDemand.aspx

关于c# - 是否可以提高 IE .NET 附加组件的安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7956275/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com