- 博客(84)
- 资源 (5)
- 收藏
- 关注
原创 逆向学习:crack me之Acid burn.exe
尝试验证serial,出现弹窗时,选择暂停程序观察调用堆栈,以定位调用处分析调用处相关逻辑,以获得serial.
2024-11-30 11:26:16
568
原创 DirectX修复助手
DLL文件对Windows系统至关重要,出现问题时会影响软件运行和系统稳定性。通过DirectX修复助手或Wise Registry Cleaner,可以快速修复DLL相关问题,提升电脑性能,确保系统稳定运行。选择合适的修复工具,可以简化故障排除过程,让电脑重新运转正常。
2024-09-23 17:42:53
2206
1
原创 webView2 隐藏滚动条
查看该链接内容,得知其主要是通过css修改body的overflow 属性为:hide.这种方式隐藏滚动条,保留滚动功能。
2024-09-23 14:22:22
623
原创 webview2加载本地页面
推荐使用这种方式,加载速度比WebResourceRequested快(实测的确是快点),但是需要支持:ICoreWebView2_3。个人测试加载html字符串,对于html中引入了css和js,加载不太友好。这种方式是通过截获网络请求,然后返回需要的数据。以达到成功请求的假象。
2024-09-23 13:36:11
1622
原创 cef localstorage 存储问题
一次使用cef 发现localstorage 只在当次运行期间有效,程序重新启动,使用localstorage 加载时,无法加载数据。
2024-09-23 13:11:42
433
原创 QT链接库设置
改完.pro 文件后,执行清除->qmake->重新构建即可重新生成。因为如果没有执行这个步骤,可能QT Creator 不会以最新得文件生成目标。LIBS += -L<库目录路径> -l<库得名字>INCLUDEPATH += <头文件路径>DEPENDPATH += <头文件路径>3 设置MT、MTD、MD、MDD运行时库。DEFINES += <自定义宏>
2023-05-30 13:12:06
1215
原创 windows edit控件设置背景颜色和文本颜色
在父窗口中响应:WM_CTLCOLOREDIT消息,{…HWND edit = GetDlgItem(ID_EDIT); //获取edit 的句柄if(edit == (HWND)lParam ){HDC hdc = (HDC)wParam;CDC dc(hdc);dc.SetTextColor(0x888888); //设置文本色bHandled = TRUE;dc.Detach();return 0; //返回句柄画刷时,背景颜色变为对应的背景颜色}...
2022-01-12 20:41:18
777
原创 gdi+在分层窗口输出文字时,会出现透明的洞。
日前遇到一个问题,在分层窗口上使用gdi+ 绘制文本的时候,在绘制的文字区域,文字产生了透明的洞,鼠标会穿透。通过现象分析,应该是文字区域的透明度直接干成了0,所以产生了一个洞。因为分层窗口透明度为0的地方直接会穿透,所以鼠标也会穿透。解决方法:1 将要绘制的文本先绘制在内存位图上2 位图的句柄选入到内存dc上3 使用AlphaBlend 将内存dc 上的图绘制到窗口上。如果绘制结果在边缘出现了杂色,那么需要在调用AlphaBlend函数前进行预乘处理。预乘大概算法如下:for(int i
2022-01-08 17:32:48
580
原创 通过类名和窗口名查找指定窗口
通过类名和窗口名查找指定窗口BOOL CALLBACK MyEnumProc(HWND hwnd, LPARAM lParam);class CFindHWND{public: CFindHWND(); ~CFindHWND(); HWND FindWindow(HWND parent, CString wnd_class, CString wnd_name); BOOL EnumProc(HWND, LPARAM);protected: BOOL IsEqual(HWND h
2021-12-24 19:55:27
1104
原创 c++ 标准库分割字符串
void Split(std::string str, char delim, std::vector<std::string>& vec) { std::istringstream is(str); std::string tmp; while (std::getline(is, tmp, delim)) { vec.push_back(tmp); }}void TestStringSplit() { std::vector<std::strin
2021-11-27 19:13:46
708
原创 c++标准库获取随机数
void TestDefaultRandom() { std::default_random_engine engine(time(NULL)); std::uniform_int_distribution distribution(1, 10); std::cout << distribution(engine) << std::endl; //生成1-10(包含1、10)的随机数}void TestLiner_random() { s
2021-11-27 15:37:48
529
原创 c++ 标准库格式化时间戳(既将时间戳转字符串,字符串转时间戳)
//时间戳转字符串std::string Time_t2String(__time64_t stamp) { tm* stamp_tm = localtime(&stamp); std::ostringstream os; os << std::put_time(stamp_tm, "%Y:%m:%d %H:%M:%S"); return os.str();}//字符串转时间戳__time64_t String2Time_t(std::string time_
2021-11-23 02:06:59
2721
原创 vs调试参考
vs调试技巧参见:https://www.cnblogs.com/lazycoding/archive/2012/10/03/2710738.html
2021-10-13 17:05:10
76
原创 c# BinaryFormatter 更换了命名空间反序列化遇到的问题
解决方案:sealed class AllowAllAssemblyVersionsDeserializationBinder : System.Runtime.Serialization.SerializationBinder { public override Type BindToType(string assemblyName, string typeName) { Type typeToDeseria
2021-09-24 00:08:48
1582
3
原创 基数排序算法LSD实现
基数排序算法的实质是用的分类的方式。LSD 按低位开始分类,其实在按各位进行分类的时候就已经注定了 相同位数的数的相对大小关系了。lsd实现如下:#include <iostream>#include <windows.h>#include <algorithm>#include <cmath>int GetMaxValue(int* array, int length){ int maxValue = array[0]; for
2021-07-14 19:28:39
524
原创 堆排序算法得实现
堆排序算法得核心思想是:1 将待排序序列构造成堆得形式2 每次将堆顶和末尾空间交换值,然后再重新调整被破坏得堆结构。大致实现步骤:1 先从最后的非叶子节点开始构建最小得堆,然后再从下向上构建整个堆结构2 交换并调整堆结构代码实现如下:void Swap(int* param1, int* param2){ int tmpValue = *param1; *param1 = *param2; *param2 = tmpValue;}//将子树构造成堆void ChildTr
2021-07-14 15:09:27
256
原创 计数算法排序实现
计数排序的核心思想是:1 以待排序的数作为count序列的下标,以该下标出现的次数作为值。2 线性的检测count序列的不为0的项,将此项的值 放在result序列的当前index下标项中,count序列中该计数减一。代码实现如下:int GetMaxValue(int* array,int length){ int maxValue = array[0]; for(int i =1;i < length;i++) { i
2021-07-13 18:47:18
164
原创 快速排序的实现
快速排序的核心思路是:1 找一个基本的数,做到每次排序时,基数左边的数都比基本数小,基数右边的数都比基本数大。依次再对左右序列重复此操作。具体操作步骤大致如下:1)设置两个变量I、J,排序开始的时候I:=1,J:=N;2)以第一个数组元素作为关键数据,赋值给X,即X:=A[1];3)从J开始向前搜索,即由后开始向前搜索(J:=J-1),找到第一个小于X的值,两者交换;4)从I开始向后搜索,即由前开始向后搜索(I:=I+1),找到第一个大于X的值,两者交换;5)重复第3、4步,直到I=J;代码
2021-07-13 13:49:53
241
原创 归并算法实现
归并算法得核心思路是:1将一个序列一直对半分,直到序列得个数为12合并相邻得两个有序序列实现得方式是采用递归得方式。具体实现如下:void MergeSort(int* array,int length){ if(array != NULL && length > 0) { if(length == 1) { //递归结束条件 return; }
2021-07-12 17:15:28
227
原创 希尔排序算法实现
希尔算法的核心思想是:将一组数据划分为多个组分别进行插入排序。希尔排序提出了一个增量的概念,以间隔一定值进行分组,这个一定值就是 增量通常增量的值采用上一次的增量值除以2,第一次为n/2(n为数组个数)譬如:{12,54,22,11,8,10,7,8,58,3}第一次增量为n/2,这里n 为10 所以增量为10/2=5所以第一次分组后:下标关系为:{0,5}{1,6}{2,7}{3,8}{4,9}即:{12,10}{54,7}{22,8}{11,58}{8,3}第二次
2021-07-12 15:40:42
861
原创 插入排序算法
插入排序的核心思想是:1 向一个已有序的队列中插入数据,n个数,那么只需要插入n-1次实现如下:将第一个数看作一个自然有序的队列.#include <iostream>#include <algorithm>using namespace std;void InsertSoft(int* a,int length){ if(a != NULL && length > 0) { for(int i = 1;i &l
2021-07-06 22:53:11
212
2
VA_X_Setup2358_0.rar
2020-02-21
duilib_include_duiDesigner.zip
2020-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人