运行程序,点击command1或者Command2就可以捕捉成个屏幕或者窗口到Picture1中,然后点击Command4或者Command5就可以保存或打印图象。
上面的程序中最重要的是CaptureWindow函数以及CreateBitmapPicture函数,CaptureWindow函数建立与要捕捉的窗口的绘图设备(Device Context)句柄相兼容的绘图设备(Device Context)句柄,然后建立相应的调色板,最后将绘图设备(Device Context)中的图象拷贝到一个hBitmap对象句柄中。CreateBitmapPicture函数则根据传递过来的hBitmap对象句柄和调色板句柄建立一个Picture对象。在将这个对象赋予PictureBox的Picture属性,然后就可以使用SavePicture函数来保存图象了。
OleCreatePictureIndirect函数支持的不仅有BMP图象,同时也支持Ico图标,所以利用该函数和ExtractIcon函数也可以提取并保存Windows文件中的图标