今天无聊翻代码,翻出来一个以前写的C#截屏的函数...拿出来和大家共享一下. 这段代码是参照网上一段截屏的C++代码改写的.只不过把API都声明了一下而已. 声明的各API也附后.以供参照.如有问题欢迎指出.(Appledotnet@hotmail.com)
///
所用到的API声明:
[DllImport("gdi32.dll")] public static extern IntPtr CreateDC( string lpszDriver, // driver name string lpszDevice, // device name string lpszOutput, // not used; should be NULL Int64 lpInitData // optional printer data ); [DllImport("gdi32.dll")] public static extern IntPtr CreateCompatibleDC( IntPtr hdc // handle to DC ); [DllImport("gdi32.dll")] public static extern int GetDeviceCaps( IntPtr hdc, // handle to DC GetDeviceCapsIndex nIndex // index of capability );
[DllImport("gdi32.dll")] public static extern IntPtr CreateCompatibleBitmap( IntPtr hdc, // handle to DC int nWidth, // width of bitmap, in pixels int nHeight // height of bitmap, in pixels );
[DllImport("gdi32.dll")] public static extern IntPtr SelectObject( IntPtr hdc, // handle to DC IntPtr hgdiobj // handle to object );
[DllImport("gdi32.dll")] public static extern int BitBlt( IntPtr hdcDest, // handle to destination DC int nXDest, // x-coord of destination upper-left corner int nYDest, // y-coord of destination upper-left corner int nWidth, // width of destination rectangle int nHeight, // height of destination rectangle IntPtr hdcSrc, // handle to source DC int nXSrc, // x-coordinate of source upper-left corner int nYSrc, // y-coordinate of source upper-left corner UInt32 dwRop // raster operation code );
[DllImport("gdi32.dll")] public static extern int DeleteDC( IntPtr hdc // handle to DC );