前言:最近学习C#,想找个练手的项目实践一下,回想到一款比较好用的截图工具GreenShot是C#开源的,于是想自己试着实现一下简单的截图功能,于是就有了这几篇文章作为总结。截图的几种实现思路使用灰度图片替换原始图片,再将原始图片画到截图区域使用灰度图片替换原始图片,再使用原图相应坐标的像素替换在原图上使用蒙板实现截图区域与非截图区域的对比图片的基本操作获取屏幕宽、高获取屏幕截图获取指定图片的灰度
Windows编程——线程篇(一):线程简介线程由2部分构成:线程的内核对象和线程堆栈。操作系统使用内核对象对线程进行管理,堆栈则用于维护线程在执行代码时需要的所有函数参数和局部变量。一个进程中的多个线程之间共享这个进程的代码段、地址空间、内核对象句柄等。线程的启动可以使用createthread、__beginthread函数来创建一个线程。但是一般建议使用beginthread,虽然它也是调用
进程简介所谓进程,就是一个包含了一定的资源的集合体。进程拥有独立的地址空间,可执行模块、DLL、代码段和数据段等。进程不执行任何任务,所有的事情都由线程来完成。当启动一个进程的时候,一个主线程也随之启动。创建进程创建进程的方法有2中,一种是直接运行一个程序,另外一种是调用CreateProcess函数。不管是哪种方法,他们做的事情都是一样的。首先,系统内核创建一个进程对象,并为该进程分配虚拟的内存
Windows编程——线程篇(二):线程同步为什么需要同步资源竞争假如存在2个线程A、B,和资源T,A需要对int T进行读取操作,B需要进行写,并假设读写操作不是原子操作。那么,当A读取T的值得时候,如果B进行写,则A读取到的值讲是不确定的。而所谓原子操作就是某一操作在完成之前这个资源不会被其他线程所访问。高速缓存行所谓高速缓存行,就是指CPU在从内存读取一个字节的时候,并不是读取一个字节,而是
PS:这些文字是参考的UNP写的,但是网络分层的原理都是一样的,并且懒得专门去写一个关于Windows的了,所以就这样~~网络分层网络是分层的,程序员关心的是以下4层:以太网层:帧,frameIP层:分组,packageTCP:节,segment应用层:消息,message在谈论网络数据的时候,如果说到帧,则应该知道是以太网层。我们一般关心的是TCP——分节,应用层——消息。TCP/IP协议不仅仅
// SyncSocket.h#pragma once#include// for socklib#include// for lock#include#include#include#pragma comment(lib,"ws2_32.lib")using namespace std;#define WSA_RET_OK (0)#define SS_START (WM_USER + 1
简介传输层包括:TCP、UDP和SCTP(stream control transmission protocal,流控制协议)。绝大多数的客户端、服务器网络应用使用TCP和UDP。SCTP是为跨因特网传输电话信令而设计的一个交新的协议。这些协议的底层都使用IPV4或IPV6。UDP:一个简单的、不可靠的数据报协议。TCP:一个复杂的、可靠的字节流协议。SCTP:可靠的传输协议,提供消息边界、传输
公共函数获取屏幕截图private Bitmap GetScreenCapture() { Rectangle tScreenRect = new Rectangle(0, 0, Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); Bitmap tSrcBmp = new Bitmap(tS
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号