保護された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)
なぜそれが機能するのか、これに関する助けはありますか?