110,537
社区成员
发帖
与我相关
我的任务
分享
private static string IES_CLASS_NAME = "Internet Explorer_Server";
private static IntPtr IES_CLASS_NAME_HWND = IntPtr.Zero;
private static string MMFPAX_CLASS_NAME = "MacromediaFlashPlayerActiveX";
private static IntPtr MMFPAX_CLASS_NAME_HWND = IntPtr.Zero;
private void btnInjectPlugin_Click(object sender, EventArgs e)
{
User32.EnumChildWindows(this.browserClient.Handle, EnumChildWindowsCallBack, IntPtr.Zero);
if (!IntPtr.Zero.Equals(IES_CLASS_NAME_HWND))
{
this.log("IES_CLASS_NAME_HWND is not null!");
//User32.EnumChildWindows(IES_CLASS_NAME_HWND, EnumChildWindowsCallBack, IntPtr.Zero);
MMFPAX_CLASS_NAME_HWND = User32.FindWindowEx(IES_CLASS_NAME_HWND, IntPtr.Zero, MMFPAX_CLASS_NAME, null);
while (!IntPtr.Zero.Equals(MMFPAX_CLASS_NAME_HWND))
{
StringBuilder className = new StringBuilder(100);
StringBuilder windowsName = new StringBuilder(100);
User32.GetClassName(MMFPAX_CLASS_NAME_HWND, className, className.Capacity);
User32.GetWindowText(MMFPAX_CLASS_NAME_HWND, windowsName, windowsName.Capacity);
RECT winRect = new RECT();
User32.GetWindowRect(MMFPAX_CLASS_NAME_HWND, ref winRect);
RECT cltRect = new RECT();
User32.GetClientRect(MMFPAX_CLASS_NAME_HWND, out cltRect);
INSTANCE.log("Handle:" + MMFPAX_CLASS_NAME_HWND + "|windowsname:" + windowsName + "|classname:" + className + "|width:" + (winRect.right - winRect.left) + "/" + (cltRect.right - cltRect.left) + "|height:" + (winRect.bottom - winRect.top) + "/" + (cltRect.bottom - cltRect.top));
if (winRect.right - winRect.left > 400)
{
break;
}
MMFPAX_CLASS_NAME_HWND = User32.FindWindowEx(IES_CLASS_NAME_HWND, MMFPAX_CLASS_NAME_HWND, MMFPAX_CLASS_NAME, null);
}
}
User32.PostMessage(MMFPAX_CLASS_NAME_HWND, (uint)MouseMessages.WM_RBUTTONDOWN, IntPtr.Zero, (IntPtr)((0 << 16) | (0 & 0xffff)));
User32.PostMessage(MMFPAX_CLASS_NAME_HWND, (uint)MouseMessages.WM_RBUTTONUP, IntPtr.Zero, (IntPtr)((0 << 16) | (0 & 0xffff)));
}