我在取消保护受保护的 excel 的 VBA 项目时遇到问题。
IntPtr hWnd = FindWindow(null, ES.oXL.VBE.MainWindow.Caption);//Find window
if (hWnd != IntPtr.Zero)
{
bool ret = BringWindowToTop(hWnd); //Bring VBE to top.
}
SendKeys.SendWait("%{F11}%TE" + strPassword + "~~%{F11}");
SendKeys.SendWait("{ENTER}");
SendKeys.SendWait("xyz");
SendKeys.SendWait("{ENTER}");
我写了这样的代码来解除对 VBA 项目的保护。它在调试应用程序时工作正常。
我们使用 com 对象模型。当我在 dll 配置单元中应用相同的 dll 时,调用我遇到错误的函数
System.ComponentModel.Win32Exception: Access is denied at System.Windows.Forms.SendKeys.SendInput(Byte[] oldKeyboardState, Queue previousEvents)
对此有何帮助?