This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
Wednesday, 30 June 2004
Efter lite spel har jag något som funkar nu, jag är ingen Win32 kodare men det här verkar fungera:
Användning av systemet.
Användning av system.Drivning.
Användning av System.Drawing.Imaging.
Användning av System.Samlingar.
Använda System.KomponentModel.
Använda System.Windows.Forms.
Användning av System.Data.
Använda mshtml.
Använda System.Runtime.InteropServices.
Använda Microsoft.Win32.
namnrymdstomografi
{
/// <Sammanfattning>
// // Sammanfattning av formulär 1.
/// </sammanfattning>
offentlig klass Form1 : System.Windows.Forms.Forms.
{
Privat AxSHDocVw.AxWebBrowser axWebBrowser1.
/// <Sammanfattning>
// Obligatorisk konstruktionsvariabel.
/// </sammanfattning>
Privat System.KomponentModel.Innehållskomponenter = null ;
Privat sträng urlStr = "http://news.bbc.co.uk/".
offentligt formulär1()
{
//
// Krävs för stöd för Windows Formgivare
//
Initialisera Komponent();
Föremål o = noll.
Detta . Synlig = falsk ;
axWebBrowser1.Navigate(urlStr, ref o, ref o, ref o, ref o, ref o).
}
Int int WM för const int_PAINT = 0x000F,
Int int WM för const int_PRINTCLIENT = 0x0318;
Int int WM för const int_ERASEBKGND = 0x0014;
Int int WM för const int_PRINT = 0x0317;
const int PRF_CHILDREN = 0x000000010,
const int PRF_KLIENT = 0x000000004;
offentligt tomrum GrabWindow ()
{
IntPtr hWnd = detta. Handle;
"Teknik" enligt den allmänna anmärkningen rörande teknik för "utveckling", "produktion" eller "produktion" av utrustning som specificeras i avsnitt 9A004.a.
Bitmap MyBitmap= null ;
IntPtr hDCMem = GDI32.SkapaKompatibelDC((IntePtr) null );
IntPtr hDC = Användare32.GetWindowDC(hWnd);
hBmp = GDI32.SkapaKompatibelBitmap(hDC,(IntPtr)axWebBrowser1.Bredd,(IntPtr)axWebBrowser1.Höjd);
Användare32.ReleaseDC(hWnd, hDC).
IntPtr hOld = GDI32.SelectObject(hDCMem, hBmp);
Användare32.SendMessage( hWnd, WM_PRINT, hDCMem, nytt IntPtr(PRF)_CLIENT på PRF- Vad är det som händer?
GDI32.SelectObject(hDCMem, hOld);
GDI32.Avlägsna Objekt(hDCMem);
MyBitmap = Bitmap.FromHbitmap(hBmp);
MyBitmap.Save( "test.png" ,ImageFormat.Png);
Denna .Close().
}
/// <Sammanfattning>
/ / / Rensa upp alla resurser som används.
/// </sammanfattning>
skyddat övertryck tom Kassera ( bool kassera )
{
om (avyttring)
{
Om (komponenter != null )
{
Komponenter.Försvara().
}
}
bas .Diskutera ( kassera );
}
#region Windows Form Designer genererad kod
/// <Sammanfattning>
// / Obligatorisk metod för Designer Support - ändra inte
// // innehållet i denna metod med kodeditorn.
/// </sammanfattning>
privat tomrum InitializeKomponent()
{
System.Resources.ResourceManager resurser = nytt System.Resources.ResourceManager( typ av (Form1));
Denna .axWebBrowser1 = ny AxSHDocVw.AxWebBrowser();
((System.KomponentModell.ISupportInitialize)( denna .axWebBrowser1)).BeginInit();
Detta .SuspendLayout();
//
// axWebBrowser1
//
Detta .axWebBrowser1.Dock = System.Windows.Forms.DockStyle.Fill;
Detta .axWebBrowser1.Enabled = sant ;
Detta .axWebBrowser1.Plats = nytt system.Drawing.Point(0, 0);
Detta .axWebBrowser1.OcxState = ((System.Windows.Forms.AxHost.State)(resurser.GetObject("axWebBrowser1.OcxState" ));
Denna .axWebBrowser1.Storlek = nytt system.Ritning.Storlek(1024, 768);
Detta .axWebBrowser1.TabIndex = 0;
detta .axWebBrowser1.DokumentComplete += nya AxSHDocVw.DWebBrowserEvenemang2_DocumentCompleteEventHandler( detta .axWebBrowser1_DokumentAvsluta);
//
// Formulär 1
//
Detta .AutoScale = falskt ;
Denna .AutoScaleBaseStorlek = nytt system.Drivning.Storlek(5, 13);
Detta .ClientSize = nytt system.Drivning.Storlek(1024, 768);
Detta .Kontroller.Lägg till ( denna .axWebBrowser1);
FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
Detta .Namn = "Form1".
VisaInTaskbar = falskt ;
Denna .Text = "Form1".
((System.KomponentModell.ISupportInitialize)( denna .axWebBrowser1)).EndInit();
Återuppta Layout( false );
}
#slutregion
/// <Sammanfattning>
/// Den huvudsakliga införselpunkten för ansökan.
/// </sammanfattning>
["Stathread" (Stathread)
statiskt tomrum Main()
{
Ansökan.Kör( nytt formulär1()).
}
privat tomrum axWebBrowser1_DocumentComplete( objektavsändare, AxSHDocVw.DWebBrowserEvents2_DokumentAvslutaEvent e)
{
GrabWindow ();
}
}
Klass GDI32
{
[DllImport( "GDI32.dll" )]
offentligt statiskt externt bool BitBlt(IntPtr hdcDest,IntPtr nXDest,IntPtr nYDest,
IntPtr nWidth,IntPtr nHöjd,IntPtr hdcSrc,
"Teknik" enligt den allmänna anmärkningen rörande teknik för "utveckling", "produktion", "produktion" eller "produktion" av utrustning som specificeras i avsnitt 9A004.a.
[DllImport( "GDI32.dll" )]
offentlig statisk extern IntPtr CreateCompatibelBitmap(IntPtr hdc,IntPtr nWidth,
"Teknik" enligt den allmänna anmärkningen rörande teknik för "utveckling", "produktion", "produktion" eller "produktion" av utrustning som specificeras i avsnitt 9A004.a.
[DllImport( "GDI32.dll" )]
offentligt statiskt externt IntPtr CreateCompatibelDC(IntePtr hdc),
[DllImport( "GDI32.dll" )]
offentligt statiskt externt bool Ta bortDC (IntPtr hdc),
[DllImport( "GDI32.dll" )]
offentligt statiskt externt bool Ta bortObjekt(IntPtr hObjekt);
[DllImport( "GDI32.dll" )]
offentligt statiskt externt IntPtr GetDeviceCaps(IntPtr hdc,IntPtr nIndex),
[DllImport( "GDI32.dll" )]
offentligt statiskt extern IntPtr SelectObjekt(IntPtr hdc,IntPtr hgdiobj);
}
klassanvändare32
{
[DllImport( "User32.dll" )]
offentligt statiskt extern IntPtr GetDesktopWindow ();
[DllImport( "User32.dll" )]
offentligt statiskt externt IntPtr GetWindowDC (IntPtr hWnd),
[DllImport( "User32.dll" )]
offentlig statisk extern version av IntePtr ReleaseDC (IntePtr hWnd,IntPtr hDC),
[DllImport( "User32.dll" )]
offentligt statiskt externt int SendMessage (IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam),
}
}
© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.