Windows
weilin.jiang
Windows内核砖家
展开
-
windows基于TCP/IP的简单文件/图片传输
详细函数资料参考msdn// TransPic_Server.cpp : 定义控制台应用程序的入口点。/* Server.cpp*///#include "stdafx.h"#include #include #include #define BUF 256#pragma comment(lib, "Ws2_32.lib")int _tmain(int argc,原创 2015-11-21 17:04:41 · 2983 阅读 · 1 评论 -
Qt权限设置
QT版本:5.5.1 QT CreatorQT Creator 编译出来的程默认是不带管理员权限的。有时是需要管理员权限。第一步: 创建文件 manifest.xml 添加如下代码[html] view plain copy xml version="1.0" encoding="UTF-8" st转载 2016-09-22 10:15:02 · 3597 阅读 · 0 评论 -
BMP文件格式
因为公司的主要业务是图像识别相关的,因此对图像处理、识别是我学习的重点。虽然写程序也不少年了,但是对于图像处理领域,我还是一个新兵。对很多基础的概念也还是存在盲区,所以想在边学边做的过程中,对一些概念的梳理和学习心得进行记录。BMP文件格式BMP(Bitmap-File)图形文件,又叫位图文件,是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持B转载 2016-10-11 15:23:29 · 737 阅读 · 0 评论 -
【Window】 Screen capture with GDI&DX
【前言】window常见抓屏技术有 GDI \ DX \ DXGI,关系如下:GDI(Graphics Deveice Interface,图形设备接口),利用GDI编程,可以不考虑硬件的具体特性,直接调用Windows API中的图形处理函数处理当前DC即可。这的确很方便,但却是以降低处理速度为代价。因为它不能直接访问硬件,需要通过操作系统间接访问。Microfost原创 2016-10-11 15:49:39 · 4174 阅读 · 0 评论 -
【Intel(R)_Media_SDK】官方文档翻译摘要
【前言】Intel media SDK调用系统底层库完成硬编解码,处理视频,库分用器如下有很多硬解码库,不同的GPU可以使用不同的库,有些库也有可能为了跨硬件,就会像上图那样有个分层器,根据硬件类型选择不同的库进行硬解码,相关库有:DXVA Microsoft DirectXCUDA 英伟达推出CUVID 英伟达推出等翻译 2016-10-12 16:59:58 · 8646 阅读 · 1 评论 -
【Window编程】内核对象
内核对象 比如存取符号对象、事件对象、文件对象、文件映射对象、 I / O完成端口对象、作业对象、信箱对象、互斥对象、管道对象、进程对象、信标对象、线程 对象和等待计时器对象等1. 每个内核对象只是内核分配的一个内存块,并且只能 由该内核访问。该内存块是一种数据结构,它的成员负责维护该对象的各种信息2. 句柄指向 内核对象 ,为了使操作原创 2016-10-12 21:22:12 · 692 阅读 · 0 评论 -
C运行时库(C Run-time Library)详解
一、什么是C运行时库1)C运行时库就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些库中的函数.2)C 语言是所谓的“小内核”语言,就其语言本身来说很小(不多的关键字,程序流程控制,数据类型等);所以,C 语言内核开发出来之后,Dennis Ritchie 和 Brian Kernighan 就用 C 本转载 2016-09-21 13:35:17 · 1277 阅读 · 0 评论 -
【Window】获取电脑连接的网络信息
1. 连接的Wifi信息 WSAData data; if (WSAStartup(MAKEWORD(1, 1), &data) != 0) { return; } DWORD dwError = ERROR_SUCCESS; DWORD dwActualVresion; HANDLE wlanHandle; dwError = WlanOpenHandle(1,原创 2016-12-03 11:16:05 · 1994 阅读 · 0 评论 -
【Window】Win32 API连接热点
Window 无线网络处理相关博文:【Window】获取电脑连接的网络信息Window 平台操作无线网络相关的的问题,大多都是使用 wlanapi 库,以下连接Wifi也不例外。要连接热点得必须有ssid 和 key.,window没有提供现成的函数,提供两个参数可以直接连接wifi,wifi 连接过程也是有学问的,那就是要提供一个profile ,原创 2017-01-08 13:23:51 · 2463 阅读 · 0 评论 -
windows 10环境下 使用 msys2 + vs code 配置 c++ 的编译环境(转)
不太多描述 msys2 与 vs code ,既然你需要安装 一种语言的编译环境了 ,你肯定对这两个不陌生;1. 先安装msys2; (下载多少位的msys2就安装多少位的 mingw,本人安装 32位的)下载连接地址:http://msys2.github.io/按照 官网文档,一步一步安装。2.修改msys 源(推荐修改)修改参考地址:https:/转载 2017-05-19 16:54:30 · 2989 阅读 · 0 评论 -
Visual Studio无法定位于动态链接库
今天用vs开发ffmpeg突然冒出一个这样的错误由于程序用到了 avcodec 和 avutil 这两个库,而 av_frame_alloc是属于 avutil这个库的。以下通过查询头文件,发现 av_frame_alloc 并非属于 avcodec 动态库的函数,那为什么会这样子呢?我决定再查询一下 avcodec-57.all 和 libav原创 2016-09-24 08:54:05 · 5332 阅读 · 1 评论 -
【Win32笔记四】Mesasge的定义和发送——消息队列
【讯息的定义】PostMessage 是将一个消息寄送到一个线程的消息队列后就立即返回。PeekMessage 该函数为一个消息检查线程消息队列,并将该消息(如果存在)放于指定的结构。GetMessage 获取一个讯息,当第二三四参数为NULL或者0时,代表接受程式的所有讯息SendMessage 该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直原创 2016-10-09 11:37:57 · 822 阅读 · 0 评论 -
socket实现ping嗅探,获取局域网所有活动主机
大概思路是:获取本主机IP,然后将它和子网掩码进行与操作,可知道子网的主机号范围,然后逐个进行Ping,最多ping4次。ping是基于icmp报文的,它被封装在ip中发送出去。主要问题是,这样单线程Ping速度真的非常慢,所以我尝试了多线程,不过过程并不顺利,主要是在recvIcmp过程中,内部或许有些更复杂的步骤。不过,有个简单的实现方法是通过system函数调用DOS原创 2015-12-11 12:06:12 · 5298 阅读 · 0 评论 -
基于socket原始套接字的网络嗅探器
// NetSniffer.cpp : 定义控制台应用程序的入口点。///*简单说明一下什么是网络嗅探器,网络嗅探器是一个抓取所有经过网卡数据的软件,在一般使用电脑时,网卡只接受到发送至本机的数据,那是因为这是网卡是非混杂模式的,挡一个目的地址非本机地址的数据包经过网卡时,网卡在数据链路层(mac地址)检测到是非本机数据,则直接丢弃,当设置为混杂模式时,所有经过网卡的数据包均可被读取出原创 2015-11-28 12:50:04 · 7809 阅读 · 6 评论 -
Ping使用
PING 工作原理 一、什么是 PING 是 DOS 命令,一般用于检测网络通与不通 ,也叫时延,其值越大,速度越慢 PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序。Ping 发 送一个 ICMP 回声请求消息给目的地并报告是否收到所希望的 ICMP 回声应答。 它是用来检查网络是否通畅或者网络连接速度的命令。 作为一个生活在网络转载 2015-11-29 14:22:47 · 866 阅读 · 0 评论 -
SMTP-发送邮件
1. 创建socket套接字 SOCKET s = socket(PF_INET,SOCK_STREAM,0); 2.获取smtp服务器地址 sockaddr_in sin; memset(&sin, 0, sizeof(sin)); sin.sin_family = AF_INET; sin.sin_port = htons(25);原创 2016-01-18 14:12:24 · 1469 阅读 · 0 评论 -
MFC——void OnSize(UINT nType, int cx, int cy)
BEGIN_MESSAGE_MAP(CLibraryDlg, CDialogEx) ON_WM_SIZE()END_MESSAGE_MAP()void CLibraryDlg::OnSize(UINT nType, int cx, int cy){ if (!m_pTabCtrl) m_pTabCtrl = (CTabCtrl *)GetDlgItem(IDC_T原创 2016-01-10 17:00:12 · 4179 阅读 · 0 评论 -
关于C/C++获取指针大小判断系统位数的猜想
不讨论使用sizeof第一个程序,指针类型会根据系统位数的大小而分配。#include int main(int argc, char *argv[]){ int *p = (int *)~0; int count = 0; for (;p!=0;) { p = (int *)((long)p << 1); count++; } printf("%d\原创 2016-03-16 10:28:54 · 2614 阅读 · 0 评论 -
【Win32笔记一】Windows程式关键字
1. HINSTANCE (实例句柄,应用程序) HWND(窗口句柄) 都是句柄,本质是一样的,只是从名字区分一下,它们都是handle2. #define WINAPI __stdcall __stdcall 被这个关键字修饰的函数,其参数都是从右向左通过堆栈传递的(__fastcall 的前面部分由ecx,edx传), 函数调用在返回前要由被调用者清理堆栈。原创 2016-10-09 09:10:43 · 1673 阅读 · 0 评论 -
【Win32笔记二】视窗与消息机制
1.标志 字首 类别 CS 视窗类别样式 CW 建立视窗 DT 绘制文字 IDI 图示ID IDC 游标ID MB 讯息方块 SND 声音 WM 视窗讯息 WS 视窗样式 结构 含义 MSG 讯息结构 WNDCLASS 视窗类别结构 PAINTSTRU原创 2016-10-09 10:28:27 · 873 阅读 · 0 评论 -
【Win32笔记三】键盘
1. 谁获得了焦点(光标) 有时输入焦点不在任何视窗中。这种情况发生在所有程式都是最小化的时 候。这时,Windows 将继续向活动视窗发送键盘讯息,但是这些讯息与发送给非 最小化的活动视窗的键盘讯息有不同的形式。 视窗讯息处理程式通过拦截WM_SETFOCUS和WM_KILLFOCUS讯息来判定它的 视窗何时拥有输入焦点。WM_S原创 2016-10-09 11:08:43 · 752 阅读 · 0 评论 -
WinDbg——拓展DLL开发入门
WinDbg提供了接口实现第三方开发自定义功能的库。废话少说,以下是最简单的一个Demo,只包含一个help指令。 实现 主要包含两个点:1. 实现DebugExtensionInitialize 函数,这是实现WinDbg拓展DLL必须实现的;WinDbg在载入此DLL会调用。2. 导出函数 创建一个简单的DLL工程。源码如下:.h#includ...原创 2018-07-30 21:23:32 · 1219 阅读 · 1 评论