`

动手写第一个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



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

结果:


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

#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); 
}
}
分享到:
评论

相关推荐

    windows程序设计第五版的代码

    通过这个压缩包中的代码,读者不仅可以加深对《Windows程序设计》第五版理论的理解,还可以动手实践,提升编程技能。每一章的代码都是精心设计的实例,它们将帮助你逐步掌握Windows程序设计的核心技术和最佳实践。在...

    手把手教写第一个WCF程序

    **标题解析:**“手把手教写第一个WCF程序”这个标题表明了本文将深入浅出地指导初学者如何创建并运行他们的第一个Windows Communication Foundation(WCF)服务。WCF是微软.NET框架中的一个核心组件,用于构建...

    Windows程序设计第五版 中英文 源代码

    2. **中文版.chm**:这个文件提供了《Windows程序设计第五版》的中文翻译,对于中文读者来说,能更直观地理解复杂的概念和技术,减少了语言障碍,有助于提高学习效率。 3. **Windows程序设计(第五版).pdf**:PDF...

    Windows程序设计(第五版)附书源码

    《Windows程序设计(第五版)》是...综上所述,《Windows程序设计(第五版)》涵盖了从基础到高级的Windows编程知识,通过附带的源码,读者可以动手实践,加深对理论的理解,从而成为一名熟练的Windows应用程序开发者。

    Windows程序设计(第五版)代码

    《Windows程序设计(第五版)》是一本深入探讨Windows操作系统下程序开发的经典教材。这本书主要讲解如何使用Microsoft的API(应用程序接口)来编写系统级别的应用程序,涵盖了从基本的窗口创建到复杂的多线程同步等...

    windows程序设计第五版(含源码)

    《Windows程序设计第五版》是一本深入探讨Windows操作系统下程序开发的经典教材,包含了丰富的源代码供读者实践和学习。此书旨在帮助读者理解和掌握在Windows环境下编写高效、可靠的软件技术。书中涵盖了从基本的API...

    windows程序设计(第二版)配书代码

    《Windows程序设计(第二版)》是一本深入探讨Windows操作系统下程序开发的经典教材,由王艳平编著,由人民邮电出版社出版。这本书旨在帮助读者理解和掌握在Windows环境下进行程序设计的技术和方法,适用于初学者和...

    MFC Windows 程序设计[第二版】,电子书及书中全部源代码

    《MFC Windows 程序设计》第二版是一本深入探讨MFC(Microsoft Foundation Classes)框架的权威书籍,旨在帮助开发者构建高效、稳定的Windows应用程序。这本书涵盖了从基础到高级的MFC编程技术,包括UI设计、事件...

    Windows程序设计(第2版)配套光盘

    《Windows程序设计(第2版)》是由王艳平编著的一本深入讲解Windows系统下程序设计的经典教材。这本书旨在帮助读者理解Windows操作系统的核心概念,掌握API调用,以及进行高效、稳定的系统级编程。配套光盘包含了书中...

    MFC Windows程序设计(第二版) 源代码

    总的来说,《MFC Windows程序设计(第二版)》的源代码为学习者提供了一个丰富的实践平台,通过研究和调试这些代码,可以加深对MFC类库的理解,提高Windows应用程序的开发技能。无论是初学者还是有一定经验的开发者...

    Windows程序设计(第二版)配书源代码

    《Windows程序设计(第二版)》是一本深入探讨Windows操作系统下程序开发的经典教材,由王艳平编写。这本书涵盖了从基础的进程、线程管理到更高级的系统调用和性能优化等多个方面,旨在帮助读者掌握Windows API的...

    Windows程序设计第5版(PDF格式)+源代码.

    本书的第一部分通常会介绍Windows编程环境的搭建,包括开发工具的安装、调试器的使用以及工程项目的创建。读者将学习如何使用Visual Studio这样的IDE来编写、编译和调试C或C++代码。 接着,书中的核心内容会围绕...

    《Windows程序设计》实验报告

    1. 编辑第一个C++程序:学生通常会从“Hello, World!”程序开始,通过编写、编译并运行简单的代码,理解代码与运行结果之间的关系。 2. 使用AppWizard建立一个MFC Windows应用:AppWizard可以快速生成项目的框架代码...

    《windows程序设计(第五版)》PDF + 随书光盘代码

    "Windows程序设计第五版.chm"是一个帮助文件,通常包含书中的详细索引、章节摘要以及代码示例。CHM格式是Microsoft的一种合集文件格式,用于存储HTML文档和相关的资源,方便读者离线查阅。这个文件能够帮助读者快速...

    Windows程序设计(第五版)示例 code 源代码

    《Windows程序设计(第五版)示例 code 源代码》是学习Windows程序开发的重要参考资料,尤其适合初学者和有经验的开发者深入理解Win32 API。这份资源包含了全书23章的所有示例源代码,使读者可以一边阅读理论知识,...

    Windows环境下32位汇编语言程序第一版程序

    在Windows环境下,32位汇编语言程序设计是一项复杂而精细的工作,涉及到计算机体系结构、操作系统接口以及编程技术等多个方面。罗云彬所著的《Windows环境下32位汇编程序设计》一书,深入浅出地介绍了如何在Windows...

    WINDOWS程序设计配套代码

    《WINDOWS程序设计配套代码》是Charles Petzold的《Programming Windows》第五版的源代码集合,这本书被誉为Windows编程的经典之作。Petzold先生通过深入浅出的方式,详细讲解了如何在Microsoft Windows环境下进行...

    自己动手写操作系统

    第1章 马上动手写一个最小的"操作系统"1 1.1 准备工作1 1.2 10分钟完成的操作系统1 1.3 Boot Sector3 1.4 代码解释3 1.5 水面下的冰山5 1.6 回顾6 第2章 搭建你的工作环境7 2.1 虚拟计算机(Virtual PC)7 ...

Global site tag (gtag.js) - Google Analytics