
win32
Jaylon88
精通windows、Linux
精通windows虚拟串口、虚拟显卡、串口和hid过滤驱动开发、WDDM驱动、WDDM过滤驱动、XDDM显卡驱动、文件过滤驱动开发
精通视频编解码、远程视频传输。
展开
-
win32 edit控件尾部追加内容
有时候我们可能想在win32程序上实时打印我们想要的一些信息,不是以覆盖的形式而是以追加的形式。 以前我常常采用比较笨的方式,首先调用GetDlgItemText获取原先字符串,保存在一个字符数组里面,然后将字符数组追加一个字符串,再调用SetDlgItemText函数达到自己的目的了,这种方式如果要打印的文字短还比较好处理,但是当文字量达到一定程度时我们势必就要分配一个特别大的存储区域原创 2016-01-20 14:38:22 · 4487 阅读 · 0 评论 -
开发应用识别软件遇到的一些windows编程技能
(1)winmain函数的参数解析:/* 对于64位应用程序的处理,64位的SR进程只负责将64位dll注入到64位应用程序中,其他工作都由32位SR进程处理 */ LPWSTR *szArgList; int argCount; szArgList = CommandLineToArgvW(GetCommandLine(), &argCount); if (argCount != 2原创 2017-03-06 10:41:44 · 405 阅读 · 0 评论 -
windows无窗口定时器WaitableTimer使用记录
2017年做SR程序时写的一个备忘录,今天再次使用定时器,翻出来看看,记录下。自动重置的定时器,信号一到自动执行回调函数,需要用SleepEx才能执行回调函数。#include "stdafx.h"#include <windows.h>VOID CALLBACK TimerAPCProc(LPVOID lpArg, DWORD dwTimerLowValue, DWO...原创 2019-09-14 20:28:52 · 615 阅读 · 0 评论 -
windows信号量实现读写同步
windows上的线程同步提供了用户状态下的线程同步和内核状态下的线程同步,内核下的线程同步因为要涉及到内核模式和用户模式的切换,所以消耗是用户模式下的几倍,但是内核下的同步机制不仅适用于线程同步还适用于进程间同步,这是用户模式下的同步所不具备的,而且内核模式下同步在等待触发过程中是可以指定等待时间,这也是用户模式下同步所缺乏的。 这篇,我用内核模式下的同步机制实现了之前写的读写同步,使原创 2016-07-20 15:15:09 · 1792 阅读 · 0 评论 -
Windows下条件变量实现读写同步
上一篇写了个小程序,运用了下linux下条件变量实现多线程的同步,在windows上也有条件变量这个概念,只不过它是到vista之后才有支持,在linux上条件变量需要结合互斥量一起使用,Windows上的条件变量可以结合临界区或者读写锁,具体用哪个需要结合使用的场景。 如果要实现上一篇的那个程序,在Windows上我们可以这样实现:#include "stdafx.h"#incl原创 2016-07-17 15:31:27 · 4093 阅读 · 0 评论 -
windows下文件夹遍历
文件夹的操作,是我们在编程中经常遇到的问题,在linux上和windows上经常会有文件夹操作的需求,典型的例子如遍历文件夹中的所有文件,在这两个系统中文件夹操作所提供的API也有所不同。 最近我老婆向我提了一个需求,便于她管理文件夹:开发一个exe,将exe放入一个目录下,点击该exe,生成这个目录下所有文件的清单,文件夹用“【】”括起来,同时根据文件级别进行缩进。 这个需求实现起来原创 2016-05-06 11:28:52 · 2606 阅读 · 0 评论 -
cJson库的使用
用过很多次cJson库,都是比较简单的使用,而且每次用了都会忘记,只能去翻曾经写过的代码或是重新到网上查找下,今天在这里记录下曾经有用到过的json数据的拼装和解析。 至于什么是JSON和C语言库在哪查找,不懂的可以自行百度。 json数据拼装简单结构 我们先来拼装一个简单的Json数据:存储学生张三的信息,他的信息有number(学号),name(姓名),class(班级),原创 2016-05-05 18:29:12 · 3082 阅读 · 0 评论 -
windows和linux下等待线程的退出
在linux上,创建一个线程然后在主进程中等待线程的退出,系统提供的api是比较显而易见的,创建线程使用pthread_create,线程退出使用pthread_exit,主线程等待线程退出使用pthread_join,下面就是在等待一个睡眠5S的线程退出例子,我们也可以获取到线程退出时传递的一些消息。#include #include #include #include void原创 2016-02-22 14:08:46 · 1500 阅读 · 0 评论 -
win32编辑框文件拖放和文字过滤
我们可能会遇到这样的需求,我们要计算一个文件的md5值,为此我们必须输入文件的地址,或者通过一个按钮打开文件浏览框,然后选择要计算的文件,有时候往往文件就在我们眼前但是我们还是需要浏览器一步步找它的路径,这时候如果编辑框支持文件的拖放就方便很多了。关于编辑框支持文件拖放MFC下实现是比较简单的,我今天来讲下win32下如何实现,代码比较简单:#include #include #原创 2015-03-05 11:13:26 · 1200 阅读 · 0 评论 -
win32下Listbox文件拖放及delete键删除
前一篇我们讲了win32下编辑框的文件拖放,今天我们来讲讲ListBox下的文件拖放,其实原理是一样的,可以复用编辑框文件拖放的代码,在编辑框文件拖放中我们只是实现了单个文件拖放,在ListBox中我们来实现一次性多个文件拖放。 我们先来讲下文件拖放的核心函数:DragQueryFile函数,定义如下:UINT DragQueryFile( HDROP hDrop, U原创 2015-03-09 10:45:49 · 1208 阅读 · 0 评论 -
Windows dll forward功能
使用场景:(1)我们会有这种需求,比如版本升级,新版本的dll导出一些函数是旧的dll没有的,但是同时要导出旧的dll原先存在的一些函数,而这些函数功能都没有发生变化,一般而言对于这些原本已经存在的函数,我们可能会直接将源码拷贝到新dll工程,一起整合导出,或者新dll也导出那个函数,只不过它自己什么都不做,只是简单的调用旧的dll函数,有没有更便捷的方式?(2)我们想过滤一个系统dll函数(例如...原创 2018-04-30 21:15:35 · 765 阅读 · 0 评论