windows
zhouguangcai1
追求梦想,
展开
-
C2338编译错误
今天将一个工程升级为 vs2019 64 位编译时出现如下错误:error C2338: Windows headers require the default packing option. Changing this can lead to memory corruption. This diagnostic can be disabled by building with WINDOWS_IGNORE_PACKING_MISMATCH defined.问题原因是工程配置中设置了 结构成员 1原创 2020-05-27 16:31:02 · 14091 阅读 · 4 评论 -
windows 下编译libxml2 libxslt
编译 iconv 库libiconv是将一种编码格式转换为另一种编码格式的跨平台开源库,http://www.gnu.org/software/libiconv/可以查看支持转换的编码类型。但是libiconv 的开发者并没有发布windows下的源码和库,要想在windows下使用libiconv 库,必须自己手动把libiconv 移植到windows平台,具体步骤如下:1、去http:/...原创 2020-05-14 17:24:17 · 1493 阅读 · 0 评论 -
VS2019 编译 Openssl 1.1.x 版本
最近因为需要用到 Openssl 中得静态库 libeasy32.lib;因此自己就需要在 windows 环境下编译 Openssl 得源码。看过网上大神的帖子之后,结合自己的编译过程,整理了一下编译过程,以作记录。OpenSSl 版本变化:1. 从openssl 1.1.0版本以后就不再有ms\do_*.bat这样的文件,而是直接使用nmake命令就行了2. 在 1.0.x 之前...原创 2020-02-28 16:46:01 · 978 阅读 · 2 评论 -
关于 locksource 后修改返回值报错的问题
之前有段代码,vs2010 运行正常,vs2019 运行之后程序异常。异常代码如下: DLGTEMPLATEEX* pTemplate; HINSTANCE hInst = ::AfxFindResourceHandle(MAKEINTRESOURCE(m_nEntityResID), RT_DIALOG); if (hInst == NULL) { TRACE("Cou...原创 2020-01-14 16:39:26 · 171 阅读 · 0 评论 -
windows 异步 IO
同步 IO:线程存在 IO 操作的时候,他会等待IO 操作完成之后才会继续执行后续操作,此时线程会被挂起,知道 IO 完成,线程才可以重新调度。异步 IO:IO 的操作在后台进行,并不阻塞线程的继续运行,IO 的操作和线程运行同时进行。同步 IO 由于线程的挂起,运行 发生大量的上下文切换,导致程序的性能降低。如何选择同步还是异步呢? 主要有这么几个指标供参考 1. 并原创 2014-12-04 15:16:38 · 478 阅读 · 0 评论 -
批处理修改电源管理方案
批处理修改电源管理方案例:一直开着,关闭监视器 从不 关闭硬盘 从不。——————————————————————————for /f "tokens=2*" %%i in ('powercfg /q^|find "名称"') do set a=%%iPOWERCFG /CHANGE %a% /monitor-timeout-dc 0转载 2015-02-28 18:40:21 · 3035 阅读 · 0 评论 -
bat之for循环
for对很多批处理新手来说可能是最不好理解的,而微软的帮助又极为苦涩难懂,所以我想把我所了解的for尽可能以最简单的方式写出来。当然,因为是自己的理解,难免会有错,还请各位指出。好了,开始。1.没有任何参数的for格式为:for %%i in (set) do command%%i 为变量set为一个文件或者一组文件,其实就是一个集合。可用通配符,比如*.txt。comm转载 2015-02-28 19:17:31 · 377 阅读 · 0 评论 -
使用_CrtSetDbgFlag检测内存泄露
一、介绍:动态分配、回收内存是C/C++编程语言一个最强的特点,但是中国哲学家孙(Sun Tzu,我不知道是谁?那位知道?)指出,最强的同时也是最弱的。这句话对C/C++应用来说非常正确,在内存处理出错的地方通常就是BUGS产生的地方。一个最敏感和难检测的BUG就是内存泄漏-没有把前边分配的内存成功释放,一个小的内存泄漏可能不需要太注意,但是程序泄漏大块内存,或者渐增式的泄漏内存可转载 2015-04-10 19:00:18 · 383 阅读 · 0 评论 -
windows下文件的监控--ReadDirectoryChangesW函数的使用
最近在做一个项目,其中涉及到监控指定目录下所有文件和子目录内的修改信息。经过一番努力,总算实现这一功能,在此特别感谢那些帮助过我的朋友和同事们。今天整理一下这几天的收获,列出相关的知识点,供后来者参考。1.FindFirstChangeNotification()函数:功能:创建一个改变通知句柄,并设置通知条件,即发生某种修改时,该通知句柄将被促发生效。该函数仅仅负责对文件修改作出转载 2015-06-24 09:19:36 · 1279 阅读 · 0 评论 -
LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
以前经常遇到这个警告信息,因为运行并没有什么问题,所以也没深究。但是耿耿于怀那个“ 0 个错误,0 个警告”的成功提示,在网上搜了一下。原来问题出在默认库的引用选择上。 VS2008,项目——属性——配置属性——C/C++——代码生成:他有/MT,/MTd,/Md,/MDd四个选项,你必须让所有使用的库都使用相同的配置,否则就会有相应的提示,甚至可能会出现无法解析的函数。有时我们使转载 2015-08-19 15:35:26 · 409 阅读 · 0 评论 -
使用 vs 查看dll 方法
某些时候我们拿到第三方提供的 dll,需要验证里面提供的接口和文档中描述的是否一样,此时就需要查看 dll 中导出的接口有哪些,在 VC6.0 时我们可以使用 VC 自带的 depends 的软件查看,但是 VS 开始没有此工具,因此很多时候查看dll 就需要找第三方工具,近期发现 vs2010 中也存在查看 dll 接口的工具。在 vs 中 选择 tools — Visual Studio ...原创 2018-04-27 16:50:02 · 18874 阅读 · 1 评论 -
设置系统的电源计划
win7 设置电源计划:1、首先通过 PowerGetActiveScheme原创 2014-11-14 15:30:06 · 6053 阅读 · 0 评论 -
关于Windows安全权限的学习
本篇文章内容主要参考了 陈皓 《以程序的方式操纵NTFS的文件权限 》,然后加入了一些自己学习和理解的东西。在NTFS文件系统出现后,在Windows系统(2K/XP/Vista..)下的对象,包括文件系统,进程、命名管道、打印机、网络共享、或是注册表等等,都可以设置用户访问权限。在Windows系统中,其是用一个安全描述符(Security Descriptors)的结构来保存其权限的设转载 2014-10-30 14:36:59 · 600 阅读 · 0 评论 -
windows下服务或SYSTEM权限读取当前用户注册表HKEY_CURRENT_USER
最近一直在给一个程序增加一个功能,需要修改原创 2014-06-04 10:36:03 · 8398 阅读 · 0 评论 -
system 权限读取注册表HKEY_CURRENT_USER
注册表中 HKEY_CURRENT_USER 键下的内容隶属当前用户,所以当你以不同用户登陆时该键下的内容都是不尽相同的。但有时候我们有读取指定用户该键下内容的需求。比如,我们有一个服务程序运行在 Session0, SYSTEM 权限,而我们想读取的却是当前登陆到本地控制台的用户的 IE 代理服务器设置参数。我们当然不能直接从服务中打开 HKEY_CURENT_USER 键, 用我们当前令牌打开转载 2014-06-03 13:56:53 · 3683 阅读 · 0 评论 -
Windows服务编写综述
摘要:几乎所有的操作系统在启动的时候都会启动一些不需要与用户交互的进程,这些进程在Windows中就被称作服务。它由服务程序、服务控制程序(SCP,service control program)和服务控制管理器(SCM,service control manager)三个组件构成。本文针对服务程序与服务控制程序的编写进行综合讲述。 关键词:Windows,服务,VC++转载 2014-09-22 12:50:04 · 512 阅读 · 0 评论 -
windows station 窗口
Window stations 和桌面可能是Windows NT服务中最与众不同的了。绝大多数编程者都不会直接接触这两种对象,尽管用户每时每刻都要碰到它们。window station 和桌面对象就象其它Windows NT对象,如事件、互斥量和信号量一样,是安全(securable)的。一个window station 对象包括一个剪贴板、一个全局原子集和更多的桌面对象。一个window sta转载 2014-09-22 17:31:47 · 585 阅读 · 0 评论 -
OpenEvent 失败的问题
在同一个用户下,一个 进程创建了某个原创 2014-09-16 17:17:52 · 3738 阅读 · 0 评论 -
SERVICE_STATUS 结构中各成员分析
在编写Windows服务的时候,需要调用API函数::SetServiceStatus()向服务控制管理器(SCM)提交更新当前服务的状态信息,其第2个参数为指向SERVICE_STATUS结构的指针,SERVICE_STATUS结构中包含了表示当前服务状态的信息,对其各成员一一分析:typedef struct _SERVICE_STATUS { DWORD dwServiceTy转载 2014-10-23 18:52:16 · 513 阅读 · 0 评论 -
判断系统网络是否准备好
判断系统的网路是否可用:IsNetworkAlive原创 2014-10-09 18:09:52 · 518 阅读 · 0 评论 -
列举 usb 设备的信息
1、首先使用 SetupDiGetClassDevs 函数获得原创 2014-11-13 16:51:17 · 904 阅读 · 0 评论 -
获取系统中存在的 优盘设备
CHAR* lpdrives = new CHAR[MAX_PATH]; DWORD _count = GetLogicalDriveStringsA(MAX_PATH, lpdrives);std::string sDrives[26]={""};//设备盘符路径集HANDLE hDeviceHandle[26];//设备句柄集DWORD hDevice_Num = 0原创 2014-11-13 18:04:30 · 502 阅读 · 0 评论 -
获取当前显示器的分辨率
首先我们要获取当前使用的显卡sheb原创 2014-10-28 17:06:51 · 1822 阅读 · 0 评论 -
SystemParametersInfo 函数
改函数查询或设置系统级参数,原创 2014-10-29 16:57:17 · 831 阅读 · 0 评论 -
windows 动态修改映射网络驱动的卷标
在网上查了很久,好像没有原创 2014-06-03 18:48:09 · 1209 阅读 · 0 评论