1. 程式人生 > >WPF中直接開啟網頁方法總結

WPF中直接開啟網頁方法總結

程式碼[DllImport("USER32.DLL")]

        public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

 

        //Sets a window to be a child window of another window

        [DllImport("USER32.DLL")]

        public static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);

 

        //Sets window attributes

        [DllImport("USER32.DLL")]

        public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);

 

        //Gets window attributes

        [DllImport("USER32.DLL")]

        public static extern int GetWindowLong(IntPtr hWnd, int nIndex);

 

        [DllImport("user32.dll", SetLastError = true)]

        internal static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);

 

        [DllImport("user32.dll")]

        private static extern bool ShowWindow(IntPtr hWnd, WindowShowStyle nCmdShow);

 

        [DllImport("user32.dll")]

 

        private static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);

 

        /// <summary>Enumeration of the different ways of showing a window using

        /// ShowWindow</summary>

        private enum WindowShowStyle : uint

        {

            /// <summary>Hides the window and activates another window.</summary>

            /// <remarks>See SW_HIDE</remarks>

            Hide = 0,

            /// <summary>Activates and displays a window. If the window is minimized

            /// or maximized, the system restores it to its original size and

            /// position. An application should specify this flag when displaying

            /// the window for the first time.</summary>

            /// <remarks>See SW_SHOWNORMAL</remarks>

            ShowNormal = 1,

            /// <summary>Activates the window and displays it as a minimized window.</summary>

            /// <remarks>See SW_SHOWMINIMIZED</remarks>

            ShowMinimized = 2,

            /// <summary>Activates the window and displays it as a maximized window.</summary>

            /// <remarks>See SW_SHOWMAXIMIZED</remarks>

            ShowMaximized = 3,

            /// <summary>Maximizes the specified window.</summary>

            /// <remarks>See SW_MAXIMIZE</remarks>

            Maximize = 3,

            /// <summary>Displays a window in its most recent size and position.

            /// This value is similar to "ShowNormal", except the window is not

            /// actived.</summary>

            /// <remarks>See SW_SHOWNOACTIVATE</remarks>

            ShowNormalNoActivate = 4,

            /// <summary>Activates the window and displays it in its current size

            /// and position.</summary>

            /// <remarks>See SW_SHOW</remarks>

            Show = 5,

            /// <summary>Minimizes the specified window and activates the next

            /// top-level window in the Z order.</summary>

            /// <remarks>See SW_MINIMIZE</remarks>

            Minimize = 6,

            /// <summary>Displays the window as a minimized window. This value is

            /// similar to "ShowMinimized", except the window is not activated.</summary>

            /// <remarks>See SW_SHOWMINNOACTIVE</remarks>

            ShowMinNoActivate = 7,

            /// <summary>Displays the window in its current size and position. This

            /// value is similar to "Show", except the window is not activated.</summary>

            /// <remarks>See SW_SHOWNA</remarks>

            ShowNoActivate = 8,

            /// <summary>Activates and displays the window. If the window is

            /// minimized or maximized, the system restores it to its original size

            /// and position. An application should specify this flag when restoring

            /// a minimized window.</summary>

            /// <remarks>See SW_RESTORE</remarks>

            Restore = 9,

            /// <summary>Sets the show state based on the SW_ value specified in the

            /// STARTUPINFO structure passed to the CreateProcess function by the

            /// program that started the application.</summary>

            /// <remarks>See SW_SHOWDEFAULT</remarks>

            ShowDefault = 10,

            /// <summary>Windows 2000/XP: Minimizes a window, even if the thread

            /// that owns the window is hung. This flag should only be used when

            /// minimizing windows from a different thread.</summary>

            /// <remarks>See SW_FORCEMINIMIZE</remarks>

            ForceMinimized = 11

        }

 

        public const UInt32 WS_POPUP = 0x80000000;

        //assorted constants needed

        public static int GWL_STYLE = -16;

        public static int WS_CHILD = 0x40000000; //child window

        public static int WS_BORDER = 0x00800000; //window with border

        public static int WS_DLGFRAME = 0x00400000; //window with double border but no title

        public static int WS_CAPTION = WS_BORDER | WS_DLGFRAME; //window with a title bar

 

        public const UInt32 WS_THICKFRAME = 0x40000;

 

 

        public const UInt32 WS_SIZEBOX = WS_THICKFRAME;

 

        [StructLayout(LayoutKind.Sequential)]

        public struct RECT

        {

            public int Left;

            public int Top;

            public int Right;

            public int Bottom;

        }

 

        [DllImport("user32.dll")]

        static extern bool GetClientRect(IntPtr hWnd, out RECT lpRect);

備註:

2)在尋找的過程中,找了一下開源的專案,看有沒有現成的wpf瀏覽器,結果沒有找到。涉及的專案有Chromium WebBrowser WPFWebBrowserExwebbrowserc++adhoc

3)在尋找的過程中,看到有人用WebApp.hta來實現網頁的解析和載入,不過還是存在不相容IE8.0的問題;

相關推薦

WPF直接開啟網頁方法總結

程式碼[DllImport("USER32.DLL")] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); //Sets a window to be a

[轉]在WPF開啟網頁方法總結

第三種方法:基本思路是使用Process.Start(“iexplore.exe”, ” www.msn.com.cn”)開啟一個IE的視窗,然後再使用SetParent將該新視窗併入WPF的主視窗中。程式碼如下(其他函式宣告見附錄): 程式碼     v

linux軟件安裝方法總結

linuxlinux中軟件安裝方法:1 rpm -ivh 包名.rpm 有依賴問題,安裝A,A需要先安裝B,B先安裝C等。2 yum安裝,yum包管理器,yum安裝解決rpm安裝的依賴問題,安裝更簡單化。 優點:簡單,易用,高效 缺點:不能定制 centos切換在線yum源地址為ali

js數組常用方法總結

dds 設置 布爾 nsh border 方式 cal AR 操作數 前言 從事前端到現在也有快兩年了,平時也會收集整理一些筆記放在印象筆記,不過收集過之後就在沒有看過,經大佬指點,真正掌握一個知識點,最好的方式就是用自己的話把內容講明白,就開始將以前零散的東西整合一下,和

如何制作一個自適應手機、電腦、ipad的網頁方法總結大全

常見 ive sid 目前 區塊 right UNC 增加 自動 今天春哥技術博客和大家一起分享下當下如何制作一個自適應手機、電腦、ipad的網頁方法,手機上網的用戶已經越來越多,已經趕超PC端。隨著2G、3G、4G、免費WIFI和無線基站的不斷普及,越來越多的人開始使用手

bash shell 時間操作常用方法總結

hour day 當前時間 簡單的 之前 nbsp seconds 獲取 相互   在日常的工作中,bash shell 的時間操作非常頻繁。比如shell腳本定時發送數據統計的時候,會查看當前是否為預定的發送時間。或者使用文件保存一些數據時,一般會生成時間字符串當做文

js的跨域方法總結

什麼是跨域? 瀏覽器的安全策略,只要協議,域名,埠有任何一個不同,就被當做不同的域。 下面對http://www.qichedaquan.com的同源檢測 http://www.qichedaquan.com/a.html  // 同源 http://www.qichedaquan.com/b.html  /

javaweb中文亂碼解決方法總結之response和request解決方法

一中文論碼問題出現的由來         之所以會產生亂碼問題,不僅僅是中文亂碼,其原因就在於:編碼和解碼採用了不同的碼錶。而之所以會有編碼和解碼這一回事,也是因為,無論資料是在傳輸還是儲存等等過程中

JSPout物件的方法總結

out物件被封裝為javax.servlet.jsp.jspWriter介面,通過呼叫pageContext.getOut()方法可以獲取out物件。1.public abstract void clear()清除緩衝區中的內容,不將資料傳送至客戶端。2.public ab

從三個角度分析:小程式可以直接開啟網頁的意義在哪?

昨日深夜,微信團隊推出兩條重磅新聞:小程式內可直接開啟網頁;小程式可關聯500個公眾號。 面對這兩條驚天動地的大新聞,朋友圈的一群大佬兒和開發者一下子就興奮了起來,筆者也是剛說完“小程式不能跳轉H5”馬上就得打著臉更新自己的知識了。微信不斷地完善小程式的入口和出口

c#的常用ToString()方法總結

對於int,double等的tostring: C     貨幣     2.5.ToString("C")     ¥2.50    

Sublime 快速開啟網頁

                我們需要利用package control的install package去下載外掛

前端jsp處理特殊字元方法總結

          前段時間修改一個前端jsp頁面的,測試組發現一個問題可讓我糾結很久了,現在終於解決了來總結一下,下次就方便了。 問題: jsp頁面輸入框中輸入了類似 <script>alert("測試指令碼")</script> 這樣的惡意指令碼,在頁面載入的時候會彈出 ale

MVC部分檢視呼叫方法總結

<body> 這種方式 不走  controller     @Html.Partial("../Shared/Error");  這種方式    走 controller  @Html.Action("Dismode","Shared")  <

java 傳陣列到Oraclein arr的方法總結

方法一:把陣列轉為字串,然後把[ ]替換為(),在拼起來 public static void query(Connection conn,String[] arr ){ PreparedS

個人在Unity3D開發常用的小方法總結

---------------------------------------- 銷燬物體 ---------------------------------------- Tips:這裡需要實際研究OnTriggerEnter和OnCollisionEnter的區別和用法,

node+ejs【封裝ejs模板直接呼叫js方法

封裝全域性函式 var myFunction = {}; /* * 字串擷取 * @str 擷取字串 * @start 開始擷取位置 * @end 結束擷取位置 */ myFu

Android引用資源的方法總結

一[email protected]代表引用資源 1.引用自定義資源。格式:@[package:]type/name Android:text="@string/hello" 2.引用系統資源。格式:@android:type/name     android:textColor="@andro

WPF資源的引用方法

這裡主要是以圖片的引用為例。 一、引用同一個程式中的資源 1、使用相對Uri來引用資源,如下所示 img.Source=new BitmapImage(new Uri(@"d"\iamges\Background\1.jpg")); 使用相對uri: img.Source=new BitmapImage(n

專案遇到的模板方法總結。tmpl

原始方法。 編寫html的模板。其中<%%>表示識別符號,後續可以處理js的事情,data為後續函式繫結的資料值。  billQueryProto.detailTemplate = function () {         //8 表示日期,預設解析兩個,開始