WindowsAPI WinMain

Windows API Windows应用程序开发入门 Windows API,即Windows应用程序接口,是微软Windows操作系统提供的一组功能强大的函数、宏、数据类型和数据结构的集合。它为运行在Windows系统上的应用程序提供了与操作系统交互的桥梁,使得开发者能够借助这些接口实现各种复杂的功能,从而构建出丰富多彩的应用程序。Windows API涵盖了众多领域,从基本的文件操作、内存管理,到复杂的进程间通信、图形用户界面设计等,几乎涵盖了应用程序开发所需的所有功能。这些API函数不仅易于使用,而且性能卓越,能够充分发挥Windows操作系统的优势。 阅读详情
 
一、WindowsAPI介绍:
WindowsAPI(Windows Application Programming Interface)
动态链接:(Dynamic Linking Library ,DLL)Windows动作机制的核心是动态链接库。
三个主要的动态链接库:
Kernel:处理所有在传统上由操作系统核心处理的事务-内存管理、文件i/o和多任务管理
User:使用都接口,所有窗口运行机制。
GDI:一个图形设备接口,谲诈程序在屏幕和打印机上显示文字和图形。
 
 
二、编写一个windows程序:
 
#include <windows.h>                                  
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
PSTR szCmdLine,                                           //sz表示以0结束的字符串
int iCmdShow){
      MessageBox(NULL,TEXT(“Hello,windowsXP”),TEXT(“HelloMsg”),0);
      return 0;
}
 
这个程序是在VC6.0 的win32 Application建立的。
1、 windows.h是主要的含入文件,它包含了其它windows的表头文件,在这些被windows.h的表头文件包含了其他的表头文件如下:
WINDEF.H                   基本形态定义
WINNT.H                     支持Unicode的形态定义
WINBASE.H                Kernel函数
WINUSER.H                 使用者接口函数
WINGDI                      图形设备接口函数
这些头文件定义了windows的所有数据形态、函数呼叫、数据结构和常数标识符。
WINMAIN是windows的进入点相当于C程序的main
 
2、以下是MSDN的WINMAIN函数结构:
int WINAPI WinMain(
 HINSTANCE hInstance, // handle to current instance 此程序的唯一标识
 HINSTANCE hPrevInstance, // handle to previous instance    可是确定是否运//行同一个程序这个参数总是null
 LPSTR lpCmdLine,      // pointer to command line 这是程序的命令行参数
 int nCmdShow          // show state of window 程序最初显示的方式
);
3、WINAPI是一个宏定义
#define WINAPI __stdcall
WINAPI是一个简单的数据类型用于定义32位API的数据类型,他可以定义函数返回值函数消息和参数还有结构体的成员,在是里他是一个调用约定,表示参数都是从右向左通过堆栈传递的函数调用,在返回前要清理堆栈。在这里WINAPI 可以改成__stdcall。
三、介绍一下VC6.0的编译过程:
      1、正常情况下,在编译阶段,编译器从原始码文件产生一个.obj(目标)文件,
                      在连接阶段,连接程序.obj和.lib文件以建立exe
      在VC6.0的setting的link页面标签可以查看这些库文件里面有几个重要的lib:
      Kernel32.lib user32.lib gdi32.lib
2、你还可以用不同的设定编译和连接程序。有两种方法Debug和Release他的运行程序会放到相应的目录下
02-Redis 核心特性与数据结构详解:揭秘高性能的技术内核 本文深度拆解 Redis 高性能的技术内核:揭秘其凭“内存存储 + C 语言开发” 实现微秒级延迟、10 万 + QPS 的性能优势;详解 5 种基础数据类型(String/Hash 等)与 4 种扩展数据类型(Stream/Geospatial 等)的特性及场景;还介绍多语言支持、RDB/AOF 持久化、主从复制 / 哨兵 / 集群等高可用方案,助读者掌握 Redis 技术核心与实践逻辑。 阅读详情

相关推荐

开源libmodbus编译为32位和64位动态库

libmodbus 是支持Linux,Mac OS X,window 的一个开源库,支持modbus TCP和RTU 两种模式。

lemontree1945的博客 1923

WinAPI【Win32 系统入口函数介绍】WinMain DllMain

WinMain函数 WinMain函数的原型声明如下: int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow ); 参数: WinMain函数接收4个参数,这些参数都是在系统调用WinMain函数时,传递给应用程序的。 hInstance: ...

weixin_30555753的博客 508

动态掩码语言模型(MLM)优化策略:效率提升与最新技术实践

本文深入探讨了动态掩码语言模型(MLM)的优化策略与技术实践,涵盖核心原理、效率优化及2025年最新突破。重点解析了动态掩码在提升模型性能中的关键作用,包括工程实现、掩码策略演进及混合专家动态掩码等创新技术,为自然语言处理领域的研究与应用提供实用指南。

vscode5coder的博客 229

_WinAPI创建窗口大致格式(笔记)

一、流程 1定义入口函数WinMain() 2创建一个窗口: a)设计窗口类WNDCLASS(给成员变量赋值) b)注册窗口类 c)创建窗口类 d)显示和更新窗口 3消息循环 4窗口过程函数 二、WinMain() //WINAPI:修饰函数,规定函数参数入栈从右往左,函数调用完毕,自动清理堆栈 int WINAPI WinMain(HINSTANCE hInstance,//应用程序实例 HINSTANCE hPr...

weixin_46949627的博客 913

VulnHub系列之BadStore_123渗透测试

BADSTORE: 1.2.3 早期网商系统漏洞鉴赏(2004)

Flynn的博客 1630

记录:N10激光雷达串口编程,将数据存进 SQLite,并进行 ROS2 - cartographer 单雷达建图

N10 系列采用 TOF(time of flight)测距原理,通过测量调制激光的发射、返回时间差来测量物体与传感器的相对距离。激光发射器发出调制脉冲激光,内部定时器开始 从t1时刻计算时间,当激光照射到目标物体后,部分能量返回,当雷达接收到返回的激光信号时,在t2时刻停止内部定时器计时,光速C,激光雷达到达物体的距离D为:经过N10系列激光雷达内嵌的信号处理单元的实时解算得到探测物体的距离值,结合高精度自适应角度测量模块输出的角度信息,可以得到量程内周围 360 度环境 的二维平面信息。

m0_74013893的博客 1096

WINAPI WinMain

WINAPI WinMain用法

lichji2016的博客 997

手把手教你用AFL挖掘C程序漏洞:从安装到实战(附常见错误排查)

本文详细介绍了如何使用American Fuzzy Lop (AFL)对C/C++程序进行模糊测试,从环境准备、目标程序插桩编译、初始语料库构建到实战运行与结果分析。重点讲解了AFL的安装、常见错误排查(如核心转储配置、执行速度优化)以及提升测试效率的高级策略(如持久模式、并行化),帮助开发者和安全工程师高效挖掘程序漏洞。

weixin_29014237的博客 408

WinAPI WinMain函数

WinMain函数是提供给用户的Windows应用程序入口点,其原型如下: int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR ipCmdLine, int nCmdShow); 函数有四个参数: hInstancd: 是当前应用长须实例的Handle。 hPrevInstance: 是应...

weixin_30875157的博客 883

如何让Arduino IDE支持你手里的STM32 nucleo开发板

Arduino IDE开发环境在默认情况下不支持STM32 NUCLEO开发板,只有通过添加附加开发板管理包才能使用。目前为止,只有一部分板子支持使用Arduino IDE开发环境进行开发,分别是 Nucleo F207ZG, Nucleo F429ZI, Nucleo F030R8, Nucleo F091RC, Nucleo F103RB, Nucleo F303RE, Nucl...

mzw72188552的专栏 8972

29、高速低功耗采样保持放大器设计

本文详细介绍了适用于低功耗模数转换器的高速低电压采样保持放大器(SHA)的设计技术,包括传统SHA的局限性、采样技术分类以及全NPN型和BiCMOS型SHA的具体设计实现。同时,文章深入探讨了优化输入电容、采样开关驱动及低功耗设计等具体措施,并提供了10位ADC前端和无线通信应用中的实例分析,为相关领域的工程师提供有价值的参考。

weixin_30600615的博客 425

Windows --- 第一个Windows窗口程序

#include<Windows.h> //窗口程序的入口函数:WinMain //控制台窗口应用程序入口函数:main

weixin_60569662的博客 2096

python实现DoIP基本通信(收发报文)

python实现DoIP基本通信(收发报文)

天赐好车的博客 898

计算机图形学02——WindowsAPI与MFC的关系,WinMain函数

1.定义 2.分类 3.MFC 4.windowsAPI创建窗口程序代码 5.WinMain函数简介

YiRenGengShangBuQi的博客 246

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

从0开始的WinAPI学习(1)——初识WinAPI

使用WinAPI函数打印"Hello World"

noobxiaomeng的博客 1735

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

mfc api 文件重命名_VC与WindowsAPI的关系及MFC用C++类封装API的实质

windows程序,其交互的下一层就是Windows操作系统,所以需要用到诸多的Windows API。其它操作系统的应用程序,就要用到其它操作系统的API进行程序开发。构成应用程序GUI的所有元素都必须调用操作系统函数,以编程方式建立。GUI应用程序除了交互方式增加了图形和鼠标以外,整个程序也是通过消息循环与操作系统交互形成事件驱动的。Windows API是在C还是主要通用语言的年代开发的,很...

weixin_39734074的博客 291

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C++:Win Main 函数

【代码】C++:Win Main 函数。

SYC20110120的博客 324

C语言-WIN32API介绍

Windows API 从第一个32位的Windows开始就出现了,就叫做Win32API. 它是一个纯C的函数库,就和C标准库一样,使你可以写Windows应用程序 过去很多Windows程序是用这个方式做出来的 main()? main()成为C语言的入口函数其实和C语言本身无关,你的代码是被一小段叫做启动代码的程序所调用的,它需要一个叫做main的地方 操作系统把你的可执行程序装载到内存里,启动运行,然后调用你的main函数 WinMain() As main() is the entry

2301_79837864的博客 660

Windows API程序设计入门

Windows API实验报告目录 Windows API 实验相关报告 实验的目的 了解windows操作系统应用程序开发的基本概念,win32 API函数、消息与事件驱动; 2.掌握WinMain函数的基本框架,窗口定义、窗口创建、消息循环及窗口过程函数; 实验环境 Windows 10操作系统、编译环境VC++6.0 实验步骤 强调文本 强调文本 加粗文本 加粗文本 标记文本 删除文本 引用文本 H2O is是液体。 210 运算结果是 1024. 插入链接与图片 链接: link. 图片:

li_de_kun的博客 1100

4.1 图标资源 光标资源

【代码】4.1 图标资源 光标资源。

时不我待 189

Windows SDK编程 初学笔记

MB_DEFBUTTON2代表运行后默认选择在第二项,也就是重试按钮,可以看前面的都是默认选择在第一项,当然MB_DEFBUTTON3的话就会默认选择在第三项,也就是忽略按钮。MessageBox第一个参数为句柄,第二个参数为内容,第三个参数为标题。窗口编程和控制台编程有所不一样,要把进行一些设置,右键点击,选择属性。第四个为现实的按钮,MB_OK代表只显示确定按钮。往TEXT宏内部看,发现可以用L来代替TEXT()剩下的也是根据英文意思来进行一个按钮的显示。将子系统选择为窗口,方能编译成功。

qqQQqsadfj的博客 2419

10行代码带你入门Windows编程

手把手带你入门Windows

一以贯之的努力 不得懈怠的人生 1万+

Rime输入法核心代码分析——WeaselServer文件夹网络化分析(七)

2021SC@SDUSC

L_Ferris的博客 535

Windows API开发

1. 什么是Windows API Windows的API(Application Programming Interface,应用程序编程接口),是Windows操作系统提供 给应用程序的大量函数,开发者调用这些函数,犹如“积木块”一样,可以搭建出各种界面丰富,功能灵 活的应用程序。所以可以认为API函数是构筑整个Windows的基石,在它的下面是Windows的操作系统核心, 而它的上面则是所...

taotongning的博客 2780

用c++写一个windows窗口程序, 程序标题是你好

#include <windows.h>int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { HWND hwnd; WNDCLASSEX wc; ZeroMemory(&wc, sizeof(WNDCLA...

weixin_42601702的博客 153

Windows API 第一个实例程序

由于工作,需要,准备开始 学习一下 Windows API 编程。 主要是从 精通 WinowsAPI 这个书籍入手的, 很多东西,都是参考或者借鉴原文的。 首先需要添加 #include <WINDOWS.H> 这个头文件 #pragma comment(lib,"User32.lib"); 引入库。 如果是用vc6 的工程,默认是添加了这个库了。 所有的函数的入口都...

weixin_34054866的博客 267
上一篇: Delphi7 窗口停靠效果
下一篇: 30个源码网址
dingdingko
博客等级 码龄20年 50粉丝 47原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值