MSDN里关于WinMain的描述

孙鑫VC++深入详解:Lesson1 1. 开始我从MSDN 中copy WinMain原型时,搞错了 下面的代码编译是说 WinMain不能重载.....原来是参数不对. LPWSTR, 仔细宽字符串的指针,16位=2个字节=一个字word LPCWSTR--- Pointer to a constant null-terminated string of 16-bit Unicode characters. For more 阅读详情

WinMain Function


The WinMain function is called by the system as the initial entry point for a Windows-based application.

Syntax

int WinMain(      

    HINSTANCE hInstance,     HINSTANCE hPrevInstance,     LPSTR lpCmdLine,     int nCmdShow );

Parameters

hInstance
[in] Handle to the current instance of the application.
hPrevInstance
[in] Handle to the previous instance of the application. This parameter is always NULL. If you need to detect whether another instance already exists, create a uniquely named mutex using the tabindex="0" keywords="_win32_CreateMutex" xmlns:mshelp="http://msdn.microsoft.com/mshelp"/>CreateMutex function. CreateMutex will succeed even if the mutex already exists, but the function will return ERROR_ALREADY_EXISTS. This indicates that another instance of your application exists, because it created the mutex first.
lpCmdLine
[in] Pointer to a null-terminated string specifying the command line for the application, excluding the program name. To retrieve the entire command line, use the tabindex="0" keywords="_win32_GetCommandLine" xmlns:mshelp="http://msdn.microsoft.com/mshelp"/>GetCommandLine function.
nCmdShow
[in] Specifies how the window is to be shown. This parameter can be one of the following values.
SW_HIDE
Hides the window and activates another window.
SW_MAXIMIZE
Maximizes the specified window.
SW_MINIMIZE
Minimizes the specified window and activates the next top-level window in the Z order.
SW_RESTORE
Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window.
SW_SHOW
Activates the window and displays it in its current size and position.
SW_SHOWMAXIMIZED
Activates the window and displays it as a maximized window.
SW_SHOWMINIMIZED
Activates the window and displays it as a minimized window.
SW_SHOWMINNOACTIVE
Displays the window as a minimized window. This value is similar to SW_SHOWMINIMIZED, except the window is not activated.
SW_SHOWNA
Displays the window in its current size and position. This value is similar to SW_SHOW, except the window is not activated.
SW_SHOWNOACTIVATE
Displays a window in its most recent size and position. This value is similar to SW_SHOWNORMAL, except the window is not actived.
SW_SHOWNORMAL
Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.

Return Value

If the function succeeds, terminating when it receives a tabindex="0" keywords="_win32_WM_QUIT_cpp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"/>WM_QUIT message, it should return the exit value contained in that message's wParam parameter. If the function terminates before entering the message loop, it should return zero.



Remarks

Your WinMain should initialize the application, display its main window, and enter a message retrieval-and-dispatch loop that is the top-level control structure for the remainder of the application's execution. Terminate the message loop when it receives a WM_QUIT message. At that point, your WinMain should exit the application, returning the value passed in the WM_QUIT message's wParam parameter. If WM_QUIT was received as a result of calling tabindex="0" keywords="_win32_PostQuitMessage_cpp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"/>PostQuitMessage, the value of wParam is the value of the PostQuitMessage function's nExitCode parameter. For more information, see tabindex="0" keywords="_win32_Using_Messages_and_Message_Queues_cpp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"/>Creating a Message Loop.

ANSI applications can use the lpCmdLine parameter of the WinMain function to access the command-line string, excluding the program name. The reason that WinMain cannot return Unicode strings is that lpCmdLine uses the LPSTR data type, not the LPTSTR data type. The GetCommandLine function can be used to access Unicode strings in the command line, because it uses the LPTSTR data type.

Function Information

HeaderDeclared in Winbase.h, include Windows.h
Import libraryNone
Minimum operating systemsWindows 95, Windows NT 3.1

See Also

tabindex="0" keywords="_win32_Windows_cpp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"/>Windows Overview, tabindex="0" keywords="_win32_CreateMutex" xmlns:mshelp="http://msdn.microsoft.com/mshelp"/>CreateMutex, tabindex="0" keywords="_win32_DispatchMessage_cpp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"/>DispatchMessage, tabindex="0" keywords="_win32_GetCommandLine" xmlns:mshelp="http://msdn.microsoft.com/mshelp"/>GetCommandLine, tabindex="0" keywords="_win32_GetMessage_cpp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"/>GetMessage, tabindex="0" keywords="_win32_PostQuitMessage_cpp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"/>PostQuitMessage, tabindex="0" keywords="_win32_TranslateMessage_cpp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"/>TranslateMessage


tabindex="0" keywords="msdn_copyright" xmlns:mshelp="http://msdn.microsoft.com/mshelp"/>© 2003 Microsoft Corporation. All rights reserved.
[MSDN]Csharp编程指南+参考手册 C#文档手册 1、提供有关关键的 C# 语言功能和 C# 可通过 .NET Framework 访问的功能的详细信息 2、提供有关 C# 关键字、运算符、编译器错误和警告的参考资料 立即下载

相关推荐

计算机考研常见面试题

写在前面 本人参加20考研,由于复试没有具体要求会问哪几门课,所以我就找了网上一些常见的计算机专业的面试题,整理如下 主要结构: 数据库 软件工程 操作系统 计算机组成原理 计算机网络 数据结构 C++ Java 数据库 1、数据:数据库中存储的基本对象。 数据库:长期存储在计算机内的、有组织的、可共享的数据集合。 数据库管理系统:专门用于建立和管理数据库的一套软件。对外部程序提供访问数据库的方法,对内进行数据管理。 数据库系统:与和数据库相关的整个系统,一般由数据库、数据库管理系统、应用程序、数

qq_38841618的博客 2万+

VC++关于WinMain程序的学习笔记(2)

WinMain函数如下: #include <windows.h> #include <stdio.h> //消息是由MSG结构体来表示的。 LRESULT CALLBACK WinSunProc( HWND hwnd, // handle to window表示消息所属的窗口 UINT uMsg, // message identifier指定了消息的标识符 WPARAM wParam, // first message parameter指定消息的附

当路danglu0010 3337

OpenWrt虚拟机磁盘扩容实战:从SquashFS到ext4的完整避坑指南

本文详细介绍了OpenWrt虚拟机磁盘扩容的完整流程,重点对比了SquashFS和ext4文件系统在扩容操作上的关键差异。通过五步安全迁移法和直接分区调整方案,帮助用户有效解决磁盘空间不足问题,同时提供高级技巧和故障排除指南,确保扩容过程顺利无坑。

weixin_29251131的博客 229

windows编程之自己动手写WinMain函数

这是我参考msdn和书本自己写的窗口程序, WinMain函数式所有windows应用程序的入口,类似C语言里的main函数,其功能是:完成一系列的定义及初始化工作,并产生消息循环。消息循环是整个程序运行的核心 。 WinMain函数主要实现以下功能: 1.注册窗口类,建立窗口,执行其他必要的初始化的操作; 2.进入消息循环,根据从应用程序消息队列接受的消息,调用相应的处理过程; 3.当

u010084308的专栏 4196

数理金融学笔记 Chap2 二叉树模型Binomial

2 二叉树模型与期权定价 Binomial Model and Option Pricing 文章目录2 二叉树模型与期权定价 Binomial Model and Option Pricing单期二叉树模型 One-step Binomial Model风险与无风险资产单期二叉树模型与无套利条件无套利定价 No Arbitrage Pricing风险中性定价 Risk Neutral PricingDelta套期保值 Delta Hedging两期二叉树模型 Two-Step Binomial Model

weixin_66831131的博客 2387

从零到一:AIC8800 USB-WiFi模块在Linux内核6.x下的驱动适配与避坑指南

本文详细介绍了AIC8800 USB-WiFi模块在Linux内核6.x下的驱动适配全流程,包括环境准备、源码编译、内核API变更处理及常见问题解决方案。重点针对驱动适配中的符号导出、设备ID识别和固件加载等核心挑战提供实用指南,帮助开发者高效完成硬件驱动兼容性调试。

k8l9m0n的博客 1024

跟我一起玩Win32开发(2):完整的开发流程

上一篇中我给各位说了一般人认为C++中较为难的东西——指针。其实对于C++,难点当然不局限在指针这玩意儿上,还有一些有趣的概念,如模板类、虚基类、纯虚函数等,这些都是概念性的东西,几乎每一本C++书上都会介绍,而平时我们除了会接触到纯虚函数外,其他的不多用。纯虚函数,你可以认为与C#中的抽象方法或接口中的方法类似,即只定义,不实现。好处就是多态,发何处理,由派生类来决定。 在开始吹牛之前,我先推

老周——“易之道” 10万+

基于ESP32的室内空气质量检测系统开发

随着环境污染问题的日益严重,室内空气质量的监测变得越来越重要。室内空气质量的好坏直接影响到人们的健康,尤其是对于在封闭空间长时间待着的人群。为此,基于ESP32的室内空气质量检测系统应运而生。ESP32作为一款集成了Wi-Fi和蓝牙的高性能微控制器,为嵌入式开发提供了良好的平台,适用于构建各种智能硬件设备。本博客将详细介绍如何基于ESP32开发一个室内空气质量检测系统。系统可以实时监测空气中的温度、湿度、二氧化碳浓度、甲醛浓度等指标,并通过Wi-Fi将数据传输到云端或移动设备,方便用户随时查看空气质量情况。

2201_76125393的博客 829

WindowsAPI WinMain

 一、WindowsAPI介绍:WindowsAPI(Windows Application Programming Interface)动态链接:(Dynamic Linking Library ,DLL)Windows动作机制的核心是动态链接库。三个主要的动态链接库:Kernel:处理所有在传统上由操作系统核心处理的事务-内存管理、文件i/o和多任务管理User:使用都

xinxun的地盘 1363

《网络安全自学教程》- OSI七层模型分层及作用,数据封装与解封过程,数据传输过程。

OSI分哪七层,每层的作用是什么,解释数据在七层模型中是怎样传输的,封包和解封过程,数据包在每一层是怎么封装和解封的。

wangyuxiang946的博客 1万+

Android11原生设置屏幕亮由Gamma变化改为线性变化

从Android9 开始屏幕亮度调解变成非线性变化,这样的话就会出现 之前亮度变化很小,到后面时变化亮度很快; 修改为线性变化,只需要修改 ./frameworks/base/packages/SettingsLib/src/com/android/settingslib/display/BrightnessUtils.java /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache L

Android 4923

Windows入门篇一之MSDN手册的使用和第一个窗口程序

在下载完成后,当我们需要查看某个函数的用法时,就可以直接在Visual Studio 2022中按下键盘上的F1键调出帮助查看器,然后打开VS,单击帮助菜单,选择设置帮助首选项,在帮助查看器中启动,后面就会弹出一个对话框,点是(下载)这里我先简单讲解下,因为刚开始学,涉及到很多专有名词,更多的内容,在Windows编程入门篇二会有介绍。MSDN手册是VS中的一个帮助手册,帮助初学者学习Windows编程,来查找各种函数。这里创建项目的时候,会弹出一个消息框,在桌面应用程序中,选择空项目,然后就创建成功了。

m0_74228185的博客 4598

C# + NAudio:构建支持实时音频处理的语音聊天应用(含回声消除)

本文介绍了如何利用C#和NAudio库开发实时语音聊天应用,重点实现回声消除功能。首先概述了NAudio库在音频处理中的作用,包括音频录制、播放和实时处理能力。然后详细讲解了构建基础语音聊天应用的过程,包括麦克风录制和扬声器播放的实现。接着深入探讨了回声消除的原理和实现方法,提出通过比较麦克风输入和扬声器输出的音频信号来消除回声,并给出了核心代码示例。最后,文章还讨论了性能优化方向,如多线程处理和网络传输扩展。该方案为开发高质量实时语音应用提供了实用参考。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1009

由零开始做 Dialog (SDK版) — 在 VC + MSDN 下取巧篇

    (一般来说要做一个 Dialog 是非常简单的,所以这篇教程是写给初学者的。但是由于篇幅所限,对窗体过程或事件驱动不做介绍。)    好了,言归正传。我们就马上来做吧。    打开你的 VC6 (如果有工程的请Close Workspace),选择新建工程(Win32 Application - An empty project ,记得选好保存路径),然后在该路径里新建一个 .cpp文件(

kata520的专栏 1423

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

WinMain的基本流程

原文出处:http://blog.youkuaiyun.com/tcjiaan/article/details/8497535   一、WinMain入口点 我们在学习标准C++的时候,都知道每个应用程序运行时都会先进入入口点函数main,而当从main函数跳出时程序就结束了。在Windows编程里面,也是一样的,只是我们的入口点函数不叫main,叫WinMain,这个函数不同于main,我

Learning by doing 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

main 及 WinMain参数

最近在写win32的界面程序比较多(以前多写命令行和dll), 所以多了解了下WinMain, 并与main作下比较. 作为一个笔记吧. C/C++语言中的main函数, 经常带有参数argc, argv, 如下: int main(int argc, char** argv) int main(int argc, char* argv[])        //也可以是wchar_t 或

Code_monster的专栏 1535

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

WinMain中的lpCmdLine参数

<br />win32可执行程序分为两种类型,基于控制台(Consol-based)的和基于窗口(Windows-based)的。基于控制台程序它的入口函数是传统的main,基于窗口的则是WinMain。这两个入口函数一大区别是对于命令行参数的处理。<br /><br />WinMain函数原型:int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow),LPSTR lpCmdLine存储了

kakaxia6337的专栏 7180

windowSDK 第二讲 winmain

第一只小板凳: 打开"an empty project"后,在VC的IDE中,打开文本编辑器。输入以下内容: #include "windows.h" int WINAPI WinMain (HINSTANCEhInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, intiCmdShow) {   MessageBox (NULL, TEX

anddy926的专栏 2099

WinMain函数的原型解读

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

BKHM的专栏 2041

WinMain函数的定义

WinMain函数的原型声明如下:   int WINAPI WinMain(    HINSTANCE hInstance;    HINSTANCE hPreInstance;    LPSTR lpCmdLine;    int nCmdShow; ); LPSTR和LPWSTR是Win32和VC++所使用的一种字符串数据类型。LPSTR被定义成是一个指向以NULL(‘\0’)

wuxinliulei的专栏 3019

入口函数 main 和 WinMain 的返回值

http://blog.youkuaiyun.com/brantyou/article/details/7308004 自一开始接触 C 语言 和后来的 Windows 编程,我们就知道必须为程序定义一个入口函数 main 或 WinMain 。且已知的 main 函数可以提供一个返回值 int 或者不返回任何数值,即定义为 void main() / void main (int argc, ch

逍遥骏马 2428

WinMain说明

WinMain函数的原型声明如下: int WINAPI WinMain(      HINSTANCE hInstance,          // handle to current instance

learning attitude 1127

WinMain函数的4个参数

WinMain函数的定义 WinMain 函数的原型声明如下: int WINAPI WinMain( HINSTANCE hInstance , // handle to current instance HINSTANCE hPrevInstance , // handle to previous instance LPSTR lpCmdLin

河豚本来没有毒 1887
上一篇: 一个“发送到任意文件夹快捷方式”的脚本程序
下一篇: QQ技巧(1)
风筝
博客等级 码龄22年 5粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值