【分享】高仿腾讯截图程序

问题描述

以前也分享过不过以前做的那个很粗糙主要就是凸显自动捕捉窗体的功能然后现在这个是重新做的山寨无罪、、、可以根据需要决定是否捕获鼠标上图是使用方法注释部分是提供的截图的属性更多截图效果看博客截图的功能写到了一个dll中FrmCapture就是截图的窗体设置快捷键啥的导入dll即可使用自行完成后续工作我打算过断时间给他加一个快捷键然后开机自启托盘运行至于你们有兴趣的想怎么改造就怎么改造其实截图程序并不常用--!、、可是要用的时候离线状态下没有qq截图就得prtscr键来截图感觉不方便而且平时大多数alt+ctrl+a并不是为了截图而是利用qq截图区框选一下某一个区域的大小比如做页面的时候想确定页面上放多大一块div然后就去那个地方托一块区域出来然后把数据记录下来还用就是利用QQ的截图程序去获取一下当前屏幕上的某一个点的颜色信息(所以我在做的时候为了方便在拖动过程中可以通过键盘wasd来精确移动鼠标位置这样拾取颜色比较方便)有什么bug希望尽量提出来在我测试的时候多次以为没啥问题了可总在收尾的时候出现一些bug不过现在看来应该是没有啥bug了

解决方案

解决方案二:
忘了顺带一个问题关于析构函数执行的问题
解决方案三:
图形图像相关的帖子在C#版总是热不起来的。呵呵。不过顶楼主了。
解决方案四:
有个问题想问你,一开始截图是那个灰色半透明的窗体怎么做的,我用窗口结果childwindowfrompointex就只能找的我的窗口,下面的都被我的窗口盖住了。求解啊
解决方案五:
引用3楼ygy1223的回复:

有个问题想问你,一开始截图是那个灰色半透明的窗体怎么做的,我用窗口结果childwindowfrompointex就只能找的我的窗口,下面的都被我的窗口盖住了。求解啊

你的第一个问题我是获取到屏幕图像在上面画了一层黑色的半透明的矩形至于第二个childwindowfrompointex可以忽悠禁用窗体将自己的窗体禁用就可以忽略过去了
解决方案六:
引用2楼laviewpbt的回复:

图形图像相关的帖子在C#版总是热不起来的。呵呵。不过顶楼主了。

又是你啊谢谢
解决方案七:
怎么禁用,我试了好久都不行
解决方案八:
引用6楼ygy1223的回复:

怎么禁用,我试了好久都不行

--!、、this.Enable=false;IntPtrhWnd=Win32.ChildWindowFromPointEx(Win32.GetDesktopWindow(),pt,Win32.CWP_SKIPINVISIBL|Win32.CWP_SKIPDISABLED);函数功能:该函数确定属于父窗口的哪一个子窗口(如果存在的话)包含着指定的点。该函数可以忽略不可见的、禁止的和透明的子窗口。函数原型:HWNDChidWindowFromaPointEx(HWNDhwndParent,POINTpt,UNITuFlags);参数:hWndParent:父窗口句柄。pt:指定一个POINT结构,该结构定义了被检查的点的坐标。uFlags:指明忽略的子窗口的类型。该参数可以是下列参数的组合。CWP_ALL:不忽略任一子窗口。CWP_SKIPINVISIBLE:忽略不可见的子窗口。CWP_SKIPDISABLE:忽略禁止的子窗口。CWP_SKIPTRABSPARENT:忽略透明子窗口。返回值:返回值为包含该点并且满足由uFlags定义的规则的第一个子窗口的句柄。如果该点在父窗口内,但在任一满足条件的子窗口外,则返回值为父窗口句柄。如果该点在父窗口之外或函数失败,则返回值为NULL。备注:系统有一个与某一父窗口有联系的所有子窗口的内部列表。列表中的句柄顺序依据这些子窗口的Z序。如果有多于一个的子窗口包含该点,那么系统返回在列表中包含该点并且满足由uFlags定义的规则的第一个窗口的句柄。速查:WindowSNT:4.0以上版本;Windows:95以上版本;WindowsCE:不支持;头文件:Winuser.h;库文件:user32.lib。
解决方案九:
见教了,学习学习
解决方案十:
引用6楼ygy1223的回复:

怎么禁用,我试了好久都不行

还是不行,不能透过去。我是用一个窗体,背景设为黑,然后把不透明度调低用来做那个灰色的效果。当时就是childwindowfrompointex透不过去
解决方案十一:
还是不行,不能透过去。我是用一个窗体,背景设为黑,然后把不透明度调低用来做那个灰色的效果。当时就是childwindowfrompointex透不过去
解决方案十二:
你能不能做个可以透过的给我看看。只要childwindowfrompointex可以透过就行。
解决方案十三:

解决方案十四:
引用11楼ygy1223的回复:

你能不能做个可以透过的给我看看。只要childwindowfrompointex可以透过就行。

publicpartialclassForm1:Form{[DllImport("user32.dll")]publicstaticexternIntPtrGetDesktopWindow();[DllImport("user32.dll")]//在桌面找寻子窗体publicstaticexternIntPtrChildWindowFromPointEx(IntPtrpHwnd,Pointpt,uintuFlgs);publicconstintCWP_SKIPDISABLED=0x2;//忽略不可用窗体publicconstintCWP_SKIPINVISIBL=0x1;//忽略隐藏的窗体[DllImport("user32.dll")]//获得句柄对象的位置publicstaticexternboolGetWindowRect(IntPtrhWnd,outLPRECTlpRect);publicstructLPRECT{publicintLeft;publicintTop;publicintRight;publicintBottom;}publicForm1(){InitializeComponent();Timert=newTimer();t.Interval=500;t.Enabled=true;t.Tick+=newEventHandler(t_Tick);this.FormBorderStyle=FormBorderStyle.None;this.Location=newPoint(0,0);this.Size=newSize(Screen.PrimaryScreen.Bounds.Width,Screen.PrimaryScreen.Bounds.Height);this.Load+=(s,e)=>this.BeginInvoke(newMethodInvoker(()=>this.Enabled=false));m_bmpScreen=GetScreen();this.SetStyle(ControlStyles.OptimizedDoubleBuffer,true);}privateRectanglem_rect;privateBitmapm_bmpScreen;voidt_Tick(objectsender,EventArgse){IntPtrhWnd=ChildWindowFromPointEx(GetDesktopWindow(),MousePosition,CWP_SKIPDISABLED|CWP_SKIPINVISIBL);LPRECTlpRect=newLPRECT();GetWindowRect(hWnd,outlpRect);m_rect.X=lpRect.Left;m_rect.Y=lpRect.Top;m_rect.Width=lpRect.Right-lpRect.Left;m_rect.Height=lpRect.Bottom-lpRect.Top;this.Invalidate();}protectedoverridevoidOnPaint(PaintEventArgse){Graphicsg=e.Graphics;g.DrawImage(m_bmpScreen,0,0);g.DrawRectangle(Pens.Cyan,m_rect);base.OnPaint(e);}privateBitmapGetScreen(){Bitmapbmp=newBitmap(this.Width,this.Height);using(Graphicsg=Graphics.FromImage(bmp)){g.CopyFromScreen(0,0,0,0,bmp.Size);}returnbmp;}}

解决方案十五:
这个不错呢这个不错呢
解决方案:
这个必须要留名,比我做的好多了
解决方案:
让我想起winspy
解决方案:
叼啊mark一下学习
解决方案:

解决方案:
马克留名
解决方案:
好好学习!顶起
解决方案:
比我做的强太多了,感谢楼主分享!
解决方案:
看看啊蛮好的哦
解决方案:
哈哈,比自己做的现在用的漂亮多了,工具条也很好。PS:有个bug,选中后再选中区域双击后会有异常
解决方案:

解决方案:
这个必须留下,以后来看
解决方案:
支持一下!!打个酱油
解决方案:
不错不错
解决方案:
好东西,有一定的技术含量!感谢楼主!
解决方案:
谢谢楼主分享~
解决方案:
好东西,有一定的技术含量!感谢楼
解决方案:
见教了,学习学习
解决方案:

解决方案:
确实不错。支持下。
解决方案:

解决方案:
很不错,就是性能上有些问题。
解决方案:

解决方案:
感谢lz分享
解决方案:
支持一个!顶一个!
解决方案:
好东西,学习了!
解决方案:

解决方案:
好像来迟了,又见楼主力作
解决方案:
学习啊
解决方案:
嗯,不错,QQ有些功能还是很有借鉴意义的
解决方案:
该回复于2014-04-10 22:54:42被版主删除
解决方案:

解决方案:

解决方案:
不错不错的值得借鉴
解决方案:
标记下,有需求的参考参考..好东西啊
解决方案:
学习学习学习学习学习学习
解决方案:
引用2楼laviewpbt的回复:

图形图像相关的帖子在C#版总是热不起来的。呵呵。不过顶楼主了。

等你的C#版,就热闹了。

时间: 2024-09-08 11:04:21

【分享】高仿腾讯截图程序的相关文章

CSkin高仿彗星小助手-资源分享[c#源码,带图,带资源]

问题描述 CSkin高仿彗星小助手-2014.8.26更新介绍:本案例教你如何使用CSkin界面库,在winform平台做出<彗星小助手>的界面效果,本案例实现了部分功能,主要是展现界面的属性设置流程和界面库的使用.界面效果:1.主界面.2.换肤菜单.3.百宝箱.4.手册查询.5.窗口SPY.6.网页SPY.7.屏幕取色.8.屏幕截图.9.进程管理.10.正则调试.11.测试案例1-文件传输控件列表.12.测试案例2-更改属性测试.更新时间:2014-8-26更新功能:1.修复SkinPane

C#截图程序类似腾讯QQ截图实现代码_C#教程

最近把以前制作的截图程序重新写了一下动了一个大手术 高质量仿照的TX的截图程序 先看几个效果图 拖动过程中显示当前鼠标下一小块的图像信息 尺寸.颜色信息的  注意 这里颜色是用的ARGB 本来截图的话RGB就够了 可是我把那个做成了控件 不仅截图可用 其他地方也可用作图像的选取 具体看代码就知道了 并且我还加了一个可以截图的同时把鼠标也捕获下来 现在看到的是我自己的截图程序 那个工具条啥的 是从TX的截图程序上面拔下来的 上面是几个工具条上的工具的三种粗细型号的展示 看到的蓝色的粗的刷笔 本来想

Android高仿微信聊天界面代码分享_Android

微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们来看一下整个小项目的主体结构: 下面是Activity的代码: package com.way.demo; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import jav

Android高仿微信聊天界面代码分享

微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们来看一下整个小项目的主体结构: 下面是Activity的代码: package com.way.demo; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import jav

将不定期开放“人人都说Swing丑,唯我独爱它—Swing高仿QQ” 源码

问题描述 从今天开始将会在CSDN上开放Swing高仿QQ的源码.所有信息第一时间在群里公布一起探讨java方面的问题.本群位置有限先来先得所以加群时请注名信息来源地packageclient.login;importjava.awt.EventQueue;importjava.awt.Image;importjava.awt.SplashScreen;importjava.awt.Window;importjava.awt.event.ActionEvent;importjava.awt.ev

C#制作高仿360安全卫士窗体&lt;一&gt;

原文 http://www.cnblogs.com/kovin/p/3172234.html 开始写这一系列博客之前先要向大家说声抱歉,放肆雷特建立很久却很少有更新.当然博客人气也不旺,大部分都是看的人多评论收藏的人少.一直想要改变这种状态,正好赶上了最近工作上做了一个高仿360安全卫士窗体.所以将开发历程分享出来,一来希望能和大家交流共同学习成长:二来希望自己的放肆雷特能有人光顾. 这一系列的文章所用到的技术首先要感谢苏飞大哥,我也是在很早以前看了他的QQ皮肤制作文章之后得到的灵感和一些相关知

android高仿今日头条 --新闻阅读器

开发流程 第一篇:(android高仿系列)今日头条 --新闻阅读器 (一) 涉及到的知识点有 1.slidingmenu.lib  (侧拉菜单包)   使用方法配置以及下载:点击这里   实现:客户端中左右2边侧拉菜单 2.命名规范可以参考:android命名规范   实现:源码中包.类.方法名称的统一 3.如何反编译:反编译就这么简单   实现:客户端中资源文件的获取 4.Fragment以及HorizontalScrollView的使用,以及重写HorizontalScrollView  

Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效_jquery

一个仿腾讯娱乐频道焦点图轮播的插件 ui3g.js 复制代码 代码如下: /* 顶部大图滚动 */ var slide = (function() {     var quadEaseOut;     var doc = document;     var $ = function(s){         return document.getElementById(s);     }     /**      获取索引值,工具类      @param {Element} current 当前

Android开发之模仿微信打开网页的进度条效果(高仿)_Android

一,为什么说是真正的高仿? 阐述这个问题前,先说下之前网上的,各位可以复制这段字,去百度一下  "仿微信打开网页的进度条效果" ,你会看到有很多类似的文章,不过他们有个共同点,就是实现方法都是一样的,而且,都忽略了微信加载网页时,进度条的缓慢动画效果,它不是生硬地一滑而过,而是用户体验很好,有个速度的变化,由慢到快的效果,语言难于描述,相信各位都有下载微信,可以随便打开个公众号的文章看看效果. 好了,上面说到,之前网上的方法都是都忽略了微信加载网页时,进度条的缓慢动画效果,实现代码也是