自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

西北攻城狮的博客

在不断探讨中寻求进步

  • 博客(42)
  • 资源 (32)
  • 问答 (12)
  • 收藏
  • 关注

原创 WIN10安装vc++6.0及打开文件闪退

https://www.jianshu.com/p/6a3fe8e549f4安装包位置:https://download.csdn.net/download/github_37567324/21118912

2021-08-17 18:00:35 1316

转载 2021-03-26

NodeJs的AES加密插件(C++实现)#include <exception>#include <cstring>#include <string>#include <iostream>#include <ctype.h>#include <node.h>#define BLOCK_SIZE 16using namespace std;std::string base64_encode(unsigned cha

2021-03-26 17:01:06 147

原创 不同版本的FFmpeg和x264下载地址

在此记录一下:ffmpeg各个版本下载地址x264各个版本下载地址

2020-09-24 15:49:01 903

原创 身份验证错误 要求函数不受支持 这可能是由于CredSSP加密数据库修正

本问题只适用于windows远程桌面提示“出现身份验证错误 要求函数不受支持 这可能是由于CredSSP加密数据库修正”前一天远程桌面正常,次日发现突然不能用了。刚出现这个问题的时候我也是按照网上的说法去修改本地策略组中的“加密Oracle修正”去操作,将加密Oracle修正启用并将保护级别设置为易受攻击,但是我想要的结果并没有出现,依旧报这个错误,远程桌面连接不上,所以我就尝试另一种解决方法,那就是修改注册表。首先打开注册表编辑器,win+R输入regedit 打开注册表,找到\HKEY_LOCA

2020-05-14 16:02:08 15175 4

原创 c/c++在服务中获取当前路径

windwos下,想要获取当前工作路径是一件非常简单的事情,但是如果在服务程序中想要获取当前exe所在的工作路径,那么就需要特别处理一下了,下面是我常用的代码,用来获取服务所作的工作目录:void GetAbsoluteDirectory(char *cTopSkyFileName){ int nLen = 0; int i = 0; GetModuleFileName(NULL, ...

2020-04-21 14:15:00 445

转载 windows 服务进程中调用UI进程

概述:Windows 服务程序的权限一般只是SYSTEM权限,而UI进程则需要Administrator权限才能正常显示,因此服务进程需要调用UI进程则需要进行提权处理.可使用CreateProcessAsUser 方法创建指定权限的应用程序。提权则需要获取对应权限令牌,一般explorer.exe进程的权限是Administrator,因此我们可以通过 explorer....

2020-04-21 10:59:56 822

原创 WOL幻包(魔术包)

在windwos下好多硬件网卡都支持网络唤醒,今天在这里记录一下幻包的组成:for (i = 0; i < 6; i++) packet[i] = 0xFF; for (i = 1; i < 17; i++) for (j = 0; j < 6; j++) packet[i * 6 + j] = mac[j];这个就是幻包的组成,mac[]中存储的就是需要...

2020-04-17 16:01:19 1863 1

原创 windows下vs如何将一个控制台程序改成服务(借助NTService类实现)

首先看一下所需要的文件,文件下载可通过我的资源进行下载。总共有7个文件如下图:接下来咱们一起来实际操作一番:添加文件到你的工程中,如下:将你自己原来控制台的函数入口替换成int inter_main(),如下:在myservice.cpp中修改你的服务名称,为你的服务起一个响亮的名字,这里我用的是TestService注意:如果你的源代码使用.cpp写的,那么就...

2020-04-16 17:35:59 1352 11

原创 将视频文件的每一帧都拆分成一个独立的文件(提取文件中的所有关键帧)

将某一个视频文件的每一帧都拆分出来保存成一个独立的文件,如果需要修改I帧,则可以通过FFmpeg修改文件的GOP大小,命令行如下:ffmpeg -i video.mp4 -g 10 gop10.mp4再提取之前需要先做一件事,那就是需要将视频文件改为ES流:ffmpeg -i gop10.mp4 -vcodec copy -an -f rawvideo -vbsf h264_mp4...

2020-04-09 11:58:16 1478 1

原创 windows 10 /windows server 2016 /windows server 2019下安装WSL(windows下Linux子系统)

1.此方式适用于windows 10 /windows server 2016 /windows server 20192.首先再控制面板中选择“启用或关闭windows功能”点击确定完成配置3.下载Ubuntu安装包4.启动powershell,进入到Ubuntu解压后的目录,执行./ubuntu1604.exe等待安装完成,过程中终端回提示你设置用户名,...

2019-06-24 15:31:40 11415

原创 windows下C++视频加工处理,批量生成视频文件

最近公司项目测试阶段需要测试数据源,主要是将一个视频文件(标准H264)通过修改分辨率,添加水印,设置自定义GOP,设置profile格式为baseline,将视频中的B帧去除掉,只留下I帧和P帧,最后将文件中的ES流提取出来生成三千个不同的文件。我主要是将文件按照指定的IP区间添加不同的水印,文件名称按照IP区间来定义命令行:修改视屏分辨率:ffmpeg -i input -vf s...

2018-07-26 17:01:40 1652

原创 'wchar_t *' to 'const char *'

在Unicode下的CString转const char *的过程中会出现'wchar_t *' to 'const char *'转换失败的情况,查阅资料发现可以直接用另外一个API实现转换:CString m_strInterface(_T("ABCDEFG"));char szIfName[512]={0};size_t converted = 0;wcstombs_s(&amp;co...

2018-05-11 11:54:41 2157

原创 适用于Windows下Unicode工程崩溃Dump生成

公司项目中有一个项目用到的是Unicode工程,在添加dump文件生成的时候原来的不能用了,因此鄙人在原来的基础上进行了一部分的修改,使其能够在Unicode工程下发挥作用#ifndef __BRExceptionFilter_H__#define __BRExceptionFilter_H__// Includes#include "imagehlp.h"typedef...

2018-04-28 14:54:57 238

原创 Windows下利判断远程桌面功能是否启用

本人想查找windows的api来实现判断,但是始终没有找到,因此采用通过注册表的方式来判断(若有哪位知道windows api判断的,烦请留言一下,谢谢),下面是我的代码:BOOL CGetSysInfo::GetLongRangeIsUsed(){ DWORD dwRet = 0; HKEY hKey; if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,_T...

2018-04-18 13:31:26 1335

原创 windows下SystemParametersInfo获取屏幕保护始终为TRUE解决办法

用微软的SystemParametersInfo方法请求SPI_GETSCREENSAVEACTIVE来获取屏幕保护程序是否开启,我们会发现当第一次程序启动(计算机屏保未开启的情况下)返回的确实是FALSE,也就是说返回的状态没问题,当你将计算机屏幕保护打开在测试,发现返回的是TRUE,(是不是很开心^_^,不要激动),此时 如果你在将屏幕保护关闭以后,在此启动程序,发现返回的是TRUE(此时内心...

2018-04-17 17:21:40 1671 1

原创 windows下通过注册表来获取计算机相关信息

在开发过程中遇到了不少需要获取计算机信息的需求,首先我们可以通过windows的api来完成一部分的需求,但是还有一部分并不能通过api来完成,那么通过注册表来获取是一个不错的办法下面给出的是头文件相关信息:#pragma once#include &lt;vector&gt;struct SoftInfo { //软件名 CString m_strSoftName; //软件版本号...

2018-04-17 09:41:26 974

原创 mfc 获取显卡信息

void CGetSysInfo::GetDisplayCardInfo(DWORD &amp;dwNum,CString chCardName[]){ HKEY keyServ; HKEY keyEnum; HKEY key; HKEY key2; LONG lResult;//LONG型变量-保存函数返回值 //查询"SYSTEM\\CurrentContr...

2018-04-13 11:09:39 789

原创 mfc 获取C盘信息

void CGetSysInfo::GetDiskInfo(DWORD &amp;dwNum,CString chDriveInfo[]){ DWORD DiskCount = 0; //利用GetLogicalDrives()函数可以获取系统中逻辑驱动器的数量,函数返回的是一个32位无符号整型数据。 DWORD DiskInfo = GetLogicalDrives(); ...

2018-04-13 11:08:38 516

原创 mfc 获取CPU名称、内核数目、主频

void CGetSysInfo::GetCpuInfo(CString &amp;chProcessorName,CString &amp;chProcessorType,DWORD &amp;dwNum,DWORD &amp;dwMaxClockSpeed){ CString strPath=_T("HARDWARE\\DESCRIPTION\\System\\CentralProcess...

2018-04-13 11:07:14 2924

原创 mfc 获取物理内存和虚拟内存

void CGetSysInfo::GetMemoryInfo(CString &amp;dwTotalPhys,CString &amp;dwTotalVirtual){ // TODO: Add extra initialization here MEMORYSTATUS Mem; // get the memory status...

2018-04-13 11:05:41 911

原创 mfc 获取网卡名字

void CGetSysInfo::GetInterFaceName(CString &amp;InterfaceName,int pNum){ POSITION pos = Interfaces.FindIndex(pNum); if(pos==NULL) return ; InterfaceName = Interfaces.GetAt(pos); pos = ...

2018-04-13 11:03:33 1196 1

原创 mfc 获取网卡数目

int CGetSysInfo::GetInterFaceCount(){ try { #define DEFAULT_BUFFER_SIZE 40960L unsigned char *data = (unsigned char*)malloc(DEFAULT_BUFFER_SIZE); DWORD type; DWORD size = DEFAULT_B...

2018-04-13 11:01:59 727

原创 mfc 判断是否为win10操作系统

BOOL CGetSysInfo::IsFileVersionWindows10OrGreater() { DWORD dwVerInfoSize = GetFileVersionInfoSizeW(L"kernel32.dll", NULL); if (0 != dwVerInfoSize) { LPWSTR pszBuffer = (LPWSTR)_alloca(...

2018-04-13 10:59:48 1513

原创 mfc 判断是否为64位操作系统

BOOL CGetSysInfo::IsWow64(){ typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL); LPFN_ISWOW64PROCESS fnIsWow64Process; BOOL bIsWow64 = FALSE; fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetPr...

2018-04-13 10:58:14 1057

原创 mfc 获取操作系统版本,Server Pack版本,系统类型

void CGetSysInfo::GetOSVersion(CString &amp;strOSVersion, CString &amp;strServerVersion){ CString str; OSVERSIONINFOEX osvi; SYSTEM_INFO si; BOOL bOSVersionInfoEx; ZeroMemory(&amp;si, sizeof(SY...

2018-04-13 10:57:10 1679

原创 mfc获取计算机名和用户名

两个函数搞定GetComputerName();和GetUserName();函数原型:BOOL WINAPI GetComputerName( __out LPTSTR lpBuffer, __inout LPDWORD lpnSize);BOOL WINAPI GetUserName( __out LPTSTR lpBuffer, __inout LPDWOR...

2018-04-13 10:55:09 2993

原创 利用Openssl解析pfx(pkcs#12)证书

首先说明一下.pfx格式证书和.p12格式证书是同一个东东通过openssl的命令行能够轻松的将pkcs#12格式的证书解析成pem后缀的证书文件,方便程序调用从pfx中获取CA证书openssl pkcs12 -in client.pfx  -password pass:11111111 -nokeys -cacerts -out ca.pem 从pfx中获取客户端证书openssl pkcs1...

2018-04-10 16:50:24 7185 1

原创 关于Libcurl双向认证请求https

之前通过libcurl开发只是做http请求,这次公司项目需要请求https,所以就研究了一下,其实用libcurl做http请求是非常简单的,所有底层实现都被封装到了libcurl里面(默认编译的libcurl是没有附加SSL的,也就是说默认的libcurl是不带https功能的,因此需要自己重新编译,这里是一个libcurl支持https,可以直接用),具体关于https的实现如下:int C...

2018-04-08 14:36:06 4241

原创 unicode下CString转实std::string失败问题解决

在之前的公司项目中用到的编码方式都是用多字节的方式,并没有用到过Unicode,今天在从CString转到string的时候,按照原来多字节的方式std::string str = CString temp("aaa").GetBuffer(0);来转换,发现总是不行,查阅了资料,才发现Unicode下CString是宽字节,而string是窄字节,因此不能用以上的方法进行转换,具体解决方法如下:...

2018-03-28 10:37:32 951

原创 FTP文件上传/下载失败

在开发过程中难免遇到需要对FTP文件的上传和下载,在操作FTP的过程中,有几点需要注意:FTP连接方式 FTP连接分为主动方式和被动方式两种,在连接FTP的过程中,要注意需要连接的FTP的连接属性,一般默认都是被动模式,所以在连接的时候,一般两种方式都写上,以免出现不必要的问题。HINTERNET hC = InternetConnect(hInternet, m_cIP.c_

2017-10-16 15:31:53 7295

原创 windows配置SDL出现无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用

今天在vs环境下配置SDL的过程中,编译一直出现一个错:无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用找了半天的问题,最后才发现是工程中用到的SDL.dll和SDL.lib版本不一致导致的,换成相同版本就不会出现这个问题。 还有一种情况就是在添加lib的过程中需要把SDLmain.lib也添加到工程中,否则也会出现上面的那个错误。

2017-09-30 10:28:49 1538

原创 windows配置FFmpeg注意要点

下载FFmpeg下载地址:https://ffmpeg.zeranoe.com/builds/ 下载的时候注意不论机子是X86还是X64的,下载FFmpeg最好下载32位的,应为如果下载的是64的,因为我的机子是X64的,所以当时就直接下载的64版本的,但是在配置vs环境的时候,各种报错,最后查询资料才发现是需要做一些修改以后才能用,所以我就直接下载的32的版本就没什么问题了。 基于FFmp

2017-09-29 15:09:19 666

转载 VS开发ffmpeg环境搭建

基于vs进行ffmpeg开发环境的搭配

2017-09-29 10:05:01 367

转载 使用cJSON解析JSON字符串

解析JSON格式 还是在Linux下,使用C语言编程,先实现读文件的功能,然后开始JSON字符串的解析。我们还是一步步来,先从简单的开始,万丈高楼起于平地嘛。 1,下载源码; 可以从如下网站来下载:https://sourceforge.net/projects/cjson/ 。 2,包含cJSON的源码; 下载下来,解压后,从里面找到两个文件(cJSON.c、cJSO

2017-09-26 12:00:35 726

原创 c++创建多级目录

c++创建多级目录实现:BOOL CCommonFunctions::CreateDirectories(const TCHAR *strPathName,BOOL blFile){ CString pathName = strPathName; //不是以"\"结尾的目录则添加"\" if(pathName.Right(1) != _T("\\") && !blFile)

2017-09-22 08:48:22 841

原创 截取字符串封装函数

在项目开发过程中,经常会用到字符串分割,这里我封装了一个截取字符串的小函数,拿出来和大家共享;CString GetStrParam(CString sInfo, int iPos, CString sSplit)参数说明:CString sInfo:待切割的字符串,例如:CString sInfo = _T("983256531{^}@163{^}com")int iPos:需要截取字符串在源

2017-09-22 08:44:25 502

原创 c++程序崩溃生成dump文件确定错误位置方法

利用开源类生成dump文件,精确查找程序崩溃点

2017-09-19 16:38:04 4117

原创 c++基于gSoap开发编译异常

在程序中存在多个gSoap客户端代理类的话,比如我项目中用到的两个NMMAILGgzwSerSoapProxy.h和ZJFaxMangerHttpBindingProxy.h,其中第一个NMMAILGgzwSerSoapProxy.h类是后期添加上去,按照之前的,我还是把三个头文件和两个cpp文件拷贝到项目工程路径下,同时把GgzwSerSoap.nsmap也包含到项目中去,结果编译发现如下错误:

2017-09-04 16:11:07 480

原创 c++调用动态库失败解决办法

之前写好的程序今天早上过来发现在服务器上出错了,于是就各种查问题,整整一个早上外加下午两个小时都在查这个问题,最终被我找到了问题;在程序中我发现LoadLibrary()返回的句柄是空的,于是用GetLastError()看了一下,返回值是193,因此可以断定应该是动态库出问题了,所以就用Depends查看了一下程序中依赖的动态库,发现该动态库还缺少另外的一个动态库,导致程序在加载过程中出现了

2017-09-04 16:09:44 4017

原创 C++调用Cimiss接口返回值

0Query Succeed查询成功无-1No data is retrieved查询成功,没有获取到数据(数据库中无数据)无-1001Missing UserID用户名缺失添加用户名-1002

2017-07-26 13:34:49 789

DEMO 控制台程序包装服务

借助NTService类实现的控制台程序包装成服务的demo

2021-07-28

ptlib-2_10_9-dev.rar

h323plus和ptlib是做323协议开发必不可少的依赖库,我这里是用vs2015编译出来的lib库文件,我上传的压缩包中包含了开发所用到的include目录以及编译出来的库文件

2020-09-23

h323plus-1_27_1-dev.rar

h323plus和ptlib是做323协议开发必不可少的依赖库,我这里是用vs2015编译出来的lib库文件,版本为1.27.1.我上传的压缩包中包含了开发所用到的include目录以及编译出来的库文件

2020-09-23

h323plus-1_27_0-dev.rar

h323plus和ptlib是做323协议开发必不可少的依赖库,我这里是用vs2015编译出来的lib库文件,我上传的压缩包中包含了开发所用到的include目录以及编译出来的库文件

2020-09-23

GnuGK-5.5可执行程序

可以支持h323设备注册,并且能够相互做视频通话用,程序是我用vs2015编译出来的,openssl用的是1.1.1,ptlib用的是2.10.9,h323plus用的是1.27.1

2020-09-23

Win32OpenSSL-1_1_1g.exe

windows下的openssl 1.1.1g最新版安装包,支持开发,安装完成以后可以在安装目录下找到对应的include和lib目录,windows下开发神器

2020-07-27

WakeupOnline网络唤醒 WOL vs2017项目

能够支持通过幻包的方式进行网络唤醒休眠终端,该文件是vs2017工程,可以直接编译运行,亲测可用,童叟无欺

2020-04-17

NTServer将控制台包装成服务

这是一个工具类,能够将一个传统的控制台程序包装成一个服务,使用起来简单易懂,需要的可以下载,具体操作步骤可在我的博客里面去看,有相关介绍如何使用。

2020-04-16

janus消息流程图.pdf

janus在会议过程中的消息走向说明,比较简单,其中有一部分与我们自己的会议业务联系到一起,不复杂,对于理解Janus有些许帮助

2020-04-14

rtp_packet将视频文件分装成多个rtp数据包

将一段视频文件通过拆分的方式封装成了一个一个的rtp数据包,每一个单独的文件是一个独立的rtp数据包,在开发测试阶段非常是实用

2020-04-14

windwos下的turnserver服务器

一个在windows下的sturnserver服务器,在跨公网做数据传输的过程中非常实用的工具,保证udp传输过程中的稳定性

2020-04-14

keyframe 一个文件中所有的关键帧单独存储为一个文件

通过一定的算法,将一段视频中的关键帧全部提取出来,每一个文件是一个独立的关键帧,在开发测试阶段非常的有用,希望能帮到有用的人

2020-04-14

YUV视频文件,非常直观

自己找的两个yuv视频,视频名称就是视频的分辨率,在播放的时候按照文件名称显示的输入视频大小即可播放,亲测可用

2020-04-14

yuvplayer.rar

能够播放yuv数据的一款播放器,用于做视频开发的童鞋们是非常有用的

2020-04-14

glib-win32 windows下编译的glib,可直接包含头文件使用

在windwos下编译出来的glib库,可以直接包含头文件进行使用,在整个编译过程中比较的繁杂,依赖项太多,差点吐血了,还好最终还是编译出来了,亲测可用

2020-04-14

NACK补包重发数据

我是基于pjsip做的nack丢包重传,本地将编码发送的音视频数据缓存到队列中,如果收到对端NACK请求,则从队列中查找拿出需要补的packet重新发送,该代码需要配合glib库使用

2020-04-14

Visual 2017番茄助手.rar

1.关闭当前所有的visual stdio工程,直接双击打开VA_X_Setup2017.exe 2.选择需要支持的visual stdio版本,这里我选择的是:Microsoft Visual Stdio 2017 (for current user account) 3.点击Install 4.点击完成 5.打开我的电脑,再地址栏输入%appdata%并且回车 6.再Local中搜索VA_X.dll 7.将压缩包中的VA_X.dll替换到查找到的文件位置 8.打开visual stdio就可以使用了

2019-07-30

Ubuntu.zip

能够支持再Windows下的Linux子系统,本资源版本为16.04TLS,可直接通过powershell解压后执行ubuntu.exe安装即可

2019-06-24

C++视屏加工处理-基于FFmpeg

主要是将一个视频文件(标准H264)通过修改分辨率,添加水印,设置自定义GOP,设置profile格式为baseline,将视频中的B帧去除掉,只留下I帧和P帧,最后将文件中的ES流提取出来生成三千个不同的文件。我主要是将文件按照指定的IP区间添加不同的水印,文件名称按照IP区间来定义

2018-07-26

获取计算机注册表信息功能实现

通过注册表获取如下信息: 1.获取所有已安装常用软件名 2.获取已安装常用软件版本号 3.获取所有已安装常用软件安装目录 4.获取所有已安装常用软件发布厂商 5.获取所有已安装常用软件主程序所在目录 6.获取所有已安装常用软件卸载路径 7.获取一个包含系统补丁信息的Vector 8.获取所有已安装系统补丁名

2018-04-17

VC AssistantX_番茄助手_适用VS2005

能够完美适配vs2005,让您摆脱VS2005编程不便,轻松搞定vs2005环境下的编程,同时还可以兼容vs2008以及vs2010等版本。

2018-04-11

支持HTTPS的libcurl

通过编译libcurl附加Openssl来实现https的功能,直接下载使用即可,无需重复编译,其中还包括ftp,http表单提交等,均可支持

2018-04-08

c++ dump文件生成类

c++程序开发过程中出现程序奔溃的情况时,会自动生成一个dump文件,只需要打开dump文件即可确定程序具体奔溃在哪行代码。

2017-09-19

Win64OpenSSL-1_0_2L安装包

Win64OpenSSL-1_0_2L安装包,在不用源码编译直接安装即可,在用源码变异过程中会遇到各种各样的问题,用安装包就省去了其中的麻烦

2017-09-06

Depends动态库测试工具

Depends动态库测试工具,查看动态库的依赖项,在开发过程中,如果遇到动态库加载失败,多半原因是因为动态库有一些依赖项不足导致的。

2017-09-06

解析xml最好用的库

c++解析xml最好用的库

2017-05-18

c++中libcurl库

libcurl

2017-05-18

MD5加密类源码

C++开发中常用的md5加密类源码

2017-05-18

c/c++Log日志类

简单常用的c++日志类

2017-05-18

http下载发送类

c/c++程序开发中常用的http上传和下载类

2017-05-18

vc++6.0.rar

vc++6.0安装包及filetool文件

2021-08-17

DEMO 控制台程序包装服务

借助NTService类实现的控制台程序包装成服务的demo

2021-07-28

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除