Win32

2024/4/12 2:40:03

MFC HMODULE

HMODULE hmodulel; HMODUEL是代表模块的句柄 hmodule是代表系统的内核对象, 如句柄,线程句柄,进程句柄、 HINSTANCE 在win32下与HMODULE相同的东西, HWIND是窗口句柄

处理(定制)CHtmlView的弹出页面

在使用CHtmlView的时候会遇到这样的问题,点击某些页面的弹出链接之后CHtmlView会使用默认的浏览器来弹出该链接的页面。如果想改成用我们自己设计的浏览器或者是窗口来弹出该怎么做呢? 已下是解决方案, class CDIYAD: public CHtmlView { p…

Win32程序的开发流程和运行图解

下面简单说一下Win32程序框架。 一个Win32程序是由程序代码和UI(User Interface)两大部分组成,当我们编辑好这两部分后,再由RC(resource compiler)编译器将这两部分整合成一个EXE文件。程序代码不用说了,UI资源指的是…

Win32线程同步 - 信号量

/* * 说明:使用信号量进行线程同步 * 特点:允许多个线程在同一时刻访问同一资源 * 解释:Win32中的Semaphore可以被锁住最多n次,其中n是Semaphore被产生时指定的 * 使用:1.多个线程可以…

WIN32下C++如何简单方便的使用zip解压缩《Zip Utils - clean, elegant, simple, C++/win32》

本文章是我在做项目的过程中为了解决实际问题而看到的,为了方便以后参照所以就搬运了。 可以参照此文章进行文件、文件夹的解压缩操作,以及显示解压缩进度等。 与文章配套的C代码:点击下载 Zip Utils - clean, elegant, simple, C/win32 A…

Win32下使用VC++创建桌面快捷方式

本文介绍如何在WIN32下使用VC为一个应用程序创建快捷方式&#xff01; 首先包含头文件&#xff1a; #include <Windows.h> #include <ShObjIdl.h> #include <ShlGuid.h> 创建快捷方式的函数&#xff1a;CreateLink lpszPathObj为要创建快捷方式的exe路径 …

win32 WM_MENUSELECT消息学习

之前写了一些win32的程序&#xff0c;处理菜单单击都是处理WM_COMMAND消息&#xff0c;通过 LOWORD(wParam) 获取菜单ID&#xff0c;判断单击的是哪个菜单项&#xff1b; 还有一些其他菜单消息&#xff1b; 当在菜单项中移动光标或鼠标&#xff0c;程序会收到许多WM_MENUSELEC…

DirectX画圆及圆角矩形的简单实现

讨论如何用d3d9来绘制圆及简单的圆角矩形。 画圆时采用Bresenham算法。不失一般性&#xff0c;假设圆的圆心位于坐标原点&#xff08;如果圆心不在原点&#xff0c;可以通过坐标平移使其与原点重合&#xff09;&#xff0c;半径为R。以原点为圆心的圆C有四条对称轴&#xf…

【win32】高仿QQ截图

QQ截图大家都用过吧&#xff0c;从体验上来说是一个非常不错的软件&#xff0c;它只有200多kb&#xff0c;非常小巧&#xff0c;敢肯定应该是基于原生window api开发的&#xff0c;没用任何第三方的东西&#xff0c;接下来我想高度仿做一个这样的软件 技术难点分析&#xff1a…

实现使用C++/WIN32进行DNS域名解析工具

本例主要提供使用WIN32 API实现的DNS域名解析的工具。 直接上代码&#xff1a; .h #pragma once #include <vector>#include "Ws2tcpip.h" #include "Wspiapi.h" #include "mmsystem.h" #include <windows.h>class CDNS { public…

Win32程序获取屏幕的HDPI放大倍数

目前高分辨率的显示器越来越高&#xff0c;我们不得不让程序适配系统的HDPI&#xff0c; 其中需要知道系统当前的缩放倍率。 可以使用一下函数获取&#xff1a; double GetDeviceDpiFactor() {double dDpi 1;// Get desktop dcHDC desktopDc ::GetDC(NULL);// Get native …

win32窗口程序开发步骤详解

1.程序进入点 windows程序的进入点是WinMain函数&#xff0c;它有四个参数&#xff0c;形式如下&#xff1a; int WINAPI WinMain ( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow ) 参数说明&#xff1a; hInst …

Windows下的OpenGL编程进行简单介绍

第一步&#xff0c;选择一个编译环境 现在Windows系统的主流编译环境有Visual Studio&#xff0c;Broland C Builder&#xff0c;Dev-C等&#xff0c;它们都是支持OpenGL的。 我选择Visual Studio 2008和VC6作为学习OpenGL的环境。 第二步&#xff0c;安装GLUT工具包 GLUT不是…

VC++ Win32 WM_PAINT消息

from&#xff1a;《Windows环境下32位汇编语言程序设计&#xff08;典藏版&#xff09;》

SHFileOperation函数静悄悄地删除指定目录

要删除一个目录&#xff0c;看了RemoveDirectory&#xff0c;只能移除空目录。建议我看SHFileOperation。看看SHFileOperation&#xff0c;果然是个强大的函数。 资源管理器中的文件操作&#xff08;删除、创建、移动、重命名等&#xff09;都可以用它来实现。在东集的时候…

Win32线程同步 - 原子访问

1. 对原子访问的说明 情形&#xff1a;线程同步中大部分情况与原子访问有关。 作用&#xff1a;原子访问可以保证一个线程在访问资源的同时没有其他线程访问同一资源。 原因&#xff1a;Windows是抢占式多线程环境&#xff0c;多个线程同时操作同一个全局变量时&#xff0c;可能…

Win32线程同步 - 事件

/* * 说明&#xff1a;线程同步中Event对象的使用 * 特点&#xff1a;核心对象 * 目的&#xff1a;成为激发或未激发状态&#xff0c;两种状态完全由程序控制 * 执行状态&#xff1a; * 1. 线程编号的输出没有重复&#xff0c;说明主线…

Win32线程同步 - 临界区(关键段)

/* * 临界区(关键段)&#xff1a;线程同步方式&#xff0c;用于限制“公用代码”一次只能被一个线程使用 * 使用示例&#xff1a;全局变量 * 使用限制&#xff1a;只能用于同一个进程中的线程&#xff0c;不能跨进程同步 */ #include <windows.h&…

DXUT为基础的控件库(2)

目前已完成如下控件&#xff1a; 1.按钮 按钮可以通过提供四个状态的个性化纹理来定制&#xff0c;也可以使用库提供的默认纹理。可以只有图片&#xff0c;这通常用于定制。也可以在图片上叠加文字&#xff0c;多数情况下使用库默认的纹理即可&#xff1b;当然也可以…

Win32 获取EXE/DLL文件版本信息

CFileVersion.h #pragma once#include <windows.h> #include <string> #include <tchar.h>#ifdef _UNICODE using _tstring std::wstring; #else using _tstring std::string; #endif// 版本号辅助类 class CVersionNumber { public:// 无参构造CVersionN…

win32 程序开启控制台输出信息

在调试一个 win32 程序的时候&#xff0c;希望从 console 输出一些调试信息。 解决方案&#xff1a; AllocConsole(); freopen("conout$","w",stdout) ; printf("hello hplonline!-_-\n") ; std::cout<<"im cout"<<std:…

实用的二进制文件分割器

二进制文件分割器 2023.12.29 FlameCyclone 自己写的一个能方便分割文件的小工具 1.可以按照任意方式分割文件 (1)限定分割范围 (2)指定分割块大小 (3)指定分割份数 (4)指定分割方向(从文件头向文件尾分割或从文件尾向文件头分割) 2.可以指定输出文件名规则…

Win32 命名管道

命名管道简单封装 CNamedPipe.h #pragma once #include <string> #include <windows.h> #include <tchar.h>#pragma warning(disable:4200)class CNamedPipe { public:CNamedPipe();~CNamedPipe();CNamedPipe(const CNamedPipe& r) delete;CNamedPipe&…

Win32软件开发: 按键精灵 鼠标模拟器(VibraClick)

1. 简介 玩游戏的时候难免会遇到一些游戏的 "折磨"。例如&#xff1a;我们要使用道具的时候&#xff0c;可这个道具居然没有批量使用&#xff01;&#xff01;&#xff01; 那行吧&#xff0c;我们就来动手做一个按键精灵解放我们的双手。 PS&#xff1a;目前只做…

迷宫 GDI 展示 及 读取位图获取信息

迷宫寻路 工具&#xff1a;Visual Studio 2013 平台&#xff1a;Win32 由于是C语言课&#xff0c;我就不适用MFC&#xff0c;DDraw等C实现的框架了&#xff0c;直接用WindowsAPI&#xff0c;GDI进行&#xff0c;并且这个小程序用DDraw未免有点大财小用&#xff0c;DDraw留着以…

VS2022 Win32汇编环境·Assembly · Hello World

VS2022 Win32汇编环境配置下载MASM32vs2022配置新建项目文本形式窗口模式下载MASM32 下载地址&#xff1a;http://www.masm32.com/download.htm 安装 vs2022配置 创建新项目 修改依赖项 配置MASM32 子系统&#xff1a;控制台 入口点设置好 新建项目 文本形式 .…

创建DLL文件 以及 动态加载和静态加载 以及两者之间的区别

一&#xff0c;首先编写DLL (建win32空DLL工程&#xff09; 头文件.h extern "C" _declspec(dllexport) int Max(int a, int b); //extern "C"解决函数名由于不同编译器造成的名字匹配问题&#xff0c;通常c编译器编译时会对函数进行改名&#xf…

使用VS2019如何创建Win32的项目?

闲来无事&#xff0c;想学习一下Win32的开发&#xff0c;使用VS2019如何创建Win32的项目&#xff1f;费了老大的劲儿&#xff0c;终于捣鼓出来&#xff0c;现在记录一下。 1 创建新项目&#xff0c;在筛选栏选择C Windows 桌面&#xff0c;如下图&#xff0c;选择第一个“Windo…

结合Win32和OSG窗口

之前下了一个源码,是在MFC中展示OSG窗口,窗口出来总有一个黑色阴影; 下面单独看一下把osg窗口做到win32窗口中的情况; #include <windows.h> #include <osgViewer/Viewer> #include <osgViewer/ViewerEventHandlers> #include <osgViewer/api/win32…

VC++ Win32 设备环境 设备上下文

from&#xff1a;《Windows环境下32位汇编语言程序设计&#xff08;典藏版&#xff09;》

VS2022创建win32汇编项目

文章目录 一、下载安装win32环境1.1、下载网址&#xff1a;https://masm32.com/1.2、解压缩安装1.3、安装路径1.4、安装masm32 SDK1.5、安装成功1.6、导入lib1.7、配置默认&#xff0c;可以根据自己需求修改1.8、启动界面二、vs2022 安装过程略过。。。2.1、创建项目2.2、填写项…

VC从EXE文件弹窗中获取路径

所有测试环境为vs2015. 1、文件弹窗工程&#xff0c;win32控制台&#xff1a; #include "stdafx.h" #include <aclapi.h> #include <Shellapi.h> #include <tchar.h> #include <string> #include <shlobj.h> #include <iostre…

处理WM_NCPAINT消息

处理WM_NCPAINT消息可以实现自绘窗口边框和标题栏。 手头有个窗口需要自绘边框&#xff0c;于是处理了WM_NCPAINT消息&#xff0c;结果程序初运行时可以正常绘制&#xff0c;一旦最小化或者调整窗口位置后就看不到自绘的边框了。找了半天发现犯了个愚蠢的错误。在获取窗口…

进程操作(Win32, C++)

CProcessUtils.h #pragma once#include <wtypesbase.h> #include <tchar.h> #include <vector> #include <map> #include <string>#ifdef _UNICODE using _tstring std::wstring; #else using _tstring std::string; #endif// 进程信息 typed…

判断操作系统及指定进程是32位还是64位

目录判断操作系统及指定进程是32位还是64位背景函数介绍OpenProcess 函数GetCurrentProcess 函数IsWow64Process 函数实现原理编码实现判断操作系统的位数判断指定进程的位数程序测试总结参考判断操作系统及指定进程是32位还是64位 背景 应该很多人开发程序的时候&#xff0c…

Win32线程同步 - 互斥器

/* * 说明&#xff1a;Mutex(互斥器)的使用 * 特点&#xff1a;1.一个时间只能有一个线程拥有mutex,这点类似critical section * 2.可以跨进程使用&#xff0c;需要创建时指定名称 * 3.可以指定“结束等待”时间长度 *…

win32 拦截API

下面代码演示了向“记事本”程序&#xff08;NOTEPAD.EXE&#xff09;的进程地址空间中拦截API&#xff0c;大致原理如下&#xff1a; 1. 提升注入&#xff08;注意和“被注入”的区别&#xff09;程序的进程访问权限 2. 随便打开一个记事本文件&#xff0c;注意是用NOTEPAD.EX…

[WTL/ATL]_[初级]_[TreeView控件如何显示ToolTip]

场景 在开发界面程序时&#xff0c;CTreeViewCtrl(它实际内部封装的就是Win32的TreeView控件)一般会用来作为选择某些类型的树形菜单&#xff0c;点击某项的时候&#xff0c;右边能显示某些对应的数据。当这个控件的宽度固定时&#xff0c;有时候每行的文本项可能由于过长从而…

win系统小优化者

如图所示 全部代码【就个外表&#xff0c;没实现功能】 #include <windows.h> #include <windowsx.h> #include <process.h> #include <TlHelp32.h> #include "resource.h" #pragma comment(lib,"msimg32.lib") #pragma warning…

C++实现解zip解压缩功能:将一个目录内的内容打包到zip文件以及将zip文件解压到某个目录(windows平台)

本例用来简单实现windows平台下如何将一个目录下的文件压缩到指定的zip文件中&#xff0c;亦或是将一个zip文件的内容解压缩到某个目录。 以下是源码&#xff0c;代码中的注释解释了相关操作&#xff0c;一看就懂。 注&#xff1a; 本例将这两个功能封装在了一个叫ZipPack的命…

win32向目标进程注入代码

下面代码演示了向“记事本”程序&#xff08;NOTEPAD.EXE&#xff09;的进程地址空间中注入我们自己写的函数代码&#xff0c;大致原理如下&#xff1a; 1. 提升注入&#xff08;注意和“被注入”的区别&#xff09;程序的进程访问权限 2. 随便打开一个记事本文件&#xff0c;…

Win32 GDI+ 学习笔记(一)之win32显示图片

1、使用环境&#xff1a; VS2013 win7 32位 2、GDI使用&#xff1a; 1、打开Vs2013&#xff0c;在里面创建一个简单的Win32 程序&#xff1a;&#xff08;打开Vs2013->"文件(F)"->"新建(N)"->"项目(P)"->"Visual C"->…

[WTL/Win32]_[初级]_[如何设置ListView的列宽不出现水平滚动条]

场景 开发WTL/Win32的程序时&#xff0c;经常会用到表格控件CListViewCtrl。这个控件需要设置列的宽度&#xff0c;当用完100%的宽度来平均分配给列宽时&#xff0c;一加载数据多&#xff0c;就会出现垂直滚动条后&#xff0c;水平滚动条也会同时出现的问题。怎么设置才能让水…

Win32 简单日志实现

简单实现日志保存, 支持设置日志文件数量, 单个日志文件大小上限, 自动超时保存日志, 日志缓存超限保存 CLogUtils.h #pragma once#include <string> #include <windows.h> #include <vector> #include <map> #include <mutex> #include <tc…

Python win32com.client.Dispatch打开Word文档并导出为 PDF时失败Command failed

Python win32com.client.Dispatch打开Word文档并导出为 PDF时失败Command failed 输出异常&#xff1a; (-2147352567, Exception occurred., (0, uMicrosoft Word, uCommand failed, uwdmain11.chm, 36966, -2146824090), None)调试之后&#xff0c;主要是下面几个原因: 路径…

Win32汇编ListView控件学习

此控件比较复杂&#xff1b;和基础win32控件不同&#xff1b;需要先初始化Windows公共控件库&#xff0c; invoke InitCommonControls 之后才可使用&#xff1b; lvdemo.asm&#xff0c; .386.model flat, stdcalloption casemap :none ; case sensitiveinclude window…

Win32 枚举指定进程所有子窗口

遇到需要枚举窗口的操作, 发现使用EnumWindows和EnumChildWindows枚举的窗口不完整, 于是参考 SystemInformer 的写法整理了一下这个功能比较全面的枚举方法. #include <windows.h> #include <tchar.h> #include <string> #include <map> #include &l…

【C、C++、Windows API、 boost】多种方式判断文件、目录是否存在

转载本文是为了实际之需要&#xff0c;方便查阅。 一、判断文件是否存在 #ifdef WIN32 #include <io.h> //C (Windows) access #else #include <unistd.h> //C (Linux) access #endif#include <fstream> …

C++ PE文件信息解析

尝试解析PE文件结构, 于是编写了此PE信息助手类, 暂时完成如下信息解析 1.导出表信息(Dll模块, 函数) 2.导入表信息(Dll模块, 函数) 3.资源表信息(字符串表, 版本信息, 清单信息) CPEHelper.h #pragma once// // brief: PE文件解析助手类 // copyright: Copyright 2024 Flame…

怎么用VC6.0建立控制台程序

如何用VC6.0创建控制台程序呢。VC6.0是微软经典的编程开发环境&#xff0c;界面友好、宜于操作&#xff0c;是很多人开始学习C、C的首选开发环境。今天就和大家分享一下&#xff0c;怎样使用VC6.0建立简单的Win32控制台应用程序。^_^ 工具/原料 VC6.0开发环境计算机 方法/步骤…

C++ win32窗口应用程序隐藏任务栏图标/隐藏托盘图标

话不多说&#xff0c;直接上代码吧 //创建窗口时增加样式 EXStyle, 可以影藏任务栏的图标 WS_EX_TOOLWINDOW //隐藏托盘图标&#xff0c;这里其实你可以理解为删除托盘图标, 这是系统函数&#xff0c;携带参数 NIM_DELETE Shell_NotifyIcon(NIM_DELETE, 参数);我发现 Duilib …

Win32串口API

原文地址&#xff1a;http://www.cnblogs.com/xi52qian/archive/2011/08/30/2159675.html 在工业控制中&#xff0c;工控机&#xff08;一般都基于Windows平台&#xff09;经常需要与智能仪表通过串口进行通信。串口通信方便易行&#xff0c;应用广泛。 一般情况下&#xff0c…

WIN32

消息&#xff0c;就是指Windows发出的一个通知&#xff0c;告诉应用程序某个事情发生了。例如&#xff0c;单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的&#xff0c;这个记录中包含了消息的类型以…

CMake 判断操作系统类型

上回的CMakeLists.txt里面有一句,if (WIN32)......endif(WIN32); 根据资料,这是判断操作系统是否是Windows; 下面单独看一下; 一个CMakeLists.txt文件如下; if(WIN32)# 如果是 Windowsmessage("当前操作系统为 Windows") elseif(UNIX AND NOT APPLE)# 如果…