עבודה עם הדפדפן בפיתוח VsPlugIn

12 במרץ 2013

תגיות: , , ,
אין תגובות

כשמפתחים Visual Studio plugin, לפעמים נרצה לפתוח את הדפדפן הפנימי של Visual studio, ולנווט אותו לדף כלשהו.

כדי לבצע זאת, נצטרך לקבל מופע של IVsWebBrowsingService (מתוך Microsoft.VisualStudio.Shell.Interop.dll, v7.1.40304.0), הדרך לקבל אותו היא בצורה דומה כפי שמקבלים הרבה שירותים פנימיים של הסביבה. בעזרת GetService

Code Snippet
IVsWebBrowsingService wbSvc =
    (IVsWebBrowsingService)ServiceProvider.GlobalProvider.GetService(typeof(SVsWebBrowsingService));

 

כעת למשתנה wbSvc, יש מספר פונקציות, המאפשרות לגלוש בצורות שונות, כדאי לעבור עליהם, אנחנו נתמקד בפונקציה היוצרת דפדפן.

Code Snippet
Guid guidNull = Guid.Empty;
uint dwCreateFlags = (uint)__VSCREATEWEBBROWSER.VSCWB_AutoShow | (uint)__VSCREATEWEBBROWSER.VSCWB_StartCustom;

IVsWebBrowser browser;
IVsWindowFrame browserFrame;
wbSvc.CreateWebBrowser(dwCreateFlags, ref guidNull, "", url, null, out browser, out browserFrame);

המשתנה dwCreateFlags מכיל את ההגדרה כיצד לייצר אותו, המשתנה browser מכיל (לאחר הקריאה של CreateWebBrowser) אובייקט שמאפשר להמשיך לנווט (כמובן שנשמור אותו כמשתנה גלובלי).

המשתנה browserFrame מכיל את האובייקט שעוטף את הדפדפן  (איתו נוכל לסגור את החלון כשנרצה).

 

הסיבה שבחרתי בדרך זו לייצר את הגלישה, היא מכיוון שבאחד מהפוסטים הבאים אדגים כיצד ניתן לגלוש ולהרשם מתוך ה – plugin לאירועים המתבצעים בתוך ה – html שאליו גלשנו.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *