.NETにおいては、「http://」URLをプロセスとして実行すると、
Webに通常関連付けられているブラウザが起動しますが、
対象のWebページが「Webアプリ的なも」や「社内のhtmlページ的なもの」など定型・定型アプリであるとわかっているならば、
フル機能を持つWebブラウザではなく、Webコンポーネントを利用するのもアリでしょう。
以下のものを「miniweb.mac」として保存してみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | #PY = loaddll( hidemarudir + @"\hmPy.dll" ); $url = "http://www.google.com/" ; #_ = dllfuncw(#PY, "DoString", R"IPY( import clr clr.AddReference( "System.Windows.Forms" ) clr.AddReference( "System.Web" ) clr.AddReference( "System.Drawing" ) import System import System.IO import System.Windows.Forms from System.Windows.Forms import * from System.Web import HttpUtility from System.Drawing import * from System import * url = hm.Macro.Var[ "$url" ] import clr clr.AddReference( 'System.Windows.Forms' ) from System.Windows.Forms import ( Form, DockStyle, WebBrowser, TextBox, Keys ) class MyWebForm(Form): def __init__( self ): self .Text = 'ミニブラウザ' self .Width = 800 self .Height = 600 self .wb = WebBrowser() self .wb.Navigate(url) self .tb = TextBox() self .tb.Text = url # Layout self .tb.Dock = DockStyle.Top self .wb.Dock = DockStyle.Fill self .tb.KeyPress + = self .OnKeyPress self .wb.Navigated + = self .OnNavigated self .Controls.Add( self .wb) self .Controls.Add( self .tb) # Event handling def OnKeyPress( self , sender, event): if event.KeyChar = = '\r' : self .wb.Navigate( self .tb.Text.strip()) def OnNavigated( self , sender, event): self .tb.Text = event.Url.ToString() f = MyWebForm() f.ShowDialog() )IPY" ); freedll( #PY ); |