`
hcmfys
  • 浏览: 356470 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

win32 Test

阅读更多
引用
#define UNICODE #include<windows.h> #include <stdlib.h> #include<stdio.h> #undef _WINDOWS_ #include<afx.h> #define SHOWMSG \ int x=HIWORD(lParam);\ int y=LOWORD(lParam);\ CString str;\ str.Format(TEXT("宽度x=%d 高度y=%d"),x,y);\ SetWindowText(hwnd,str); #define ID_SMALLER 120 LRESULT CALLBACK winproc(HWND hwnd ,UINT msg,WPARAM wParam,LPARAM lParam); LRESULT CALLBACK btproc(HWND hwnd ,UINT msg,WPARAM wParam,LPARAM lParam); TCHAR *szAppName=TEXT("window"); VOID CALLBACK myTimerShow(HWND hwnd, UINT uMsg,UINT_PTR idEvent, DWORD dwTime ); HWND initBt(HWND hwnd,HINSTANCE instance); HWND winHwnd; SYSTEMTIME systime; WNDCLASS regWinClass(HINSTANCE hInstance ) { WNDCLASS wnd; wnd.cbClsExtra=0; wnd.cbWndExtra=0; wnd.hbrBackground= (HBRUSH)GetStockObject(WHITE_BRUSH) ; wnd.lpfnWndProc=winproc; wnd.hInstance=hInstance; wnd.hIcon=LoadIcon(NULL,IDI_ASTERISK); wnd.lpszMenuName=NULL; wnd.style= CS_HREDRAW | CS_VREDRAW ; wnd.lpszClassName=szAppName; wnd.hCursor=LoadCursor(NULL,IDC_ARROW); return wnd; } int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInstancd,LPSTR szCmdLine,int iCmdShow) { HWND hwnd ; MSG msg ; WNDCLASS _winClass=regWinClass(hInstance); if (!RegisterClass(&_winClass)) { MessageBox (NULL,TEXT("This program requires Windows NT!"),szAppName, MB_ICONERROR) ; return 0 ; } hwnd = CreateWindow( szAppName, // window class name TEXT ("The Hello Program"), // window caption WS_OVERLAPPEDWINDOW, // window style CW_USEDEFAULT,// initial x position CW_USEDEFAULT,// initial y position CW_USEDEFAULT,// initial x size CW_USEDEFAULT,// initial y size NULL, // parent window handle NULL, // window menu handle hInstance, // program instance handle NULL) ; // creation parameter ShowWindow (hwnd, iCmdShow) ; SetTimer(hwnd,1,1000,myTimerShow); winHwnd=hwnd; HWND btWnd= initBt(hwnd,hInstance); UpdateWindow (hwnd) ; // btproc=SetWindowLong(btWnd,GWL_WNDPROC,(long)winproc); while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg) ; DispatchMessage (&msg) ; } return msg.wParam ; } LRESULT CALLBACK winproc(HWND hwnd ,UINT message,WPARAM wParam,LPARAM lParam) { PAINTSTRUCT ps ; switch (message) { case WM_CREATE: { TCHAR *test=L"test"; SendMessage(hwnd,12345,(WPARAM)test,120); return 0; } case 12345: { //SHOWMSG TCHAR *t=(TCHAR*)wParam; CString str; str.Format(L"%s",t); // MessageBox(hwnd,t,L"",MB_OK); return 0; } case WM_COMMAND: { switch (wParam) { case ID_SMALLER: MessageBox(hwnd,L"j",L"j",MB_OK); break; } return 0; } case WM_TIMER: { return 0; } case WM_PAINT: { TCHAR *userName=TEXT("java home"); HDC hdc= BeginPaint(hwnd,&ps); TextOut(hdc,10,10,userName,wcslen(userName)); Arc(hdc,10,10,200,300,50,60,200,250); EndPaint(hwnd,&ps); delete userName; return 0; } case WM_DESTROY: { KillTimer(hwnd,1); PostQuitMessage(0) ; return 0 ; } case WM_SIZE: { return 0; } } return DefWindowProc(hwnd, message, wParam, lParam) ; } VOID CALLBACK myTimerShow(HWND hwnd,UINT uMsg,UINT_PTR idEvent,DWORD dwTime ) { GetSystemTime(&systime); CString str; str.Format(L"%d-%d-%d:%d:%d:%d",systime.wYear ,systime.wMonth ,systime.wDay, systime.wHour, systime.wMinute ,systime.wSecond ); SetWindowText(winHwnd,str); } /* HWND CreateWindow( LPCTSTR lpClassName, // registered class name LPCTSTR lpWindowName, // window name DWORD dwStyle, // window style int x, // horizontal position of window int y, // vertical position of window int nWidth, // window width int nHeight, // window height HWND hWndParent, // handle to parent or owner window HMENU hMenu, // menu handle or child identifier HINSTANCE hInstance, // handle to application instance LPVOID lpParam // window-creation data ); */ HWND initBt(HWND hwnd,HINSTANCE instance) { HWND btHandle=CreateWindow(L"button",L"确定",WS_CHILD|WS_VISIBLE, 10,30,160,25,hwnd,(HMENU)ID_SMALLER,instance,NULL); return btHandle; } LRESULT CALLBACK btproc(HWND hwnd ,UINT message,WPARAM wParam,LPARAM lParam) { return DefWindowProc(hwnd, message, wParam, lParam) ; }
分享到:
评论

相关推荐

    win32test_example

    标题“win32test_example”表明这是一个基于Win32 API的示例程序,可能是用于教学或测试目的。在Windows操作系统中,Win32 API是一组应用程序接口,允许开发者创建原生的Windows桌面应用。这个例子可能包含了一系列...

    Win32Test1_Pe查看器代码_PE加壳_

    "Win32Test1_Pe查看器代码_PE加壳_" 这个标题暗示了我们将在讨论如何查看PE文件结构以及关于PE加壳的技术。 首先,PE查看器是一种工具,用于分析和理解PE文件的内部结构。它可以帮助程序员或逆向工程师检查程序的节...

    Win10系统VS2022开发环境中X86Win32汇编MASM32环境配置和一些.docx

    Win10系统VS2022开发环境中X86Win32汇编MASM32环境配置和一些 在Win10系统中配置VS2022开发环境,以便使用MASM32进行X86 Win32汇编开发。以下是详细的配置过程和一些需要注意的知识点: 一、安装VS2022 首先,...

    mysql-5.7.20-win32-debug-test.zip

    这个压缩包“mysql-5.7.20-win32-debug-test.zip”显然是针对Windows平台的MySQL 5.7.20的调试测试版,它包含了用于开发、测试和调试MySQL服务器以及相关组件的所有必要文件。 1. **MySQL 5.7.20 版本特点**: - ...

    parasoft c++ test 9.0.0.155 win32 part3

    用7zip解压,破解csdn有 parasoft c++ test 是单独的应用,和eclips集成,可以和c++ test for visual studio plugin配合

    win32 simple-test.c

    win32 simple_test.c

    Python调用win32API的一个实例.rar

    Python调用win32API是将Python编程语言与Windows操作系统底层功能相结合的一种技术。win32API(Windows API)是微软提供的一组函数库,它提供了操作系统的核心功能,包括文件操作、窗口管理、网络通信等。通过Python...

    cpptest_9.6.2.298_win32_x86_64.exe

    C++ test 9.6.2.298 win32 x86 x64

    Win32写的磁性窗体

    在提供的压缩包文件中,Win32_Test.sln是Visual Studio的解决方案文件,包含项目的配置信息。而Win32_Test很可能是源代码文件,包含了实现磁性窗体功能的C++代码。通过打开并编译这个项目,你可以看到具体的代码实现...

    c++11封装win32界面库

    `test`目录则很可能包含单元测试代码,用于验证封装的Win32界面库的功能是否正确。测试是软件开发的重要环节,它确保了代码的质量和可靠性。可能使用了如Google Test等测试框架来编写测试用例,覆盖库的各种功能,...

    Burn In Test 4.0 for win

    "Burn In Test 4.0 for win"是一款专为Windows操作系统设计的烧机测试软件,它提供了全面的硬件测试方案,包括处理器、内存、硬盘、显卡、声卡等多个关键部件。 该软件的核心功能在于其多样的测试模块: 1. **...

    c-log_win_test

    《c-log_win_test:在Win32环境下构建轻量级C日志库的探索与实践》 在软件开发过程中,日志系统扮演着至关重要的角色,它能够帮助开发者追踪程序运行状态,定位并解决问题。"c-log_win_test"项目正是为了解决在Win...

    Win32应用程序框架中类的结构

    在Windows编程环境中,Win32 API是开发桌面应用程序的核心组件,它提供了丰富的功能来创建用户界面、处理系统事件和管理应用程序资源。当我们谈论"Win32应用程序框架中类的结构"时,通常指的是如何构建一个基于...

    parasoft c++ test 9.0.0.155 win32 part1

    用7zip解压,破解csdn有 parasoft c++ test 是单独的应用,和eclips集成,可以和c++ test for visual studio plugin配合

    win-test-install.cmd

    ergsr

    mysql-connector-odbc-5.1.5--win32

    在这个特定的场景中,我们讨论的是 "mysql-connector-odbc-5.1.5--win32",一个适用于 32 位 Windows 10 系统的 MySQL 连接器版本。 ODBC 是一种数据访问接口,它为不同的数据库系统提供了一种统一的 API(应用程序...

    STEP 7-Micro WIN V32指令库.rar

    6. **位操作指令**:如 BIT(位设置)、BITR(位复位)、BITN(位取反)、TEST(测试位)等,用于处理位级逻辑,是处理状态和信号的重要工具。 7. **跳转和子程序调用指令**:如 CJNE(条件跳转)、CALL(调用子...

    【Win32汇编】定时器例子

    在本文中,我们将深入探讨【Win32汇编】中的定时器实现,通过一个实际的例子来阐述相关知识点。首先,我们需要了解的是,Win32汇编是微软Windows操作系统上编程的一种底层语言,它允许程序员直接操作CPU的指令集,...

    sqlite-shell-win32-x86-3080200.zip

    "sqlite-shell-win32-x86-3080200.zip" 是SQLite针对Windows 32位平台的命令行接口(shell)的压缩包,版本号为3.8.2.0。这个压缩包包含了一个名为"sqlite3.exe"的可执行文件,它是SQLite Shell,也就是SQLite的...

    BURNINTEST--硬件检测工具

    support only, 32-bit BurnInTest restricted to 32-bit Windows and BurnInTest run as administrator. Release 5.3 build 1034 WIN32 release 3 October 2008 - Correction to setting the CD burn test drive...

Global site tag (gtag.js) - Google Analytics