DCSIMG
Internet Explorer AddIn using SHDocVw and mshtml - שלמה גולדברג (הרב דוטנט)

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

Internet Explorer AddIn using SHDocVw and mshtml

 

כיצד אפשר לייצר AddIn שמוסיף קטעי html לכל הדפדפנים (IE) הפתוחים

 
(תודה לתומר קיסר על העזרה)
 
ראשית נוסיף את Microsoft.mshtml (זהו dll המאפשר שליטה על תוכן html - דוגמה לשימוש תוכלו לראות בפוסט Working with Microsoft.mshtml in c#)
 
לאחר מכן נוסיף את SHDocVw זה אמור להיות ב - C:\Windows\System32 (זהו dll המאפשר גישה לכל הדפדפנים הפתוחים)
 
 
כעת נרצה לקבל את כל החלונות הפתוחים, נריץ את הקוד הבא:
 

private static List<IWebBrowser2> GetIEWindows()

{

    List<IWebBrowser2> list = new List<IWebBrowser2>();

 

    ShellWindows windows = new ShellWindows();

 

    foreach (IWebBrowser2 item in windows)

    {

        if (item.Document is HTMLDocument)

        {

            list.Add(item);

        }

    }

 

    return list;

}

 
IWebBrowser2 מגיע מ - SHDocVw והוא מכיל את כל המידע על החלון הפתוח.
 
ShellWindows הוא האובייקט המכיל את כל החלונות.
 
ונבדוק האם האובייקט הוא מסוג HTMLDocument (שמגיע מ - mshtml) כי זה יכול להיות גם תיקיות פתוחות (explorer - לא הדפדפן אלא תיקייה במערכת ההפעלה)
 
 
 
כעת נרצה להוסיף בתחתית כל הדפדפנים הפתוחים את השם שלי, נריץ את הקוד הבא:
 

static void Main(string[] args)

{

    List<IWebBrowser2> ie = GetIEWindows();

    foreach (var item in ie)

    {

        string html = "<hr/><b>Shlomo Goldberg</b><hr/>";

        ((HTMLDocument)item.Document).body.insertAdjacentHTML("beforeEnd", html);

    }

}

 
כמובן שאפשר לשנות כל דבר ב - html, כרגע בחרתי להשתמש בפונקציה insertAbjacentHTML להוסיף בתחתית העמוד את ה - html,
 
וכך נראים הדפדפנים שלי אחרי ההרצה של הקוד.
 
 
SHDocVW mshtml
 
 
 
זה הבסיס וההתחלה ליצירת AddIn, מכאן אפשר לקחת את זה קדימה להרבה כיונים, לדוגמא:
ניתן לכתוב Window Service שירוץ ברקע ויעדכן כל הזמן את החלונות החדשים שתפתחו,
או שאפשר לכתוב לחצן ולהוסיף אותו ל - tool bar ובלחיצה עליו להפעיל קוד שיעשה משהו (כמו להסתיר את כל אובייקטי ה - flash באתר).

תוכן התגובה

Sasha Goldshtein כתב/ה:

נראה לי שמתבקשת השאלה - מה הצורך המעשי שבשבילו צריך את הדבר הזה?

# March 30, 2011 1:37 PM

Shlomo כתב/ה:

כמו שכתבתי בסוף הפוסט, היכולת שלנו לכתוב addin ל - IE בקלות בצורה של הזרקת HTML לכל הדפדפנים הפתוחים.

# March 30, 2011 1:56 PM

שלמה גולדברג (הרב דוטנט) כתב/ה:

כיצד לצפות ב - megavideo ולהוסיף כתוביות ל - IE. בפוסט הקודם כתבתי כיצד אפשר להוסיף addin ל - IE בעזרת

# April 3, 2011 11:31 AM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 7 and 1 and type the answer here:


Enter the numbers above: