自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(48)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 python用playwright自动化测试程序打包exe

存放路径一般为 “C:\Users\你的用户名\AppData\Local\ms-playwright”,加入你的测试程序只想跑在谷歌浏览器中,代码中也设置的是在谷歌下测试的话,那么把chromium-xxxx文件夹拷贝到python文件夹的Lib\site-packages\playwright\driver\package\路径中,然后建立“.local-browsers”文件夹,并把刚才的浏览器chromium-xxxx文件夹扔进去。3、打包python代码为exe,并附加playwright。

2023-07-17 15:30:15 1138

原创 使用 playwright 代码生成忽略 SSL 错误

在使用playwright时访问有些网站出现证书相关问题,codegen启动就闪退。编写代码中可以加入以下代码。

2023-07-17 14:52:57 532

原创 MFC对话框窗口框按Enter键和ESC键会消失的解决方案

解决在MFC程序中对话框或者TabControl焦点中按回车或者esc窗口消失的问题。原因是 回车键和esc键 默认消息处理 分别是 onok 和oncancel可以屏蔽onok和oncancel 或者重载pretranslatemessage 中截取回车消息和esc消息在对话框对应的类重写PreTranslateMessageBOOL CBDTPWorkBoxDlg::PreTranslateMessage(MSG* pMsg){ // TODO: 在此添加专用代码和/或调用..

2021-02-05 11:07:02 810 2

原创 MFC基于对话框 让EditControl 支持拖拽文件获得全路径

1.右键-解决方案-添加-类注意:不要在资源界面上右键-添加类,因为那样添加的是MFC类,不一样的。2.添加类界面填写自定义的类名如:CMyEdit 继承于(基类)CEdit3.切换到类视图,选中上面建立的CMyEdit类,在消息中创建WM_DROPFILES的消息映射,并添加代码void CMyEdit::OnDropFiles(HDROP hDropInfo){ // TODO: 在此添加消息处理程序代码和/或调用默认值 if (hDropInfo) { ...

2020-12-09 15:56:41 730

原创 Rtlcompressbuffer 压缩与解压

#include <iostream>#include <windows.h>using namespace std;//typedef unsigned long NTSTATUS;#define STATUS_SUCCESS ((NTSTATUS)0x00000000UL)#define STATUS_BUFFER_ALL_ZEROS ((NTSTATUS)0x00000117UL)#define STATUS_I.

2020-10-26 21:59:15 1429

原创 string 与wchar_t* char*

string TCHAR2char(const TCHAR* STR){ string strchar; if (!*STR) { return strchar; } //返回字符串的长度 int size = WideCharToMultiByte(CP_ACP, 0, STR, -1, NULL, 0, NULL, FALSE); //申请一个多字节的字符串变量 char* str = new char[size +.

2020-10-22 21:44:55 228

原创 SHFileOperation 操作文件,本例拷贝文件

char*版本 SHFILEOPSTRUCTA fop = { 0 }; fop.fFlags = FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NOCONFIRMMKDIR; fop.wFunc = FO_COPY;//选择执行类型,FO_COPY,FO_DELETE,FO_RENAME,FO_MOVE四种 fop.pFrom = "d:\\test.txt"; fop.pTo = "c:\\tes.

2020-10-22 21:37:59 1201

转载 VC++开发中最简单的Multi-Byte(ANSI)和Unicode互转方法,灵活使用Windows基本API:wsprintfA, wsprintfW

不少程序员都是从VC6.0的IDE下直接跳到VC8.0或者9.0下的。对新的IDE工程中默认的Character Set 为 Use Unicode Character Set带来的诸多不习惯肯定深有体会。由于这个设置,我们必须要在所有的字符串前面加上宏_T()或者宏TEXT().现在介绍一种简便的转换方法(无论什么Character Set 都可以转换)ANSI->Unicode字符串char szTemp[] = "hello world";wchar_t szOut[0..

2020-09-24 11:45:12 264

转载 Multi-Byte/Unicode支持总结

很多时候,我们的程序需要支持两种字符集,Multi-Byte与Unicode。这时就需要进行字符串转换,以及两套API之间的切换。对两种字符集的统一支持,本文做了一些简单总结。1、常用转换函数以下四个函数为Multibyte/Unicode转化基本函数,已处理内存泄露问题。其他转换可以在这四个基本函数基础上操作。1.1.Ansi转化为Unicodestatic wstring AnsiToUnicode(const string& str){ int ..

2020-09-24 11:41:19 299

转载 DateTime.Now.ToString() 格式化大全

//2008年4月24日 System.DateTime.Now.ToString("D"); //2008-4-24 System.DateTime.Now.ToString("d"); //2008年4月24日 16:30:15 System.DateTime.Now.ToString("F"); //2008年4月24日 16:30 System.DateTime.Now.ToString("f"); //20...

2020-08-06 17:12:57 5801

转载 【Notepad++】用 Notepad++ 编译 C/C++

一. 前情  想找Notepad++运行命令的可以直接跳到最后。  平时用的 IDE(集成开发环境)是 Dev-Cpp,因为只是学习阶段,代码还上不了千行,个人认为不需要 VS 那种高大全,VC6.0 又有些地方(不只是审美)不顺眼。  但最近又发现当把 C++ 代码文件复制到 Ubuntu 18.04 编译运行时,汉字部分总会乱码,因为encoding(字符编码)的问题,Ubuntu的终...

2019-10-22 15:31:25 1294

原创 扫描指定目录以及子目录下的所有文件并打印绝对路径

void scan_dir(char *dir) // 定义目录扫描函数 { DIR *dp; // 定义子目录流指针 struct dirent *entry; // 定义dirent结构指针保存后续目录 struct stat statbuf; // 定义statbuf结构保存文件属性 c...

2019-05-16 15:51:46 871

转载 VS2017远程调试

首先去VS安装目录找到Remote Debugger目录(在安装目录的Common7\IDE里面,下图目录是因为我把VS2017安装在F:/Microsoft Visual Studio 2017):将Remote Debugger文件夹扔进虚拟机。然后在虚拟机中进入对应版本(X86或X64)的文件夹,运行msvsmon.exe第一次运行会出现配置窗口:肯定是选择配置远程调试...

2019-05-16 15:35:21 1051

转载 使用Visual Studio 2017开发Linux程序

环境:  win10、VS2017、Ubuntu18.04  在Ubuntu上首先需要安装gcc、g++和gdbserver,这里就不多说一、安装VS2017  1.1 安装VS2017时,必须要勾选“使用C++的Linux开发”工具集二、创建Linux项目2.1 创建一个名称为"TestLinux"的解决方案,我们稍后会在这个解决方案内新建多个Linux项目(包括可执...

2019-05-09 10:32:44 274

转载 Linux system函数返回值

例:status = system("./test.sh");1、先统一两个说法:(1)system返回值:指调用system函数后的返回值,比如上例中status为system返回值(2)shell返回值:指system所调用的shell命令的返回值,比如上例中,test.sh中返回的值为shell返回值。2、如何正确判断test.sh是否正确执行?仅判断status是否=...

2019-04-25 14:52:05 366

原创 对大容量存储内核驱动改写初试!

、2)执行命令: KERNEL=kernel7(3)执行命令:make modules dtbs编译完成后读卡器把树莓派内存卡插入连接到虚拟机编译好的usb_f_mass_storage.ko 拷贝到树莓派 /media/python/rootfs/lib/modu............

2019-04-22 10:17:17 208

转载 简单的Linux下的socket通信,附带出错提示的头文件myerr.h,自从用了根本停不下来啊!!!

#ifndef _MYERR_H_#define _MYERR_H_ #include <stdio.h>#include <string.h>#include <errno.h>extern int errno; #define MYDBG #ifdef MYDBG#define PRN_ERRMSG_EXIT(errmsg) ...

2019-04-22 10:15:36 1047

转载 使用dd命令快速生成大文件或者小文件的方法

使用dd命令快速生成大文件或者小文件的方法 在程序的测试中有些场景需要大量的小文件或者几个比较大的文件,而在我们的文件系统里一时无法找到那么多或者那么大的文件,此时linux的dd命令就能快速的帮助你完成想要的文件。具体用法简单总结如下:1. dd命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000...

2019-04-16 09:41:03 1230

转载 Linux探秘之用户态与内核态

一、Unix/Linux的体系架构 如上图所示,从宏观上来看,Linux操作系统的体系架构分为用户态和内核态(或者用户空间和内核)。内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境。用户态即上层应用程序的活动空间,应用程序的执行必须依托于内核提供的资源,包括CP...

2019-03-15 14:50:07 85

原创 Raspberry Pi Zero U盘模式

本例使用树莓派Zero-w,结果使其变为U盘1.修改config.txt让树莓派使用dwc2 USB驱动程序执行命令 echo "dtoverlay=dwc2" | sudo tee -a /boot/config.txt2.在Raspbian中启用它执行命令 echo "dwc2" | sudo tee -a /etc/modules3.选择生效的功能模块执行...

2019-03-15 14:29:52 2618

原创 Raspberry Pi 系统安装以及在Ubuntu上进行内核编译

本例使用(Raspberry Pi Zero-w)一、树莓派系统安装1. 准备工作(1)硬件准备:Raspberry Pi Zero W(以下简称RPI),RPI电源线,SD卡,SD卡读卡器,笔记本电脑,无线路由器(电脑和RPI处于同一wifi网络下即可)。(2)软件准备:Raspbrain系统镜像文件,SDFormatter,Win32diskim,PuTTY。2. 步骤...

2019-03-15 10:23:41 1338

转载 Python中那些神一样的代码

我一直说Python是非常优美的语言,那到底如何个美呢,其中有一个特性就是简洁.很多果粉为啥特别喜欢苹果手机和苹果电脑,一方面确实做的漂亮,另外一个就是简洁。你想苹果手机开机关机,删软件都是一个步骤,而我们用win,关机至少3-5步,删软件更不要说了,非常麻烦.有的时候做产品不是要做加法而且要做减法,并且做到极致(有点跑题了,我们还是回到Python)我把Python里面非常有名的简洁,...

2019-01-22 13:54:17 509 1

转载 MIPS缓冲区溢出漏洞实践

这份实践来自于学习-解密路由器漏洞的笔记和总结。主要用来回顾和巩固整个过程,整个过程里面不是非常顺利,主要的问题点在于对于溢出函数的地址的确定。这个自己写的漏洞代码主要基于MIPS的编译器进行编译,通过这份基础的溢出漏洞学习,主要用来为之后在路由器的漏洞溢出实践中打好基础。下面开始review整个过程。 1. 首先我们来看看自己写的一个存在溢出漏洞的源代码#include &lt...

2019-01-21 11:28:10 568

转载 路由器漏洞复现终极奥义——基于MIPS的shellcode编写

前言今天我们来聊聊如何在MIPS架构中编写shellcode。在前面的两篇文章中,我们分别介绍了基于MIPS的缓冲区溢出实践,以及进一步的如何利用学到的溢出知识复现与验证路由器的漏洞。但是在上文的路由器漏洞利用的例子里面,我们需要有一个前置条件,即含有漏洞的程序必须导入了系统的库函数,我们才能方便的验证,然而这个条件并不是时刻有效的。因此,在本文中,我们介绍路由器漏洞复现的终极奥义——基于MI...

2019-01-21 10:48:16 1226 2

转载 路由器漏洞挖掘之栈溢出入门

前言MIPS 指令集主要使用在一些嵌入式的 IOT 设备中,比如路由器,摄像头。要对这些设备进行二进制的漏洞挖掘就需要有对 MIPS 有一定的熟悉。MIPS 指令集的栈溢出与 x86 指令集的有所不同,所以漏洞的利用方式也不太相同,但是溢出的思路是一样的:覆盖返回地址、劫持程序控制流、构造 ROP chain 、写 shellcode 等等。本文介绍一下最基本的 MIPS 指令集下的栈溢出的利...

2019-01-21 10:47:14 994 1

转载 C#异步【下】

上篇主要分析了async\await之前的一些异步模式,今天说异步的主要是指C#5的async\await异步。在此为了方便的表述,我们称async\await之前的异步为“旧异步”,async\await为“新异步”。新异步的使用只能说新异步的使用太简单(如果仅仅只是说使用)方法加上async修饰符,然后使用await关键字执行异步方法,即可。对就是如此简单。像使用同步方法逻辑一样使...

2019-01-16 14:19:41 273

转载 C#异步【上】

新进阶的程序员可能对async、await用得比较多,却对之前的异步了解甚少。本人就是此类,因此打算回顾学习下异步的进化史。 本文主要是回顾async异步模式之前的异步,下篇文章再来重点分析async异步模式。APMAPM 异步编程模型,Asynchronous Programming Model早在C#1的时候就有了APM。虽然不是很熟悉,但是多少还是见过的。就是那些类是Begi...

2019-01-16 13:49:48 201

转载 抽象类 VS 接口

首先介绍什么是抽象类?抽象类用关键字abstract修饰的类就是叫抽象类,抽象类天生的作用就是被继承的,所以不能实例化,只能被继承。而且 abstract 关键字不能和sealed一起使用,因为sealed是不允许继承,这样就是抽象类的意义冲突了。public abstract class Test { }  现在我们知道知道了抽象类长的什么样了,下面要知道抽象类是干嘛用的。顾...

2019-01-15 14:55:10 163

转载 反射(几种写法、好处和弊端、利用反射实现IOC)

一. 加载dll,读取相关信息1. 加载程序集的三种方式 调用Assembly类下的三个方法:Load、LoadFile、LoadFrom。//1.1 Load方法:动态默认加载当前路径下的(bin)下的dll文件,不需要后缀Assembly assembly = Assembly.Load("DB.SQLServer"); //1.2 LoadFile方法:程序集的绝对路径 ...

2019-01-15 14:22:38 3393 1

转载 C# Winform开发以及控件开发的需要注意的----都是基础常识

一、 经常会有人抱怨Winform界面闪烁,下面有几个方法可以尽可能的避免出现闪烁1.控件的使用尽量以纯色为主,尽量不使用背景图,或者把大图改成小图,或者图片不缩放绘制,或者直接用不透明的纯色背景色(Winform控件透明是伪透明,是通过截取父容器背景来实现的,所以效率比较低,而且有时候会有延迟。而且多个透明控件叠加的时候不能分层显示出各个控件的透明效果)2.自定义控件中使用双缓冲。3...

2019-01-14 16:24:22 343 1

转载 C# 程序异常关闭时的捕获

本文主要以一个简单的小例子,描述C# Winform程序异常关闭时,如何进行捕获,并记录日志。概述有时在界面的事件中,明明有try... catch 进行捕获异常,但是还是会有异常关闭的情况,所以在程序中如何最终的记录一些无法捕获的异常,会大大方便问题的定位分析及程序优化。涉及知识点以下两个异常事件,主要应用不同的场景。Application.ThreadException 在...

2019-01-14 16:11:25 1253

转载 C# 2进制、8进制、10进制、16进制...各种进制间的转换(三) 数值运算和位运算

一、数值运算  各进制的数值计算很简单,把各进制数转换成 十进制数进行计算,然后再转换成原类型即可。举例 :二进制之间的加法 /// &lt;summary&gt; /// 二进制之间的加法 /// &lt;/summary&gt; /// &lt;param name="x"&gt;&lt;/param&gt; ...

2019-01-14 16:02:26 1508

转载 C# 2进制、8进制、10进制、16进制...各种进制间的转换(二)搜集的各种转换及方法

/// &lt;summary&gt; /// 十进制转换为二进制 /// &lt;/summary&gt; /// &lt;param name="x"&gt;&lt;/param&gt; /// &lt;returns&gt;&lt;/returns&gt; public static string DecT

2019-01-14 16:01:48 202

转载 C# 2进制、8进制、10进制、16进制...各种进制间的转换(一) convert 类中的方法

常见的进制方式,主要有二进制,八进制,十进制和十六进制,通用的转换方式是把非十进制的数据类型转换成十进制的,然后再转换成其他类型。   在.NET Framework中,System.Convert 类中提供了较为全面的各种类型、数值之间的转换功能。其中的两个方法可以轻松的实现各种进制的数值间的转换 一 、Convert 类中的转换方法  1、Convert.ToInt32...

2019-01-14 16:00:26 3489 1

转载 委托入门案例

我本人对于委托最多的使用就是子线程调用主线程的控件的使用。可能使用winform或者wpf的人接触的多一点。这里最主要还是给大家看看委托的案例吧delegate void showMsg(string Msg);showMsg s;第一种委托的方法s+=func;s("aaa");第二种委托方法 s=new showMsg(func);s("aaa");pub...

2019-01-14 15:55:30 100

转载 c# 反射应用之工厂

        反射是.net的核心功能,十分的强大。但是好像微软封装的太过了,作为程序员,在实际项目中我很少用到反射(估计是参加的大型项目太少了,需要交互第三方的项目太少了)。工厂模式是软件设计模式中重要的一种,在面向接口编程中,怎么把接口与实现接口的类进行关联而不是在程序中直接使用SupportLaw.Dal.Dic_Table dal = new SupportLaw.Dal.Di...

2019-01-14 12:24:35 247 1

转载 浅析C# 中object sender与EventArgs e

一、了解C#中的预定义事件处理机制在写代码前我们先来熟悉.net框架中和事件有关的类和委托,了解C#中预定义事件的处理。EventArgs是包含事件数据的类的基类,用于传递事件的细节。EventHandler是一个委托声明如下public delegate void EventHandler( object sender , EventArgs e )注意这里的参数,前者是一...

2019-01-04 09:48:06 4315

转载 浅谈C# Socket编程及C#如何使用多线程

建议初学C# socket的菜鸟朋友不要使用TcpListenner, TcpClient这些MS封装好的类库, 这些封装好的类用起来的确方便, 但你用完了你又学到了什么了? 那该用什么了, 只用Socket这一个类. 不错,这样会麻烦点的,但是, 在C#里面, 就连Socket, MS都进行了一翻封装,使得Socket使用起来也是十分的简单, 我刚学的时候写过一个很菜的TCP聊天程序, 两人...

2012-12-04 15:45:20 1032

转载 故障排除:xp无法访问局域网内工作组计算机+查找打印机出现目录服务不可用

出现:xp无法访问局域网内工作组计算机+查找打印机出现目录服务不可用+计算机网络ID呈灰色,无法更改工作组名称经过网络搜索:1,首先排除gpedit.msc里面rpc禁用的问题,然后管理--服务--拒绝从网络访问本机的名单中删除guest启用guest用户2,对本地连接-属性--安装netbios 安装Microsoft网络客户端 安装NetWare客户端3,更改工作组名称到合适的名称...

2012-11-30 10:13:27 1572

转载 控制TextBox只能输入数字

当界面上要用户输入只有数字的字符时,默认的Textbox是不能胜任的,网上有很多网友们提供了很多的做法,我总结了一下写了一个在C#下的实现,做到了如下的几点:1:只能输入类似这样的字符:-123456.789;1234.789;2:在输入的字符串中不能存在两个点符:12456.78//正确;12.456.78//不正确;3:如果表示负数可以在字符串的最前面加一个减号“-”,也只能加到弟一个字...

2012-11-30 10:10:37 589

McAfee VirusScan Enterprise 8.8.0.2114.rar

迈克菲McafeeVirusScan Enterprise企业版 win10 server2019都可以安装,选择中文安装

2020-09-07

Win64OpenSSL_Light-1_1_0k.exe

官网太慢,我这快的很 OpenSSL Installation Project is dedicated to providing a simple installation of OpenSSL for Microsoft Windows. It is easy to set up and easy to use through the simple, effective installer. No need to compile anything or jump through any hoops, just click a few times and it is installed, leaving you to doing real work. Download it today! Note that these are default builds of OpenSSL and subject to local and state laws. More information can be found in the legal agreement of the installation.

2019-08-08

sqlitestudio3.2.1最新版

最好用最简洁的sqlite可视化工具,没有之一,- 比起其它SQLite管理工具,我喜欢用这个。很方便易用,支持中文

2018-11-12

c#.net设计模式大全

大量设计模式(c#),设计模式大全,保证新鲜

2008-10-19

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

TA关注的人

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