
Windows
Frozen2022
这个作者很懒,什么都没留下…
展开
-
visual studio编译报错“常量中有换行符”等字符串中的错误
2、在文件中加入文件编码的编译指令。1、确定报错相关文件编码。原创 2023-01-10 18:12:05 · 803 阅读 · 1 评论 -
spin lock和mutex使用场景的差异
现代操作系统的做法,多核的环境中,在实现mutex时,如果lock操作后,进行短暂的轮询(spin lock),超过这段时间后,使用传统的mutex阻塞(加入挂起队列)。如果程序可预测的阻塞的时间较短,可以主动使用spin lock。在单核CPU下,spin lock没有意义,只会影响正常线程响应;使用mutex虽然会在“挂起”和“运行”两个队列间切换,但提高了系统整体的响应比。多核CPU下,spin lock在多个和核心上的轮询时间是可以忽略的,使用spin lock避免了因为队列切换导致的时间消耗。..原创 2022-07-29 09:18:02 · 376 阅读 · 0 评论 -
使用cef_sandbox.lib链接时报错:_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”
解决方案:在预处理器的宏定义处加入:_HAS_ITERATOR_DEBUGGING=0关于的介绍请参考:微软MSDN在"安全库:C++ 标准库"中的相关介绍:_ITERATOR_DEBUG_LEVEL | Microsoft Docs详细了解:_ITERATOR_DEBUG_LEVELhttps://docs.microsoft.com/zh-cn/cpp/standard-library/iterator-debug-level?view=msvc-170...原创 2022-04-11 12:15:24 · 620 阅读 · 0 评论 -
只读大文件映射读写内存
对于大的只读文件(如光盘文件):CreateFile(...,GENERIC_READ,...);在进行解密校验等需要的操作时时,为了效率最佳(不拷贝一个临时的可读写文件)。需要创建一个可读写的文件内存映射:CreateFileMapping(...,PAGE_WRITECOPY,...);再获取内存:MapViewOfFile(...,FILE_MAP_COPY,...);此时创建的内存可进行读写!...原创 2021-05-04 11:23:27 · 305 阅读 · 0 评论 -
Windows取消“只允许特定程序运行”
1、进入“带命令行的安全模式”。(考虑到F8不一定生效建议直接断点,再启动即可出现选项)2、在命令提示符下运行mmc.exe。 ·在打开的“控制台”窗口中,依次单击“ ·文件→添加/删除管理单元→添加→组策略xxx→添加→完成→关闭→确定”,3、在mmc.exe中出现 “本地计算机策略--用户配置---系统”4、选择5、重新选择“未配置”。点击确定。6、重启电脑,正常模式进入系统即可...原创 2021-04-08 11:41:35 · 5174 阅读 · 0 评论 -
ShellExecute API详解。通过在资源管理器(explorer)中打开文件夹和在默认浏览器中打开url链接等
使用样例:#include <Windows.h>#include <shellapi.h>#pragma comment(lib,"Shell32.lib")void test(){ //ShellExecute是内部是通过使用Windows Shell提供的COM接口实现的,必须初始化COM CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE); // 使用wi原创 2020-05-16 13:00:40 · 1806 阅读 · 0 评论 -
nvidia 显卡 2020 03-04版本 video_tdr_failure在windows下反复蓝屏
此故障出现的情况:进行3D环境初始化时,初始的分辨率与系统不同。如系统的环境位1920x1080,3d图形初始化为1366x768就会大概率造成蓝屏。想用1366x768分辨率,请切换至集成显卡或设置分辨率为1366x768后重启电脑。...原创 2020-04-19 09:21:35 · 8623 阅读 · 1 评论 -
OutputDebugString不在DebugView中显示
此函数的功能:发送一个字符串到当前应用程序的调试器中。因此,它不输出有以下几种情况:1、当前的应用程序已经有调试器了,比如在Visual Studio中运行的程序,Vistual Studio时调试器,此时输出在Output窗口。2、不通过Visual Studio 运行的程序,DebugView的Computer菜单下要选择Local,同时Capture菜单下要选择启用捕获。...原创 2020-03-30 11:27:25 · 2566 阅读 · 0 评论 -
win gdi 绘制文本颜色与背景色反色
1、先将文本转换为路径2、填充路径时,使用光栅操作颜色取反。随便找个图测试一下:代码: // 颜色取反 int nOldROP2 = dc.SetROP2(R2_NOT); ASSERT(0 != nOldROP2); int nOldBkMode = dc.SetBkMode(TRANSPARENT); // 路径 VERIFY(dc.Begin...原创 2020-03-05 11:57:51 · 1288 阅读 · 0 评论 -
制作Windows游戏外挂几个有用的函数
除了很熟悉的跨进程注入(远程注入)等技术外。记录一些其它的小函数。1、mouse_event/key_event ( SendInput ) 按键/鼠标模拟(鼠标/键盘按键精灵)、void mouse_event( DWORD dwFlags, //具体的按键动作,如:左键、右键等。 DWORD dx, // x坐标 DWORD dy...原创 2020-01-05 17:38:15 · 1050 阅读 · 0 评论 -
STM_SETIMAGE 消息或CStatic::SetBitmap(HBITMAP hBitmap)导致的GDI资源泄露
STM_SETIMAGE或CStatic::SetBitmap(HBITMAP hBitmap)返回的是先前的资源句柄,同时深拷贝一份当前的(参数传入的)资源句柄。解决:win32HBITMAP hOldBmp = (HBITMAP)::SendMessage(m_hWnd, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)hBitmap);if( NULL...原创 2019-12-27 10:55:22 · 664 阅读 · 1 评论 -
逼近Windows限制:单个进程最大线&系统最大进程
首先讨论线程限制,因为每个活动进程至少有一个线程(终止的进程,但是由另一个进程拥有的句柄保持引用),所以进程的限制直接受到限制线程的上限的影响。 与一些UNIX变体不同,Windows中的大多数资源没有编译到操作系统中的固定上限,而是根据我已经介绍过的基本操作系统资源来推测它们的临界值。例如,进程和线程需要物理内存,虚拟内存,内存池。所以可以创建的进程或线程的数量,...翻译 2019-07-02 23:37:35 · 8309 阅读 · 0 评论