كيفية الحصول على IE8/9 Active Tab Html Source by C#
-
27-09-2019 - |
سؤال
أحاول إنشاء برنامج في C# في Visual Studio والذي سيحصل على مصدر HTML لعلامة تبويب (أو كلها) التي تم فتحها (أو كلها) في Internet Explorer 8/ (المتوقع) 9. لقد سئمت من النسخ بواسطة المتصفح -> عرض المصدر ، alt+a ، alt+c ، البرنامج -> alt+v هل حصل أي شخص على فكرة عن كيفية حلها؟
المحلول
حسنًا ، ليس هناك حل سهل لهذا أعتقد أنه ربما يجب عليك متابعة النسخ واللصق. على أي حال ، هذا ما وجدته في تصفح الويب: (http://www.experts-exchange.com/microsoft/development/q_2376759.html)
{ // used spy++ to get the names of these guys
// get the handle to the IE toolbar
childHandle = FindWindowEx(IEwindowHandle, IntPtr.Zero, "WorkerW", IntPtr.Zero);
if (childHandle != IntPtr.Zero)
{
//get the handle to the address bar on IE
childHandle = FindWindowEx(childHandle, IntPtr.Zero, "ReBarWindow32", IntPtr.Zero);
if (childHandle != IntPtr.Zero)
{
// get a handle to comboBoxEx32
childHandle = FindWindowEx(childHandle, IntPtr.Zero, "ComboBoxEx32", IntPtr.Zero);
if (childHandle != IntPtr.Zero)
{
// get a handle to combo box
childHandle = FindWindowEx(childHandle, IntPtr.Zero, "ComboBox", IntPtr.Zero);
if (childHandle != IntPtr.Zero)
{
//get handle to edit
childHandle = FindWindowEx(childHandle, IntPtr.Zero, "Edit", IntPtr.Zero);
if (childHandle != IntPtr.Zero)
{
// now to get the URL we need to get the Text - but first get the length of the URL
int length = SendMessage(childHandle, WM_GETTEXTLENGTH, 0, 0);
length += 1; // because the length returned above included 0
StringBuilder text = new StringBuilder(length); // need stringbuilder - not string
int hr = SendMessage(childHandle, WM_GETTEXT, length, text); // get the URL
strURL = text.ToString();
}
}
}
}
الآن بعد أن قمت بالوصول إلى عنوان URL ، أرسل طلب HTTP الحصول على الحصول على مصدر الموقع في نص عادي.
لا تنتمي إلى StackOverflow