随笔分类 -  windows

摘要:调用微软接口可以对qos level进行设置,demo如下: #include <iostream> #include <windows.h> #include <processthreadsapi.h> #include <TlHelp32.h> // 头文件 using namespace st 阅读全文
posted @ 2022-05-17 17:16 mooooonlight 阅读(1037) 评论(0) 推荐(0) 编辑
摘要:观察进程在不同核上运行分布 windows线程切换在内核的ETW跟踪中可以找到,provider名字为Windows Kernel Trace,默认会有一个名为NT Kernel Logger日志收集器采集这部分数据, 我们也可以重新创建一个日志收集器用于采集内核ETW事件。具体见下文。 本次实践目 阅读全文
posted @ 2022-01-26 14:34 mooooonlight 阅读(938) 评论(0) 推荐(0) 编辑
摘要:工具下载归档 应用 类型 下载网址 visual studio 编程 https://visualstudio.microsoft.com/zh-hans/社区版vs2022: https://visualstudio.microsoft.com/zh-hans/thank-you-download 阅读全文
posted @ 2021-12-29 23:44 mooooonlight 阅读(152) 评论(0) 推荐(0) 编辑
摘要:第五章 观察资源使用 之前的章节中,我们已经向您展示了如何识别几种感兴趣区域的重要的类型,进程生命周期,窗口焦点,和UIdelay。我们也通过打开一个大于500MB文件出现未响应的实例向您演示了如何分析这这3种类型。 基于问题区域的资源占用 在这个章节中我们将继续通过记事本无响应的实例进行调查,这次 阅读全文
posted @ 2021-10-29 23:45 mooooonlight 阅读(674) 评论(6) 推荐(0) 编辑
摘要:在第2章中,我们介绍了一些可以用来监视和/或分析系统性能的内置工具。 我们还回顾了Windows的性能计数器(PCW)和Windows的事件跟踪(ETW)之间的区别,并学习了如何使用这两种技术收集性能日志(即Trace)。 最后,我们得出结论,ETW更适合于定位复杂的性能问题,而PCW在监控长时间活 阅读全文
posted @ 2021-10-29 23:36 mooooonlight 阅读(608) 评论(6) 推荐(1) 编辑
摘要:转载自 https://opnir.cn/2019/07/run-windows-program-as-system-account.html 在 Windows 操作系统中,一般情况下用户不需要使用 SYSTEM 用户及其权限,Administrators 管理员权限足以应对绝大部分操作。但是,总 阅读全文
posted @ 2021-05-19 22:04 mooooonlight 阅读(2070) 评论(0) 推荐(0) 编辑
摘要:代码样例 void ShowProcName(uint32_t pid) { char tempProcName[MAX_PATH] = { 0 }; //必须具有的权限 HANDLE processHandle = OpenProcess(PROCESS_QUERY_INFORMATION | P 阅读全文
posted @ 2021-03-06 17:03 mooooonlight 阅读(3075) 评论(0) 推荐(0) 编辑
摘要:概述 通过FindWindow可以找到对应的窗口句柄,然后通过ShowWindow可以最小化最大化窗口 样例 查找一个记事本应用,如果找到则循环对其执行最大化、最小化操作 #include <iostream> #include <chrono> #include <thread> #include 阅读全文
posted @ 2020-12-21 15:13 mooooonlight 阅读(970) 评论(0) 推荐(0) 编辑
摘要:解决方法 在出错的文件头部添加该宏定义, 详细原因可以查看windows.h对该宏的使用即可。 #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #include <windows.h> xxx 阅读全文
posted @ 2020-11-27 21:37 mooooonlight 阅读(333) 评论(0) 推荐(0) 编辑
摘要:背景 在本地编译管家软件,所有的二进制文件是没有数字签名的,那么写了签名校验的代码如何进行验证呢? 两种方法: 通过配置工程对联调分支出Release版本的包 自己生成一个测试证书对二进制进行签名,然后验证签名校验的代码是否符合预期 做法 # 1. 创建自签名证书, 这里生成一个GCY.cer的证书 阅读全文
posted @ 2020-11-25 10:43 mooooonlight 阅读(509) 评论(0) 推荐(0) 编辑
摘要:WinVerifyTrust、CruptQueryObject两种方法的比较 A word of warning: it's worse than you already thought. 警告一句:情况比你想象的还要糟糕。 At least since introducing SHA-256 si 阅读全文
posted @ 2020-11-25 10:41 mooooonlight 阅读(2439) 评论(0) 推荐(0) 编辑
摘要:winver.h API解析 详见https://docs.microsoft.com/en-us/windows/win32/menurc/version-information 接口说明 GetFileVersionInfoSize(A/W) 获取一个二进制文件的版本号信息的大小, 必须先调用该 阅读全文
posted @ 2020-11-10 17:46 mooooonlight 阅读(626) 评论(0) 推荐(0) 编辑
摘要:“__readfsdword”: 找不到标识符 的可能原因排查 阅读全文
posted @ 2020-11-10 16:42 mooooonlight 阅读(3141) 评论(0) 推荐(0) 编辑
摘要:windows 根据线程句柄/id判断线程是否已经被杀死 阅读全文
posted @ 2020-10-09 22:37 mooooonlight 阅读(1073) 评论(0) 推荐(0) 编辑
摘要:对windows窗口程序调试时,如果没有或不能用log4cplus之类的日志打印的情况下,可以使用DebugView工具进行日志打印辅助调试 阅读全文
posted @ 2020-10-09 21:55 mooooonlight 阅读(428) 评论(0) 推荐(0) 编辑
摘要:1. 如果是通过c++ 11的`thread`创建的线程对象,那么杀掉它维护的线程时,不要再让该thread对象析构,否则必定crash 2. 如果该线程正持有锁、信号量等临界区资源,杀掉该线程会导致其他使用临界区资源的线程卡死,从API说明的注意事项以及实测来看,加锁、内存申请、日志打印(会加文件锁)等都可能会出现问题,因此一定要谨慎使用该接口。 个人认为,只有在当前出现BUG已经卡死的情况下,可以尝试使用该接口快速卸载DLL或退出进程,避免卡死。 阅读全文
posted @ 2020-10-07 17:44 mooooonlight 阅读(573) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示