Back to "Перетворювати HTML- документи на зображення... код"

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

Imported mostlylucidcouk

Перетворювати HTML- документи на зображення... код

Wednesday, 30 June 2004

Ну, після трохиї гри я маю щось, що працює зараз, я не програміст Win32, але це, здається, працює:

використання системи;

за допомогою System. Drawing;

за допомогою System. Drawing.Imming;

використання System.Collections;

за допомогою System.ComponentModel;

за допомогою System.Windows.Forms;

за допомогою System.Data;

за допомогою mshtml;

використання System.Runtime. InteropServices;

за допомогою Microsoft. Win32;

FalletpaceMaker

{

/// <резюме>

Опис // Резюме для Form1.

/// </ summary>

Public class Form1: System.Windows.Forms.Form

{

приватний AxSHDocVw.AxWebBrowser alxWebBrowser1;

/// <резюме>

Змінна " // " потрібного дизайнера ."

/// </ summary>

private System. ComponentModel. Container компоненти = null ;

privaal const string urlStr = "http: // news. bbc.co.uk /" ;

публічна форма1})

{

//

// Потрібна для підтримки Windows Designer формName

//

ІніціалізуватиComponent});

об' єкт o = нуль;

this. Visible= false;

axWebBrowser1. Navigate} $UR, return o, refirl o, return o, return o);

}

const int WM_ PATINT = 0x000F;

const int WM_ PRINTCLIENT = 0x0318;

const int WM_ERASEBKGND = 0x0014;

const int WM_ PRINT = 0x0317;

const int PRF_CHILDREN = 0x00000010;

const int PRF_ CLIENT = 0x0000004;

публічна порожнеча floatWindow)

{

IntPtr hWnd = це. Handle;

IntPtr hBmp;

Bitmap MyBitmap=nol;

IntPtr hDCMem = GDI32.CreateComatibleDC}Інструментальний) null);

IntPtr hDC = User32. GetWindowDChWnd);

hBmp = GDI32.CreateComatibleBitmapDC,}IntPtr)axWebBrowser1.Width,, intPtr)axWebBrowser1. Height);

User32. ReleaseDC} hWnd, hDC);

IntPtr h Old = GDI32. SelectObect} hDCMem, hBmp);

User32. SendMessage} hWnd, WM_PRINT, hDCMem, новий IntPtr}PRF_CLIENT ♪_ CHILDREN);

GDI32. SelectObect} hDCMEm, hEld);

GDI32. DeleteObect}hDCMEm);

MyBitmap = Bitmap. fromHbitmap}hBmp);

MyBitmap.Save( "test.png" ,ImageFormat.Png);

це. Підсумок);

}

/// <резюме>

/// Очищення всіх використаних ресурсів.

/// </ summary>

захищене перевизначення void Dispose} bool викидання)

{

if (вимикання)

{

if (компаненти! = null)

{

components. Dispose);

}

}

. disspote} dispose );

}

region Windows Formainment створений код

/// <резюме>

// Потрібний спосіб підтримки Designer - не змінювати

/// Вміст цього методу у редакторі коду.

/// </ summary>

конфіденційний void ІніціалізуватиComponent})

{

System. Resources.Resource Resources Manager = new System.Resources.ResourceManager} type of (Form1));

цей.axWebBrowser1 = новий AxSHDocVw. AxWebBrowser);

(♪System.ComponentModel.ISupportInitialize) ⇩ this.axWebBrowser1). BeginInit}

цей. SuspendLayout);

//

// axWebBrowser1

//

this.axWebBrowser1. Dock = System.Windows. Forms. DockStyle. Fill;

цей.axWebBrowser1.Enabled = true;

this.axWebBrowser1.Location = new System. Drawing.ps0, 0);

цей.axWebBrowser1. OcxState = (} System. Windows. Forms.AxHost.State)}resources.GetObect} "axWebBrowser1. OcxState"));

this.axWebBrowser1.Size = new System. Drawing.Size}1024, 768);

цей.axWebBrowser1. TabIndex = 0;

цей.axWebBrowser1. DocumentComple += new AxSHDocVw.DWebBrowserEvents2_DocumentCompleeEventHandler} Це.axWebBrowser1_ DocumentComplee);

//

/// Форма1

//

цей. AutoScale = false;

this. AutoScaleBaseSize = new System. Drawing.Size} 5, 13);

this. ClientSize = new System. Drawing.Size} 1024, 768);

цей. Controls. Додайте цей .axWebBrowser1;

this. FormbordStyle = System.Windows. Forms. FormbordStyle. None;

цей. Name = "Form1" ;

цей. ПоказатиInTaskbar = false;

цей.Text = "Form1" ;

(♪System.ComponentModel.ISupportInitialize) ⇩ this.axWebBrowser1).EndIint}

цей . ResumeLayout}

}

endregion

/// <резюме>

// Головна точка запису програми.

/// </ summary>

[STAThread]

Статична порожнеча Main})

{

application.Run} нова форма1});

}

private void axWebBrowser1_DocumentComple} Відсилання об' єктів, AxSHDocVw.DWebBrowserEvents2_ConcumentCompleeEvent e)

{

GweepWindow);

}

}

Клас GDI32

{

[DllImport} "GDI32.dell")

публічний статичний extern bool BitBlt}IntPtr hdcDest, IntPtr nXDest, IntPtr nYDest,

IntPtr nWidth, IntPtr n Height, IntPtr hdcSrc,

IntPtr nXSrc, IntPtr nYSrc, IntPtr dwRop);

[DllImport} "GDI32.dell")

публічний статичний додаток extern IntPtr СтворитиComparibleBitmap}IntPtr hdc, IntPtr nWidth,

IntPtr nHight);

[DllImport} "GDI32.dell")

публічний статичний додаток ExtPtr СтворитиCAntPtr hdc);

[DllImport} "GDI32.dell")

публічний статичний extern bool DeleteDC}IntPtr hdc);

[DllImport} "GDI32.dell")

публічний статичний extern bool DeleteObect}IntPtr hObjt);

[DllImport} "GDI32.dell")

публічний статичний extern IntPtr GetDeviceCaps}IntPtr hdc, IntPtr nIndex);

[DllImport} "GDI32.dell")

публічний статичний екстерн IntPtr SelectObect}IntPtr hdc, IntPtr hgdiobj);

}

class User32

{

[DllImport} "User32. dell"]

публічний статичний екстерн IntPtr GetDesktopWindow);

[DllImport} "User32. dell"]

публічний статичний екстерн IntPtr GetWindowDC}IntPtr hWnd);

[DllImport} "User32. dell"]

публічна статична випускна програма IntPtr (IntPtr) hWnd, IntPtr hDC);

[DllImport} "User32. dell"]

публічний статичний extern int SendMessage}IntPtr hWnd, int Missg, IntPtr wPram, IntPtr lPram);

}

}

logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.