windows编程
hdxbw-wq
这个作者很懒,什么都没留下…
展开
-
关于ActiveX控件中IDL文件的理解整理
IDL的定义idl(Interface Defionition Language),翻译过来就是接口定义语言。应用场景及作用IDL文件主要定义两大类内容:一是定义接口;二是定义类型库。定义接口的关键字是interface。每个接口定义前面方括号里面的内容是该接口的属性,最重要的是uuid的定义。该部分经过midl.exe编译后生成projectName_i.c和projectName_i.h文件,包含着接口本身(属性(uuid,helpstring等)和方法)的信息。该部分作用是定义..原创 2020-07-09 11:27:56 · 584 阅读 · 0 评论 -
跨平台开发-cygwin和minGW
为了实现c++的一次编译,到处运行的目的,我们采用cygwin和minGW。minGW给那些习惯于在Linux上开发的人员,在windows上提供了一套类似的工具集。cygwin主要是对于再Linux的程序,无需改动代码即可移植到windows上Unix下编译通过的C代码,在win32下编译是不能通过的 ,当然Unix 和win32的API都是符合标准C,也就是说,大多数函数调用在unix和win32下是相同的.但是,unix有自己一些独特的API(如fork,spawn,signal...转载 2020-06-04 11:31:51 · 1064 阅读 · 0 评论 -
Windows搭建MSYS2和MINGW64环境
0.安装目的为了在windows下编译GDAL和Cesium Terrain Builder等软件,需要搭建MSYS2和MINGW64的编译环境1.安装环境和软件列表Windows Server 2012 R2MSYS2 64位2.配置MSYS2双击安装MSYS2之后,由于MSYS2默认资源站点速度较慢,可以配置国内清华大学开源镜像站安装完成后,编辑 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加:Server = https://mir.转载 2020-05-28 15:20:16 · 1665 阅读 · 0 评论 -
Cygwin、Msys、MinGW、Msys2的区别与联系(转)
网上有很多文章讲它们之间的区别与联系,初学者看的一头雾水,在知乎上看到这篇文章讲的很清楚,容易理解。在讲区别联系之前,我们先看一下这几个东东的前世今生。Cygwin,原 Cygnus 出品(已被红帽收购),目前是 RedHat 名下的项目。项目的目的是提供运行于 Windows 平台的类 Unix 环境(以 GNU 工具为代表),为了达到这个目的,Cygwin 提供了一套抽象层 dll,用于将部分 Posix 调用转换成 Windows 的 API 调用,实现相关功能。这里面最典型的,最基本的模拟层就是转载 2020-05-28 14:25:04 · 704 阅读 · 0 评论 -
winpcap 开发
Winpcap是一个强大的网络开发库,可以实现许多功能:获取可用的网络适配器;获取指定适配器信息(比如名称和描述信息);捕获指定网卡的数据封包;发送数据封包;过滤捕获的包以获取特定包等。首先到http://www.winpcap.org/install/default.htm下载安装winpcap驱动和DLL组件。然后到http://www....转载 2020-04-29 11:41:50 · 929 阅读 · 0 评论 -
【随笔】Easysize使用方法及注意要点
选择exsysize.h文件加入到项目,这一步不是必须的,只是觉得加入项目中比较好看。一、 使用步骤包含头文件:在stdafx.h包含头文件或者DemoEasysizeDlg.h(对应窗口头文件下) 在类内声明: 在DemoEasysizeDlg.h(窗体头文件)中加入DECLARE_EASYSIZE// CDemoEasysizeDlg 对话框class CDemoEasy...原创 2020-01-17 18:06:36 · 1165 阅读 · 2 评论 -
UniCode 下char*转CString ,利用MultiByteToWideChar进行转换,中文乱码的解决方案
使用A2W,A2T这些宏函数是常见的方法,但是中文会乱码,所以采用MultiByteToWideChar进行转换//计算char *数组大小,以字节为单位,一个汉字占两个字节 int charLen = strlen(sText); //计算多字节字符的大小,按字符计算。 int len = MultiByteToWideChar(CP_ACP,0,sText,cha...转载 2020-01-16 22:00:06 · 1647 阅读 · 0 评论 -
时间日期与时间戳转换(Linux C)
本文主要学习三个知识点,第一是UTC时间、GMT时间的概念;第二是在Unix环境下UTC时间与时间戳的转换;第三是在C语言中如何修改时区。本文参考了《UNP》以及http://blog.csdn.net/foxir/article/details/43916601http://blog.csdn.net/ljafl9988/article/details/16847935一...转载 2019-12-02 10:39:12 · 2677 阅读 · 0 评论 -
Win32线程锁的一种高效实现
Win32线程锁的一种高效实现 最近看 MSDN 中的一些资料,有感于世界变化真快,从前掌握的锁的知识实在肤浅;于是毫不犹豫地将其拖入回收站,顺便也有了这篇文章。 在这里我不粘贴 MSDN 中的大段叙述,也不复述锁的知识。仅谈新锁的特点:1、根据 os 版本来决定线程切换方式: Win9x 用 Sleep, WinNT 用 Swit...转载 2019-10-30 20:34:39 · 337 阅读 · 0 评论 -
Windows Vista IE保护模式深度剖析 【转】
文章作者盆盆技术难度Level300内容简介深度剖析了IE保护模式为什么能够帮助Windows Vista 达到前所未有的安全级别(甚至大大超过UAC能够达到的保护程度),同时还介绍了IE保护模式是如何利用文件虚拟重定向帮助老的IE加载项解决兼容性问题,真正完美实现既安全、又方便、且兼容的目的。最后还将介绍如何利用建立NTFS软链接的方法巧妙解决IE保护模式的兼容性问题,...转载 2019-09-18 21:39:36 · 259 阅读 · 0 评论 -
_endthread, _endthreadex的调用_随笔
void _endthread( void );void _endthreadex( unsigned retval );参数:retval(线程的退出码) 功能 必需的标头 _endthread <process.h> _endthreadex <...原创 2019-09-04 17:28:18 · 4349 阅读 · 0 评论 -
关于Windows窗口框架
我们知道Windows的窗口消息处理函数是C方式, 面向过程的, 所以窗口框架的基本任务就是将它转成面向对象的方式, 确切的说如何将消息处理函数第一参数HWND转成对象指针。关于这个问题, 其实网上大家已经说滥了, 这里只是简单记录一下。Map方式:MFC就是采用这种方式, 就是建立一张从HWND到CWindow*的映射表, 每次收到消息都从Map中根据HWND找到CWindow...转载 2019-09-03 15:30:54 · 214 阅读 · 0 评论 -
关于js调用ocx返回BSTR的内存泄露问题
关于js调用ocx返回BSTR的内存泄露问题各位大侠,现在有个问题不知道怎么解决JS脚本调用OCX的方法,获取一张图片的数据现在的设计是返回字符串由于OCX返回字符串只能返回BSTR,但是这就有一个问题,这个BSTR的内存JS无法释放,就会引起内存泄露目前的写法是CStringtmp;returntmp.AllocSysString();因为图片较大,如果内存泄露的话就会比...转载 2019-08-24 15:46:28 · 691 阅读 · 0 评论 -
页交换文件(转载)
物理存储器和页交换文件 《Windows核心编程(第5版)》第13章Windows内存体系结构,本章将深入探讨Microsoft Windows所使用的内存体系结构。本节为大家介绍的是物理存储器和页交换文件。AD:13.5 物理存储器和页交换文件在老式的操作系统中,物理存储器被认为是机器中内存的总量。换句话说,如果一台机器装有16 MB内存,那么应用程序最多可以使用16 M...转载 2018-12-19 20:50:27 · 1748 阅读 · 0 评论 -
InvalidateRect(HWND) 与 ValidateRect(HWND)的区别
InvalidateRect(HWND) 使无效 ValidateRect(HWND)使有效 区别在重绘InvalidateRect(HWND) 使窗口无效 产生消息WM_PAINT; ValidateRect(HWND)使窗口有效 清除消息队列中的WM_PAINT消息 Invalidate() -- RedrawWindow() -- UpdateWindow...转载 2018-11-15 16:53:05 · 220 阅读 · 0 评论 -
带你玩转Visual Studio——带你新建一个工程
接着上一篇文章带你玩转Visual Studio——开篇介绍继续讲这个主题,现在我们从创建一个新的工程开始。一步一步创建项目依次选择菜单:File\New\Project,打开New Project对话框。<1>.选择项目类型:Win32 Console Application;<2>.填写工程名(Project Name):TestProject(可以给它取一个任意你想要...转载 2018-05-15 11:17:20 · 168 阅读 · 0 评论 -
win7系统下服务程序调用log4cxx不能正常产生日志
最近因为项目要求需要将一个程序写进windows服务中,并且程序中调用log4cxx作为日志打印输出工具。程序在前台运行的时候能正常的生成打印输出日志。但是,当写进windows服务后,没有生成对应的日志文件。百思不得其解,后来在网上寻找相似的案例,很庆幸的是果然有人碰到类似的情况;帖子链接如下:点击打开 不过很尴尬的是,这位博主只是指出了错误的原因,并简单的描述了一下情况;这边我总...原创 2018-03-28 14:21:12 · 499 阅读 · 0 评论