如何用C#或C++实现Console的截屏

来源:百度知道 编辑:UC知道 时间:2024/05/28 17:01:22
问一下,我想做一个Console的截屏程序,用C#或者C++都可以,在用户按下键盘上的"Print Screen"键(或者其他键)时,它就将截的图保存到一个文件夹中.
请问各位大虾该怎么弄?
首先,您可以不用"PrintScreen"键,我这么做的目的是在玩游戏的时侯不用老跳出来保存图片,而且这样也可以有一个占用内存比较小的程序.

另外,ioucxj,您的回答的几处恕我愚昧有些不懂,如果您已写好了这个Project,能否发至lewenzhao@live.cn
如果您是在网上找到的,能否写下出处?

我晕,你用其他键不行,你偏偏用Print Screen
一按下Print Screen
图片就到剪贴板了,不肯能你就把剪贴板的图片存入文件夹吧

[System.Runtime.InteropServices.DllImport("user32.dll")] //申明API函数
public static extern bool RegisterHotKey(
IntPtr hWnd, // handle to window
int id, // hot key identifier
uint fsModifiers, // key-modifier options
Keys vk // virtual-key code
);

[System.Runtime.InteropServices.DllImport("user32.dll")] //申明API函数
public static extern bool UnregisterHotKey(
IntPtr hWnd, // handle to window
int id // hot key identifier
);
在初始化里调用
RegisterHotKey(this.Handle, 100, 0, Keys.PrintScreen );()

在程序关闭的时候别忘了调用UnregisterHotKey函数,解除热键 UnregisterHotKey(this.Handle, 100);

这里监听你的热键消息
protected override void WndProc(ref Message m)//监视Windows消息
{
const int WM_HOTKEY = 0x0312; /