- 博客(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 1775
原创 使用 playwright 代码生成忽略 SSL 错误
在使用playwright时访问有些网站出现证书相关问题,codegen启动就闪退。编写代码中可以加入以下代码。
2023-07-17 14:52:57 752
原创 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 883 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 852
原创 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 1511
原创 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 245
原创 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 1309
转载 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 304
转载 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 341
转载 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 5902
转载 【Notepad++】用 Notepad++ 编译 C/C++
一. 前情 想找Notepad++运行命令的可以直接跳到最后。 平时用的 IDE(集成开发环境)是 Dev-Cpp,因为只是学习阶段,代码还上不了千行,个人认为不需要 VS 那种高大全,VC6.0 又有些地方(不只是审美)不顺眼。 但最近又发现当把 C++ 代码文件复制到 Ubuntu 18.04 编译运行时,汉字部分总会乱码,因为encoding(字符编码)的问题,Ubuntu的终...
2019-10-22 15:31:25 1340
原创 扫描指定目录以及子目录下的所有文件并打印绝对路径
void scan_dir(char *dir) // 定义目录扫描函数 { DIR *dp; // 定义子目录流指针 struct dirent *entry; // 定义dirent结构指针保存后续目录 struct stat statbuf; // 定义statbuf结构保存文件属性 c...
2019-05-16 15:51:46 898
转载 VS2017远程调试
首先去VS安装目录找到Remote Debugger目录(在安装目录的Common7\IDE里面,下图目录是因为我把VS2017安装在F:/Microsoft Visual Studio 2017):将Remote Debugger文件夹扔进虚拟机。然后在虚拟机中进入对应版本(X86或X64)的文件夹,运行msvsmon.exe第一次运行会出现配置窗口:肯定是选择配置远程调试...
2019-05-16 15:35:21 1077
转载 使用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 312
转载 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 374
原创 对大容量存储内核驱动改写初试!
、2)执行命令: KERNEL=kernel7(3)执行命令:make modules dtbs编译完成后读卡器把树莓派内存卡插入连接到虚拟机编译好的usb_f_mass_storage.ko 拷贝到树莓派 /media/python/rootfs/lib/modu............
2019-04-22 10:17:17 237
转载 简单的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 1076
转载 使用dd命令快速生成大文件或者小文件的方法
使用dd命令快速生成大文件或者小文件的方法 在程序的测试中有些场景需要大量的小文件或者几个比较大的文件,而在我们的文件系统里一时无法找到那么多或者那么大的文件,此时linux的dd命令就能快速的帮助你完成想要的文件。具体用法简单总结如下:1. dd命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000...
2019-04-16 09:41:03 1288
转载 Linux探秘之用户态与内核态
一、Unix/Linux的体系架构 如上图所示,从宏观上来看,Linux操作系统的体系架构分为用户态和内核态(或者用户空间和内核)。内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境。用户态即上层应用程序的活动空间,应用程序的执行必须依托于内核提供的资源,包括CP...
2019-03-15 14:50:07 92
原创 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 2753 1
原创 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 1415
转载 Python中那些神一样的代码
我一直说Python是非常优美的语言,那到底如何个美呢,其中有一个特性就是简洁.很多果粉为啥特别喜欢苹果手机和苹果电脑,一方面确实做的漂亮,另外一个就是简洁。你想苹果手机开机关机,删软件都是一个步骤,而我们用win,关机至少3-5步,删软件更不要说了,非常麻烦.有的时候做产品不是要做加法而且要做减法,并且做到极致(有点跑题了,我们还是回到Python)我把Python里面非常有名的简洁,...
2019-01-22 13:54:17 538 1
转载 MIPS缓冲区溢出漏洞实践
这份实践来自于学习-解密路由器漏洞的笔记和总结。主要用来回顾和巩固整个过程,整个过程里面不是非常顺利,主要的问题点在于对于溢出函数的地址的确定。这个自己写的漏洞代码主要基于MIPS的编译器进行编译,通过这份基础的溢出漏洞学习,主要用来为之后在路由器的漏洞溢出实践中打好基础。下面开始review整个过程。 1. 首先我们来看看自己写的一个存在溢出漏洞的源代码#include <...
2019-01-21 11:28:10 588
转载 路由器漏洞复现终极奥义——基于MIPS的shellcode编写
前言今天我们来聊聊如何在MIPS架构中编写shellcode。在前面的两篇文章中,我们分别介绍了基于MIPS的缓冲区溢出实践,以及进一步的如何利用学到的溢出知识复现与验证路由器的漏洞。但是在上文的路由器漏洞利用的例子里面,我们需要有一个前置条件,即含有漏洞的程序必须导入了系统的库函数,我们才能方便的验证,然而这个条件并不是时刻有效的。因此,在本文中,我们介绍路由器漏洞复现的终极奥义——基于MI...
2019-01-21 10:48:16 1269 2
转载 路由器漏洞挖掘之栈溢出入门
前言MIPS 指令集主要使用在一些嵌入式的 IOT 设备中,比如路由器,摄像头。要对这些设备进行二进制的漏洞挖掘就需要有对 MIPS 有一定的熟悉。MIPS 指令集的栈溢出与 x86 指令集的有所不同,所以漏洞的利用方式也不太相同,但是溢出的思路是一样的:覆盖返回地址、劫持程序控制流、构造 ROP chain 、写 shellcode 等等。本文介绍一下最基本的 MIPS 指令集下的栈溢出的利...
2019-01-21 10:47:14 1064 1
转载 C#异步【下】
上篇主要分析了async\await之前的一些异步模式,今天说异步的主要是指C#5的async\await异步。在此为了方便的表述,我们称async\await之前的异步为“旧异步”,async\await为“新异步”。新异步的使用只能说新异步的使用太简单(如果仅仅只是说使用)方法加上async修饰符,然后使用await关键字执行异步方法,即可。对就是如此简单。像使用同步方法逻辑一样使...
2019-01-16 14:19:41 307
转载 C#异步【上】
新进阶的程序员可能对async、await用得比较多,却对之前的异步了解甚少。本人就是此类,因此打算回顾学习下异步的进化史。 本文主要是回顾async异步模式之前的异步,下篇文章再来重点分析async异步模式。APMAPM 异步编程模型,Asynchronous Programming Model早在C#1的时候就有了APM。虽然不是很熟悉,但是多少还是见过的。就是那些类是Begi...
2019-01-16 13:49:48 239
转载 抽象类 VS 接口
首先介绍什么是抽象类?抽象类用关键字abstract修饰的类就是叫抽象类,抽象类天生的作用就是被继承的,所以不能实例化,只能被继承。而且 abstract 关键字不能和sealed一起使用,因为sealed是不允许继承,这样就是抽象类的意义冲突了。public abstract class Test { } 现在我们知道知道了抽象类长的什么样了,下面要知道抽象类是干嘛用的。顾...
2019-01-15 14:55:10 174
转载 反射(几种写法、好处和弊端、利用反射实现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 3423 1
转载 C# Winform开发以及控件开发的需要注意的----都是基础常识
一、 经常会有人抱怨Winform界面闪烁,下面有几个方法可以尽可能的避免出现闪烁1.控件的使用尽量以纯色为主,尽量不使用背景图,或者把大图改成小图,或者图片不缩放绘制,或者直接用不透明的纯色背景色(Winform控件透明是伪透明,是通过截取父容器背景来实现的,所以效率比较低,而且有时候会有延迟。而且多个透明控件叠加的时候不能分层显示出各个控件的透明效果)2.自定义控件中使用双缓冲。3...
2019-01-14 16:24:22 385 1
转载 C# 程序异常关闭时的捕获
本文主要以一个简单的小例子,描述C# Winform程序异常关闭时,如何进行捕获,并记录日志。概述有时在界面的事件中,明明有try... catch 进行捕获异常,但是还是会有异常关闭的情况,所以在程序中如何最终的记录一些无法捕获的异常,会大大方便问题的定位分析及程序优化。涉及知识点以下两个异常事件,主要应用不同的场景。Application.ThreadException 在...
2019-01-14 16:11:25 1412
转载 C# 2进制、8进制、10进制、16进制...各种进制间的转换(三) 数值运算和位运算
一、数值运算 各进制的数值计算很简单,把各进制数转换成 十进制数进行计算,然后再转换成原类型即可。举例 :二进制之间的加法 /// <summary> /// 二进制之间的加法 /// </summary> /// <param name="x"></param> ...
2019-01-14 16:02:26 1541
转载 C# 2进制、8进制、10进制、16进制...各种进制间的转换(二)搜集的各种转换及方法
/// <summary> /// 十进制转换为二进制 /// </summary> /// <param name="x"></param> /// <returns></returns> public static string DecT
2019-01-14 16:01:48 208
转载 C# 2进制、8进制、10进制、16进制...各种进制间的转换(一) convert 类中的方法
常见的进制方式,主要有二进制,八进制,十进制和十六进制,通用的转换方式是把非十进制的数据类型转换成十进制的,然后再转换成其他类型。 在.NET Framework中,System.Convert 类中提供了较为全面的各种类型、数值之间的转换功能。其中的两个方法可以轻松的实现各种进制的数值间的转换 一 、Convert 类中的转换方法 1、Convert.ToInt32...
2019-01-14 16:00:26 3680 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 110
转载 c# 反射应用之工厂
反射是.net的核心功能,十分的强大。但是好像微软封装的太过了,作为程序员,在实际项目中我很少用到反射(估计是参加的大型项目太少了,需要交互第三方的项目太少了)。工厂模式是软件设计模式中重要的一种,在面向接口编程中,怎么把接口与实现接口的类进行关联而不是在程序中直接使用SupportLaw.Dal.Dic_Table dal = new SupportLaw.Dal.Di...
2019-01-14 12:24:35 267 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 4389
转载 浅谈C# Socket编程及C#如何使用多线程
建议初学C# socket的菜鸟朋友不要使用TcpListenner, TcpClient这些MS封装好的类库, 这些封装好的类用起来的确方便, 但你用完了你又学到了什么了? 那该用什么了, 只用Socket这一个类. 不错,这样会麻烦点的,但是, 在C#里面, 就连Socket, MS都进行了一翻封装,使得Socket使用起来也是十分的简单, 我刚学的时候写过一个很菜的TCP聊天程序, 两人...
2012-12-04 15:45:20 1067
转载 故障排除:xp无法访问局域网内工作组计算机+查找打印机出现目录服务不可用
出现:xp无法访问局域网内工作组计算机+查找打印机出现目录服务不可用+计算机网络ID呈灰色,无法更改工作组名称经过网络搜索:1,首先排除gpedit.msc里面rpc禁用的问题,然后管理--服务--拒绝从网络访问本机的名单中删除guest启用guest用户2,对本地连接-属性--安装netbios 安装Microsoft网络客户端 安装NetWare客户端3,更改工作组名称到合适的名称...
2012-11-30 10:13:27 1591
转载 控制TextBox只能输入数字
当界面上要用户输入只有数字的字符时,默认的Textbox是不能胜任的,网上有很多网友们提供了很多的做法,我总结了一下写了一个在C#下的实现,做到了如下的几点:1:只能输入类似这样的字符:-123456.789;1234.789;2:在输入的字符串中不能存在两个点符:12456.78//正确;12.456.78//不正确;3:如果表示负数可以在字符串的最前面加一个减号“-”,也只能加到弟一个字...
2012-11-30 10:10:37 609
McAfee VirusScan Enterprise 8.8.0.2114.rar
2020-09-07
Win64OpenSSL_Light-1_1_0k.exe
2019-08-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人