动手写第一个Windows程序

用的IDE是Visual Studio 2008 中文版
创建了一个Win32 Application

// sdafsadf.cpp : 定义应用程序的入口点。
//

#include "stdafx.h"
#include "sdafsadf.h"
#include <stdio.h>


LRESULT CALLBACK WinSunProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);

int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line
int nCmdShow // show state
)
{
WNDCLASS wndcls;
wndcls.cbClsExtra=0;
wndcls.cbWndExtra=0;
wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
wndcls.hInstance=hInstance;
wndcls.lpfnWndProc=WinSunProc;
wndcls.lpszClassName="Weixin2003";
wndcls.lpszMenuName=NULL;
wndcls.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wndcls);

HWND hwnd;
hwnd=CreateWindow("Weixin2003","北京维新科学技术培训中心",WS_OVERLAPPEDWINDOW,
0,0,600,400,NULL,NULL,hInstance,NULL);

ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);

MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}

LRESULT CALLBACK WinSunProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
switch(uMsg)
{
case WM_CHAR:
char szChar[20];
sprintf(szChar,"char is %d",wParam);
MessageBox(hwnd,szChar,"weixin",0);
break;
case WM_LBUTTONDOWN:
MessageBox(hwnd,"mouse clicked","weixin",0);
HDC hdc;
hdc=GetDC(hwnd);
TextOut(hdc,0,50,"计算机编程语言培训",strlen("计算机编程语言培训"));
ReleaseDC(hwnd,hdc);
break;
case WM_PAINT:
HDC hDC;
PAINTSTRUCT ps;
hDC=BeginPaint(hwnd,&ps);
TextOut(hDC,0,0,"维新培训",strlen("维新培训"));
EndPaint(hwnd,&ps);
break;
case WM_CLOSE:
if(IDYES==MessageBox(hwnd,"是否真的结束?","weixin",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
return 0;
}

我编译各种错误
然后我就纳闷了,难道是孙鑫的书太老了?
后来按了Alt+F7

[img]http://dl.iteye.com/upload/attachment/0077/0555/d540f984-7b40-3c96-a353-f29c2913c0af.jpg[/img]

配置属性---->常规--->字符集---->选择未设置
就可以正常运行了

结果:
[img]http://dl.iteye.com/upload/attachment/0077/0559/e57393d0-d0e3-3d5c-b41a-9f5368ba8eb4.jpg[/img]

----------------------------------------------------------------------------------

#include < stdio.h >
#include <windows.h>
#include <commctrl.h>
#include <shlobj.h>
#include <string.h>
#include <stdlib.h>
#include <memory.h>
#include <htmlhelp.h>
#include <commctrl.h>
#include <time.h>
#include <Winbase.h>
#include <shlwapi.h>
#include "resource.h"

#define EXTERN extern

EXTERN HWND ghMainWnd;


// WinTest.cpp : アプリケーションのエントリ ポイントを定義します。
//
#include "stdafx.h"
#include "WinTest.h"
#include "rp_Fn2lp.h"

LRESULT CALLBACK MainDlgProc(HWND, UINT, WPARAM, LPARAM);
BOOL InitMainDlg(HWND);

int WINAPI WinMain(
HINSTANCE hInst,
HINSTANCE hPrev,
LPSTR lpCmdLine,
int nCmdShow
) {
DialogBox(hInst, MAKEINTRESOURCE(IDD_MAIN),GetDesktopWindow(), (DLGPROC)MainDlgProc);

return 0;
}

LRESULT CALLBACK MainDlgProc(HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_INITDIALOG:
InitMainDlg(hdlg);
return FALSE;
case WM_SYSCOMMAND:
switch( wParam ){

case SC_CLOSE :// 終了処理選択
EndDialog(hdlg, TRUE);
break;

}

return FALSE;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDCANCEL:
EndDialog(hdlg, TRUE);
break;
}
return TRUE;
case WM_DESTROY:
PostQuitMessage(0);
break;

default:
return FALSE;
}

return TRUE;
}

BOOL InitMainDlg(HWND hdlg)
{
return TRUE;
}


--------------------------------------------------------------------------------------------------------------------------------------------------------------------
SetFocus(hdlg);
GetFocus();
MoveWindow(hdlg,300,200,600,350,NULL);

-------------------------------------------------------------------------------

int aclState = 7;

for( int i = 0;i < 32;i++ )
{
int temp = 1;
temp = temp << i;
temp = aclState & temp;
if(temp != 0){
MessageBox(hdlg,"ok","weixin",0);
}
}
TCP/IP 动手实践1-windows驱动开发入门                                             TCP/IP 动手实践1-windows驱动开发入门配套代码 从此下载:http://download.youkuaiyun.com/source/2390156开篇序言: 如果你是一名热衷于计算机技术的程序员,看到此题,你一定会想起一本大名鼎鼎的技术秘籍,即余渊的《自己 阅读详情

相关推荐

智能体在车联网中的应用:第31天 基于RLlib的多智能体PPO实战:MAPPO算法解决simple_spread合作任务

本文介绍了如何利用RLlib框架实现多智能体强化学习算法MAPPO,解决simple_spread任务。首先分析了RLlib的架构设计理念和多智能体支持特性,包括策略映射、环境包装等核心组件。然后详细解析了simple_spread环境的任务定义、观察空间和奖励函数设计。最后回顾了MAPPO算法原理,说明其如何在RLlib中实现集中式训练与分布式执行的CTDE范式。文章提供了完整的安装指南和环境配置方法,帮助读者快速搭建多智能体强化学习实验环境。

IT深耕十余载,大道之简 1332

Windows编程基础,第一个Windows程序,注册窗口,创建窗口

Win32编程,指的是用Window提供的API(Application Programming Interface)为Window编写应用程序。Windows编程,大家也通常称为win32编程,或win32 SDK编程,其含义是针对32位Windows操作系统。 在这一章节中,我们会带大家认识Windows应用程序,编写第一个Windows程序,带大家学习注册窗口和创建窗口。

WdIg-2023的博客 1726

即梦 AI 全功能零基础详细教程(纯技术版)

即梦 AI 是一款多模态 AI 生成工具,主打文本生成视频、图片生成视频、角色一致性生成、音画同步等核心功能,依托自研 AI 视觉模型,实现从文本 / 图片 / 音频素材输入,到高清视频、图像内容输出的全流程 AI 创作,支持短视频、短剧、创意素材等多场景创作,具备操作门槛低、生成效率高、画面可控性强的技术特点。@为工具内置引用指令,作用是锁定指定素材 / 角色,强制 AI 按照该素材的核心特征生成内容,无额外付费、解锁要求,免费使用。剧本拆分:将短剧拆分为单镜头(15 秒内 / 个)

2501_92061023的博客 5830

Windows编程05_对话框,静态库,动态库

对话框,静态库,动态库

weixin_41865866的博客 435

在Ansys Mechanical中对磨损进行建模

在有限元分析中,磨损是通过移动接触表面上的节点来复制材料侵蚀来建模的。仿真迭代更新几何,并在每次更新后重新计算平衡,使过程成为非线性的。Ansys使用将压力、相对运动和材料阻力与表面损失联系起来的经验定律来处理连续介质尺度的磨损。要在Ansys Mechanical中激活磨损建模,必须使用TB,WEAR命令定义专用材料模型。该命令与 TBDATA 相结合,允许用户输入与磨损相关的材料常数,以控制磨损的计算方式以及在接触表面上的应用方式。

jkh920184196的博客 2629

2025年三级等保新规实战:从零开始搭建企业安全防护体系(附完整配置清单)

本文详细解析2025年三级等保新规的核心变化,提供从零开始搭建企业安全防护体系的实战指南。重点介绍动态防护能力、实战化攻防验证和全链路数据保护等关键要求,并附完整配置清单,帮助企业高效合规。

weixin_30836759的博客 468

动手写第一个windows程序 新建一个窗口

主要熟悉windows窗口的一些窗口类,显示等,比较简单,注释比较详细了; #include #include // 函数声明 LRESULT CALLBACK WinCipher( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); //主函数 int WINAPI WinMain( HINSTANCE hInstance,

小人物的草稿本 1189

在 FlexSim 中建 AGV 小车模型时,如果设定“每次充电需要 2 小时才能充满”,应该如何配置 AGV 的充电功能?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 881

用C#手动写一个Windows窗体程序

首先,新建一个空项目testForm。然后在解决方案栏点testForm解决方案,增加一个C#类,类名叫testForm.写如下的代码:using System;using System.Drawing;using System.Windows.Forms; namespace testForm{     ///     /// testForm     

周海汉的开发专栏 1893

量化交易 米筐 多因子合成(回测中使用)

多因子合成 1、因子合成 将一些相关(高、低)的因子合成一个因子 方法: 使用PCA方式(使用于较强相关性) 2、核心代码 将因子 inc_revenue_ttm 和 operating_revenue_growth_ratio_ttm 合成为一个因子 inc_operating from sklearn.decomposition import PCA pca = PCA(n_components=1) # 因子合并 fund['inc_operating'] = pca.fit_transform(fu

廷益_飞鸟的博客 1062

C#怼倍福TwinCAT3:ADS协议封装实战(附完整读写源码+避坑清单)

变量名大小写敏感:PLC里定义的是GVL.bStart,你写GVL.BStart绝对读不到;数组访问格式:PLC数组是,C#里读单个元素要写,读整个数组不用写索引;句柄要释放:用创建的句柄,一定要用using包起来,否则会占着资源;PLC必须运行:哪怕变量定义对了,PLC没Run(只是Login)也读不到数据;路由配置:如果上位机和PLC不在一个网段,要在TwinCAT3里添加路由(Router→Edit Routes)。倍福ADS通信其实不难,核心就是“配置对+变量名写对+数据类型匹配”。

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

动手写第一个Windows程序(MFC窗口)

运行Visual Studio 2019 单击【文件】菜单→选择【新建】→【项目】,选择【空项目】→【下一步】,项目名称WinMain→点击【创建】 选择【解决方案资源管理器】中的【源文件】右键单击【源文件】→【添加】→【新建项】 添加代码,另外还需要设置字符集和子系统,否则会报错误 字符集设置,选择【WinMain】右击属性,选择【配置属性】→【高级】→【字符集】→【使用多字节字符集】 子系统设置,选择【WinMain】右击属性,选择【配置属性】→【链接器】→【子系统】→【窗口(/SUBSYSTEM:WI

qq_43414873的博客 612

贝叶斯网络在R语言中的应用

本文将介绍如何在R语言中使用贝叶斯网络进行建模和推断,并提供相应的源代码示例。以上就是在R语言中使用贝叶斯网络进行建模和推断的基本步骤。通过构建贝叶斯网络模型并使用相应的函数,我们可以对变量之间的依赖关系进行建模、推断和预测。在建立了贝叶斯网络模型后,我们可以使用数据集来估计变量之间的条件概率。接下来,我们可以使用数据集来构建贝叶斯网络模型。除了进行推断,我们还可以使用贝叶斯网络模型进行预测。一旦我们获得了贝叶斯网络模型和条件概率表,我们就可以使用该模型进行推断。首先,我们需要安装并加载相关的R包。

CodeMaven的博客 1277

WindowsAPI笔记(二)---动手写第一个Windows程序

#include #include #include using namespace std; const string ProgramTitle = "Hello Windows"; LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)

Azarath Metrion Zinthos 571

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

1.5动手第一个Window程序

#include<windows.h> #include<stdio.h> LRESULT CALLBACK WinSunProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message param...

qq_42148307的博客 161

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

手工编写第一个windows程序

本来还想动动笔写写的、不过这实在是太多人写过了、直接帖了帖、对于狠多程序还是非常有实际意义的、就算迩不想写win32的应用程序、迩写SDL或者写openGL也总算是个win32框架的程序吧、有了这个、就可以不管剩下的细节了、尽情的在SDL等等中挥舞吧 注意一点就是一定要包含windows.h这个头文件、还有就是windows的main声明、其它也没什么了、 int WINAPI Wi...

weixin_30466421的博客 75

WINDOWS API程序设计入门

WINDOWS窗口创建1.学习目的2.参考书籍3.学习内容4.代码5.结果 1.学习目的 了解 windows操作系统应用程序开发的基本概念,win32 API函数、消息与事件驱动; 掌握WinMain函数的基本框架,窗口定义、窗口创建、消息循环及窗口过程函数; 2.参考书籍 《Windows程序设计教程》 3.学习内容 动手写第一个基于windows API 的基于窗体、消息循环、事件驱动的 Windows C语言风格的Windows 程序。 4.代码 #include <windows.h&g

bawei939的博客 1161

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

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

u010084308的专栏 4196

深入浅出话VC++(1)——Windows程序内部运行机制

一、引言 要想熟练掌握Windows应用程序的开发,首先需要理解Windows平台下程序运行的内部机制,然而在.NET平台下,创建一个Windows桌面程序,只需要简单地选择Windows窗体应用程序就可以了,微软帮我们做了非常好的封装,以至于对于很多.NET开发人员至今也不清楚Windows 平台下程序运行的内部机制,所以本专题将深入剖析下Windows 程序的内部运行机制。 二、Windo...

weixin_30278237的博客 169

java写一个抢票程序_JAVA开发:开发属于你的第一个Java程序

01_开发属于你的第一个Java程序Java程序的运行原理Java程序追求的目标是一次编译到处运行,那他是如何做到的?我们通过图来说明:通过将我们编写的java文件编译成class文件,然后通过在JVM上运行class文件,即可完成java文件的执行。那中间这个编译和执行都需要有一个东西的支持,就是JDK。所以,我们需要上官网下载安装包。注意,不同的操作系统,JDK的版本是不同的。安装JDK环境J...

weixin_28900461的博客 3303

Windows Mobile动手实验集锦

连续经历了两年的Windows Mobile动手实验,回想起来,被问得最多的一个问题就是:“动手实验的手册哪里能找到?”这是一个无法回答的问题,在TechEd和MEDC之外,的确很难获得动手实验的手册和虚拟机。其实这些动手实验的资料在MSDN上都能找到,只是平时大家不去注意罢了。今年TechEd也有很多人问我,我回答他们后,很多人依旧迷茫,也许以为我在忽悠他们吧。正好趁这两天有时间,我把能够找到的

aawolf = new Mobile.MVP 1万+

学习 自已动手写操作系统

 去年还是前年,就在书店看到那本《自已动手写操作系统》。觉得很不错。 以前在《程序员》杂志上也看过于渊的关于写简单操作系统的文章。 书到时大部份都看过了。就是没有实践,呵呵!       现在,有种自已coding一遍的冲动。       原来看过的《windows核心编程》,那些什么保护模式什么的,都可以实践一遍了,HOHO~~     工具准备:     1、FloppyWriter.exe网

断桥诗轩 1299

自己动手编写 Windows 防止锁屏脚本程序

背景介绍 有些公司处于安全和保密工作考虑,会通过 Windows 组策略强制所有办公电脑在无操作的情况下 5 分钟或者 10 分钟自动锁屏,避免无关人士看到不该看的内容。作为程序员,十分反感这种一刀切的方案,一来很容易打断思路,比如正在写代码或者向别人展示时,突然锁屏了就挺恶心的;二来每次锁屏后都要输入密码,这简直就是浪费生命,不能忍! 为了解决这个问题,我们可以编写一个简单的 vbs 脚本,在锁屏周期内模拟按键操作,从而避免 Windows 桌面被锁屏。之所以使用 vbs 脚本,而不是 Python、Ja

程序员「阿基米东」的编程之旅 1万+
上一篇: hibernate_1700_one2many_many2one_bi_crud(5)
下一篇: 今天面试居然选错了一道题
diao21
博客等级 码龄16年 0粉丝 152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值