自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 资源 (23)
  • 收藏
  • 关注

原创 VS 2015编译 Wireshark2.6.14

VS2015编译Wireshark2.4.16源码的详细步骤

2023-09-18 15:07:58 121

原创 VS 2010编译Wireshark1.10.14

详述了VS 2010编译Wireshark1.10.14源码的完整过程

2023-08-25 16:57:32 233

原创 Framebuffer编程

一个简单示例演示如何在Linux下进行Framebuffer编程。

2022-05-19 10:38:59 494

原创 Flutter 3.0初体验

简单演示用Flutter创建一个可在Windows下运行的程序。

2022-05-13 14:57:29 1210

原创 GNOME的桌面是哪个进程

Linux比较有趣的是一切都可以探索。既然Linux的GUI都是用户层下的程序,那桌面就应该对应到某个进程。利用工具wmctrl来显示当前有哪些窗口,系统用的是Ubuntu18.04。wmctrl需要先安装,安装命令sudo apt-get install wmctrl安装后,输入命令wmctrl –p –l结果如下:可见当前有两个窗口,一个窗口是Desktop,另一个是当前的终端窗口,并且显示了这两个窗口对应的进程pid。再利用ps命令查找该pid对应的进程,如下...

2021-12-01 11:31:27 452

原创 QT 设置Executable路径

默认情况下,Executable即exe路径一般与编译产生的目标文件在同一个目录下,比如下图:但这个路径也可以自行修改,在工程文件pro中添加如下:DESTDIR = $$PWD/bin即将生成的exe文件放在工程路径的bin文件夹中,再执行qmake,可见Executable路径已变成如下:要恢复原默认路径,在pro文件中删除“DESTDIR = $$PWD/bin”,再执行qmake即可。...

2021-10-15 15:11:12 4207

原创 C# “配置系统未能初始化”

运行程序时,出现这个问题。问题应该是出在App.config文件上。我曾手动打开这个文件修改了一些内容,但修改后,没发现XML内容及格式有错。或许是用第三方的编辑软件在修改及保存App.config内容时,加了一些不可见的字符。后来导入备份的App.config文件,在VS中进行修改,错误消失。因此建议修改App.config内容,最好是在VS中进行修改。...

2021-10-15 10:53:05 1720 1

原创 Ubuntu切换到命令行无法登录

我用的Ubuntu版本是20.04,是直接安装在电脑上,不是安装在虚拟机中。使用【Ctrl + Alt + F3】切换到命令行时,却登入不进去。用户名和密码都是对的,用的登录GUI同样的

2021-06-14 13:08:54 952

原创 主程序与python的双向交互

如果需要用脚本来扩展一个程序的功能,或是定制差异化的客制功能,或是用脚本自动运行一系列需要手动执行的操作,可以考虑用python脚本来实现。当然也可以用lua脚本来实现,不过python库更丰富,可扩展空间更大。 要达成上述功能,就需要主程序与python能够实现双向交互,即主程序可以调用python脚本并取得结果,python脚本也可以调用主程序的功能。 已知主程序是可以单向调用python解释器来执行脚本的,也已知python可以通过ctypes库来...

2020-09-21 17:15:00 544

原创 QT工程同时包含多个项目

如何让一个pro工程同时包含几个pro子工程,这样打开一个pro文件时,可同时打开多个子工程。可新建一个pro文件,在其中设置 TEMPLATE和SUBDIRS ,就可以了,如下:TEMPLATE = subdirsSUBDIRS += untitled1 untitled2其中的untitled1和untitled2是子工程的目录,该目录与主工程pro文件位于同级目录,整个工程打开后的层次如下图:...

2020-09-17 10:36:05 3986

原创 QT如何编写和使用自定义控件

如果希望自己编写的QT自定义控件被重用,在Windows系统下,可以将控件封装成dll,之后只提供控件的头文件,lib和dlll供使用者调用即可。 开发准备 需要安装QT和VS,我使用的版本:QT 5.14.1 + VS 2017 Community 注意使用此搭配的原因是因为QT 5.14.1安装包中的Qt Creator 4.11.0 (Community)是用VS2017 32 bit编译的,可通过Qt Creator的AboutQt Crea...

2020-09-16 11:30:10 8436 4

原创 如何查看Dll中包含了哪些函数

如何查看Dlll包含了哪些函数,有两种方法:1. 用工具depends来查看该工具可从http://www.dependencywalker.com/下载,打开该软件,再通过该软件打开需要查看的Dll,比如打开C运行时库,C:\Windows\System32\msvcrt.dll,呈现如下:在窗中右侧中部,看到了我们熟悉的打开文件的C语言标准库函数fopen.2.利用dumpb...

2020-04-05 13:20:49 30801 3

原创 浅析Visual Studio中VC++单元测试原理

接上一篇文章,VS2015中对MFC工程进行单元测试,当我们新建一个VC++的测试工程后,查看生成的代码,会发现代码是这样的:#include "stdafx.h"#include "CppUnitTest.h"using namespace Microsoft::VisualStudio::CppUnitTestFramework;namespace UnitTest1{ ...

2020-03-20 16:07:28 399

原创 VS2015中对MFC工程进行单元测试

如何在VS2015中进行单元测试,直接说步骤。新建一个MFC工程在我们的实际需求中,我这里接近实际的需求,建的是一个MFC工程,

2020-03-20 15:20:01 701

转载 C# 如何实现接口事件

接口可声明事件。下面的示例演示如何在类中实现接口事件。 实现接口事件的规则与实现任何接口方法或属性的规则基本相同。在类中实现接口事件在类中声明事件,然后在适当的区域调用该事件。namespace ImplementInterfaceEvents{ public interface IDrawingObject { event EventHandle...

2019-02-20 16:31:48 2526

原创 VC 用一个函数处理所有菜单消息

   当有多个菜单项,且菜单点击事件的执行代码都很短时,我就用一个函数来响应所有点击消息,不用为菜单逐个添加消息映射,代码显得简短而整洁。   当然,你可以用ON_COMMAND_RANGE方式,但这种方式的用起来很不便,因为菜单项ID必须要在一个范围内才便于处理,而这个ID是VS自动赋于的,手动改也麻烦,所以本文采用重载OnCommand函数的方法。  做法如下:  1.重载函数  B...

2019-02-01 17:16:55 478

原创 VC 如何用代码实现消息映射

       QT,C#可在代码中关联事件和事件函数,且关联可取,极其方便。反观VC,只能用宏关联,且需程序一开始就关联消息和消息函数,运行中不可取消关联。MFC如此包装很不优雅。在用代码创建控件和菜单,或想用一个消息函数处理多个消息时,我更愿意在代码中作消息映射。VC虽已老朽,但仍有不少公司在用,且还有旧VC项目需维护,因此有必要在此分享“如何用代码实现消息映射”。       MFC的消息...

2019-01-29 17:56:09 729

原创 QT知识

1. 编译时出现multiple definition of .......    提示某个类或类的函数定义重复了,可检查下.pro文件,看某个类的文件是否在SOURCES +=或HEADERS +=中被重复添加了2.关于QAbstractItemModel  不管数据在底层以何种数据结构存储,所有QAbstractItemModel的子类都将以表格的层次结构来呈现这些数据。视图使用这个约定...

2018-10-19 16:15:56 146

原创 QT以自定义结构或类作为信号和槽的参数

在QT中如何用自定义结构作为信号和槽的参数,在网上查了一通,用人说要用qRegisterMetaType注册结构,还有说要为结构使用宏Q_DECLARE_METATYPE。不知道是不是他们的版本太旧。经本人验证,既无需注册,也无需使用宏,就可使用结构或类作为信号和槽的参数。我使用的版本为Qt Creator 4.7.0, 编译构件是Qt 5.11.1 MinGW 32 bit1...

2018-09-28 11:39:46 1145 2

原创 编写可维护软件的10大要则

最近看了一本书叫《代码不朽》,书中列出了编写可维护软件的10大要则。该书译自老外的著作,看来国外的研究者对如何提高软件的质量已有一些理论化的指导,并且有一些量化的指标。对于书中个别观点见仁见智,不过对于我们如何规范自己的编码还是有很大的启发作用。现将10大要则作如下笔记:1.编写短小的代码单元代码单元的长度应该限制在15行代码内, 或者将长的单元分解成多个更短的单元,短小的代码易于理解、测试及重用...

2018-03-24 13:36:51 427

原创 设计模式概要

写程序久了,单个项目代码量大了,就会思考如何用好的方式来组织自己的代码,使代码有更好的结构性。最近读了一本刘伟老师编写的《设计模式的艺术,软件开发人员内功修炼之道》,此书结合实例进行讲解,易于理解,受益匪浅。现将书中所列24种设计模式归纳如下:1.单例模式(Singleton Pattern)一个类只有一个实例,该类自行实例化,并向整个系统提供这个实例的可全局访问的方法2.简单工厂模式(Simpl...

2018-03-06 10:01:01 223

原创 VRRP Cehcksum的计算范围

关于VRRP的帧格式的描述可见我上篇文章http://blog.csdn.net/zztoll/article/details/79228731这里说下Checksum的计算。VRRPv2 的checksum的计算范围从Version到Authentication DataVRRPv2 的checksum的计算范围从Version到最后一个IPvX Address,并同时包括伪IP

2018-02-01 15:18:05 238

原创 VRRP帧格式

最近在写一个生成各种网络封包的功能模块,其中写到VRRP时,网上搜到的关于VRRP帧格式的描述,好多都是错的,最后在清默网络http://www.023wg.com/kkxpz/78.html搜到的才是正确的。       当然你也可以直接参考RFC文档       VRRPv2 参见RFC3768,https://tools.ietf.org/html/rfc3768       V

2018-02-01 15:04:08 1590

原创 Ethernet Type,IP Head Protocol Number

终于找到Ethernet Type的来源,原来这玩艺可以到IEEE去付费申请,申请地址:http://standards.ieee.org/develop/regauth/ethertype/index.html当前最新的Ethernet Type有哪些,还可以在IEEE上下载,下载地址:https://standards.ieee.org/develop/regauth/ethertyp

2017-07-18 17:59:53 893

转载 【转】将QT开发的界面程序封装成DLL,在VC中成功调用

最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多帮助,将心得写在这里供大家参考。 PS:本文中谈的是用QT封装一个包含界面的DLL,然后在其他任何地方使用任何语言来调用这个DLL,不是那种在qt creator里面建一个dll工程,然后

2017-05-31 14:53:53 1696 1

转载 MinGW安装和使用

MinGW安装和使用

2017-05-30 13:15:18 2262

转载 QT的各个版本简述

QT的各个版本简述

2017-05-30 12:35:21 24681

原创 关于tshark的configuration profile

1.默认配置安装wireshark之后,其配置文件默认放在%AppData%\Roaming\Wireshark\preferences当未对tshark指定configuration profile时,会自动导入此路径下的配置如此路径下没有preferences,则会使用tshark的默认配置2.指定配置也可以使用参数 -C来指定配置文件,但-C后面跟配置名称时,

2017-04-21 15:19:37 933

转载 C#中怎么判断一个数组中是否存在某个数组值

int[] ia = {1,2,3};int id = Array.IndexOf(ia,1); // 这里的1就是你要查找的值if(id==-1)// 不存在else// 存在

2017-03-22 16:24:57 1903

转载 在C#中使用Spire.doc对word的操作总结

在最近的工程中我们要处理一些word文档。通过在网上的大量搜索,我发现大多数软件功能不是不完整就是有重复。极少数可以完全实现的word组件又要收费。功夫不负有心人,终于找到了可以满足我们需要的免费的C# word程序库。为了和其他的作比较,我在这里先做以下汇总。希望对大家有帮助。如何得到? 这个免费版的word组件可以在Codeplex下载到,你也可以从本文里直接下载msi文件

2017-03-14 16:07:49 16492 1

转载 Spire.Doc组件读取与写入Word

Spire.Doc组件读取与写入Word原文地址:http://www.cnblogs.com/yanweidie/archive/2015/10/19/4888199.html  之前写了一篇开源组件DocX读写word的文章,当时时间比较匆忙选了这个组件,使用过程中还是有些不便,不能提前定义好模版,插入Form表单域进行替换。最近无意中发现Spire.Doc组件功能很强大,目前

2017-03-14 11:09:09 9736 2

原创 tshark命令示例

1.从.pcap文件中提取如wireshark表格中显示的封包摘要信息tshark -r test.pcap > text.txt2.从.pcap文件中提取如wireshark表格中显示的封包摘要信息,指定显示某列tshark -r test.pcap -T fields -e col.Protocol -e col.Info -E separator=, -E header=y

2017-02-08 15:28:23 7317

转载 Wireshark命令行工具tshark使用小记

原文地址:http://www.cnblogs.com/liun1994/p/6142505.htmlWireshark命令行工具tshark使用小记1、目的  写这篇博客的目的主要是为了方便查阅,使用wireshark可以分析数据包,可以通过编辑过滤表达式来达到对数据的分析;但我的需求是,怎么样把Data部分导出来,因为后续的工作主要针对数据包的Dat

2017-02-08 12:16:15 3432 1

原创 InstallShield 2015 Premier的Basic MSI Project如何在卸载时删除残留的文件

先说下缘由,我在用InstallShield 2015 Premier新建工程时选的Basic MSI Project,且程序在运行中会在安装目录下生成数个文件但卸载程序时,因为安装目录下有新生成的文件,因此安装目录及其中的新生成文件会残留,而导致卸载不完全当然如果你新建工程时是选用的InstallScript MSI Project,可参见此文做法http://www.hiadmin.org

2017-01-04 14:50:51 3046 4

转载 MAC,PHY相关知识

网口扫盲三:以太网芯片MAC和PHY的关系问:如何实现单片以太网微控制器?答:诀窍是将微控制器、以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数、缩小芯片面积.单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下.问:以太网MAC是什么?答:MAC即Media Ac

2016-12-23 14:00:33 482

转载 OCX控件的注册卸载,以及判断是否注册

方法一:在dos或Windows命令行下运行:regsvr32 ocxname.ocx 注册示例:regsvr32 netshare.ocx     //注册netshare.ocx控件regsvr32 /u netshare.ocx //解除netshare.ocx控件的注册如果netshare.ocx文件不在system目录时,还必须在文件名前加上完整的路径。除了reg

2016-11-22 12:43:21 13318

原创 ISDEV : fatal error -6109: Internal build error

使用InstallShield 2015 Premier和InstallShield2015 Limited EditionBuild来创建C#程序的安装程序时,会出现,"ISDEV : fatal error -6109: Internal build error"提示。但新建一个工程随便拖几个文件放进工程,却没有提示后来把有error -1069提示的文件全部删除,提示消失经查找,...

2016-09-26 17:20:51 4213

原创 让InstallShield 2015 Limited Edition for Visual Studio 2015在原工程基础上生成一个全新的安装程序

让InstallShield 2015 Limited Edition for Visual Studio 2015在原工程基础上生成一个全新的安装程序       标题有点长,什么意思呢,先说下需求。       通常情况下,我们发行新版程序时,一般要把旧版卸截掉,不然是不能全新安装的       但有时,我们需要新旧版并存,这时就需要制作一个全新安装程序了        如

2016-08-08 11:57:37 2841

原创 让InstallShield 2015 Limited Edition for Visual Studio 2015生成的setup.exe以管理员权限运行

让InstallShield 2015 Limited Edition for Visual Studio 2015生成的setup.exe双击时以管理员权限运行

2016-08-03 15:54:32 4923 1

转载 让.net程序自动运行在管理员权限下

如何让.net程序自动运行在管理员权限下 VS2010 c# 编译的WINFORM程序 在Win7 以管理员身份运行       windows 7和vista提高的系统的安全性,同时需要明确指定“以管理员身份运行”才可赋予被运行软件比较高级的权限,比如访问注册表等。否则,当以普通身份运行的程序需要访问较高级的系统资源时,将会抛出异常。  如何让程序在启动时,自动要求“管理员”权限了,

2016-08-02 16:32:18 1496

VC程序与Python双向交互例程

该代码演示了VC程序如何与Python实现双向交互,如何利用Python控制主程序,达到扩展主程序的功能,以及如何在主程序和Python间交换数据。

2020-09-21

untitled.zip

该全程演示了如何利用QT的工程文件pro文件来包含多个子工程,打开一个pro工程时可以同时打开多个子工程

2020-09-18

QT如何编写和使用自定义控件例程

该示例是博文“QT如何编写和使用自定义控件”的附件,其中有两个QT工程,一个是制作自定义控件工程,一个是使用自定义控件的工程

2020-09-16

MFCApplication1.zip

这是一个用VS2015建立测试用例,并对MFC工程中的类进行单元测试的示例工程,内含一个工程,两个测试工程。

2020-03-20

QT下如何用hidapi操作hid设备

QT利用hidapi操作hid设备的例子,工程中已含hidapi.h,hidapi.lib,hidapi.dll,hidapi版本0.7.0

2019-11-21

SV & GOOSE样例包

SV & GOOSE样例包,可用Wireshark打开,用于了解实际SV & GOOSE包的是个什么样子

2019-04-09

C#插件编程示例

该示例简单演示了如何以插件方式创建dll,以及在程序中如何调用插件

2019-03-12

以自定义数据作为信号槽的参数

该示例演示了如何使用自定义数据作为信号和槽的参数,并且分别示例了参数为引用或指针时如何使用

2018-09-28

QTreeWidget排序例程

QTreeWidget实现按自定义要求排序的例子,需要重载QTreeWidgetItem operator<,详见实例

2018-09-21

把UltraEdit添加到右键菜单

内含一个register.reg注册表文件,下载后双击此注册表文件,即可把UltraEdit添加到系统的右键菜单中。注意:使用之前请将注册表文件register.reg中的路径改成你的UltraEdit.exe所在路径

2018-03-05

C#与Lua交互的例程

C#通过LuaInterface调用Lua的函数,以及Lua调用C#方法的例子,简单易懂,内含lua51.dll,LuaInterface.dll

2017-12-27

IPv4 head中的协议字段值对应的各种协议名称

IP头中的协议字段对应的各种协议

2017-07-19

最全的Ethernet Type Code及名称

此文件从IEEE上下载,包含了截止到2017/07/18的所有Ethernet Type Code及名称

2017-07-18

可用于修改EXE中资源名称的PE_Explorer

用于修改Manifest,Dialog等exe中的资源名称

2016-08-03

lwip-win32

lwip的移植至win32平台的项目,底层使用winpcap来收发数据 使用vs2008 express作为编译调试工具,lwipwin32.sln,编译之后即可开始调试

2014-04-17

licreqst.ext

是自解压文件,此工具用于查看已安装的ActiveX的授权信息,即license key,有源码。

2014-04-06

lpk_tool直接解压运行

使用 HTML 页中的授权控件,必须生成一个许可协议包 (.lpk) 文件。.lpk 文件为 HTML 页中的授权控件提供运行时许可证

2014-04-06

自定义CFileDialog对话框,在CFileDialog上加控件

从CFileDialog派生一个自己的类,并对话框中放上自己的控件. 转载自:http://www.codeproject.com/Articles/4396/XFileDialog-Customizing-CFileDialog

2013-06-24

利用多线程制作模态对话框的进度条

要制作的进度条,可以显示进度,还可以进行中断操作,还要是模态对话框下面的,也就是在处理一个数据的时候(进度条在更新),不允许切换到程序窗口。

2013-06-05

模态对话框显示后台线程的进度

使用方法 CFirmDownDlg dlg; dlg.m_str_File = filedialog.GetPathName(); dlg.DoModal(); 进度条在m_P9M.DownloadFirm中被移动.

2013-06-05

Win7取消自动排列图标

Win7取消自动排列图标用的reg文件,双击导入注册表,然后重启电脑,在资源管理器中右键菜单中出现自动排列选项。

2012-05-14

packager.rar

在word/Excel文档中要打开一个包 1."点击" 出现 "即将激活一个嵌入对象,可能带有病毒,是否继续" 2. 点击"是"以后,则出现了这个提示: "此对象创建于package中,此应用程序不能用来打开此对象,请确认此应用程序已正确安装,并未被删除,移动或重命名" 然后就打不开这个内嵌的文档了 一般的问题是: C:\WINDOWS\system32 目录下的 packager.exe 这个exe文件不存在了,到别的机器拷个过来就行!

2011-08-10

CTransparentImage

可以将位图的背景透明化. 也可参照此方法自绘透明位图.

2011-05-25

空空如也

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

TA关注的人

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