C#写的 windows服务截图问题
我写了一个windows服务,需要运行的时候不定时的截取桌面,但是调用api截图后,图片却是黑的,甚么都没有,请教各位大神们,怎么解决问题啊附上代码
//创建显示器的DC
IntPtr dc1 = CreateDC("DISPLAY", null, null, (IntPtr)null);
//由一个指定设备的句柄创建一个新的Graphics对象
Graphics g1 = Graphics.FromHdc(dc1);
//根据屏幕大小创建一个与之相同大小的Bitmap对象
Bitmap ScreenImage = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, g1);
Graphics g2 = Graphics.FromImage(ScreenImage);
//获得屏幕的句柄
IntPtr dc3 = g1.GetHdc();
//获得位图的句柄
IntPtr dc2 = g2.GetHdc();
//把当前屏幕捕获到位图对象中
BitBlt(dc2, 0, 0, Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, dc3, 0, 0, 13369376);
//释放屏幕句柄
g1.ReleaseHdc(dc3);
//释放位图句柄
g2.ReleaseHdc(dc2);
//压缩图片
Image bmp = MakeThumbnail(ScreenImage, ScreenImage.Width * 3 / 4, ScreenImage.Height * 3 / 4);
//ScreenImage.SetResolution(800,600);
return bmp;
我将截到的图片save到磁盘,全是黑色的,截图没有成功,请问大家怎么解决
(此代码在winform程序上运行没问题)
[img=http://hiphotos.baidu.com/zhidao/pic/item/242dd42ad16a571e033bf680.jpg?t=1329352972845&t=1329353004528][/img] --------------------编程问答-------------------- 看不到图,帮顶. --------------------编程问答-------------------- 手动法:
运行services.msc -> 选择服务 -> 登录 选项卡 -> 允许服务与桌面交互
注册表法:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服务名 -> Type |= 0x100
编程法:
根据编译器提供的服务组件,应该有选项可选
例如以前我用BCB时,服务组件有一名为 Interacitve 的属性可进行设置 --------------------编程问答-------------------- 谢谢foreachif xp能解决问题了,但是win7仍然不行啊 --------------------编程问答-------------------- 这个解决起来就麻烦了
http://tech.sina.com.cn/s/2009-09-24/07561078945.shtml
http://www.cnblogs.com/gnielee/archive/2010/04/08/session0-isolation-part2.html
->这篇要看看评论 --------------------编程问答-------------------- 圖片顯示不出來 幫頂
补充:.NET技术 , C#