改这个程序好久,没有头绪,请圈子里的老大给个示范。要保持是Unicode版本,没有黑黑的控制台。
C++代码如下,在Visual Studio 2005下编译通过:
#include <windows.h><windows.h></windows.h>
#include <tchar.h><tchar.h></tchar.h>
/* Declare Windows procedure */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nCmdShow)
{
/* Make the class name into a global variable */
TCHAR szClassName[ ] = TEXT("HelloWorld");
HWND hwnd; /* This is the handle for our window */
MSG messages; /* Here messages to the application are saved */
WNDCLASSEX wincl; /* Data structure for the windowclass */
/* The Window structure */
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */
wincl.style = CS_HREDRAW | CS_VREDRAW; /* Catch double-clicks */
wincl.cbSize = sizeof (WNDCLASSEX);
/* Use default icon and mouse-pointer */
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; /* No menu */
wincl.cbClsExtra = 0; /* No extra bytes after the window class */
wincl.cbWndExtra = 0; /* structure or the window instance */
/* Use Windows's default colour as the background of the window */
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
/* Register the window class, and if it fails quit the program */
if (!RegisterClassEx (&wincl))
return 0;
/* The class is registered, let's create the program*/
hwnd = CreateWindowEx (
0, /* Extended possibilites for variation */
szClassName, /* Classname */
TEXT("SDK Verision"), /* Title Text */
WS_OVERLAPPEDWINDOW, /* default window */
CW_USEDEFAULT, /* Windows decides the position */
CW_USEDEFAULT, /* where the window ends up on the screen */
CW_USEDEFAULT, /* The programs width */
CW_USEDEFAULT, /* and height in pixels */
NULL, /* The window is a child-window to desktop */
NULL, /* No menu */
hThisInstance, /* Program Instance handler */
NULL /* No Window Creation data */
);
/* Make the window visible on the screen */
ShowWindow (hwnd, nCmdShow);
/* Run the message loop. It will run until GetMessage() returns 0 */
while (GetMessage (&messages, NULL, 0, 0))
{
/* Translate virtual-key messages into character messages */
TranslateMessage(&messages);
/* Send message to WindowProcedure */
DispatchMessage(&messages);
}
/* The program return-value is 0 - The value that PostQuitMessage() gave */
return messages.wParam;
}
/* This function is called by the Windows function DispatchMessage() */
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
TCHAR szHello[] = TEXT("Hello world!");
switch (message) /* handle the messages */
{
case WM_PAINT:
hdc = BeginPaint(hwnd,&ps); //begin painting
GetClientRect(hwnd,&rect); //get the size of client area
DrawText(hdc,szHello,_tcslen(szHello),&rect,DT_CENTER); //show "hello world"
EndPaint(hwnd,&ps); //end painting
break;
case WM_DESTROY:
PostQuitMessage (0); /* send a WM_QUIT to the message queue */
break;
default: /* for messages that we don't deal with */
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;
}
分享到:
相关推荐
这是片假名的旧大须的改写版本! bancho仿真器,在使用时可提供更快,更稳定和可扩展的体验。安装诗织! 需要运行 v8 +。 安装依赖项并启动服务器。 $ cd shiori$ npm install$ node shiori外挂程式诗织! 目前已...
Asp.Net MVC 是微软开发的一款用于构建Web应用程序的框架,它基于Model-View-Controller (MVC)设计模式,提供了一种分离关注点的方式,使开发者可以更清晰地组织代码,提高可测试性和可维护性。...
我们这里的工程名为helloworld。 6.这时软件自动添加基本的头文件,因为这个程序我们不需要其他的功能,所以 直接点击Next。 7.我们将base class 选为QDialog 对话框类。然后点击Next。 8.点击Finish,完成工程的...
"嵌入式GUI比较" 嵌入式GUI(Graphical User Interface)是嵌入式系统中不可或缺的一部分,它提供了人机交互的接口,帮助非专业用户更方便地使用嵌入式系统。当前,嵌入式Linux系统中有多种GUI解决方案,本文将对...
教主Oracle SQL高级查询优化改写完美培训视频 2.0版,这个我参与培训的,包含视频、SQL文件、教学文档内容完整,分享给大家学习,共同努力进阶转型开发DBA,人称教主,做sql改写十多年了,sql改写功底很强!
我将它改写为一个VC版本。但是该版本比2.0.6B有点删减,比如说gonchuki支持的按钮快捷键我改写的不支持。 另外,我新加了一种Graphic按钮类型,该类型按钮显示4个图片:通常状态图片、按下图片、鼠标移动在按钮上时...
《Oracle查询优化改写技巧与案例》不讲具体语法,只是以案例的形式介绍各种查询语句的用法。第1~4章是基础部分,讲述了常用的各种基础语句,以及常见的错误和正确语句的写法。这部分的内容应熟练掌握,因为日常查询...
根据提供的文件信息,本文将对《Oracle查询优化改写技巧与案例》这一主题进行详细的解析,涵盖Oracle查询优化的基本概念、重要性、改写技巧及其实际应用案例。 ### 一、Oracle查询优化概述 #### 1.1 查询优化定义 ...
《Oracle查询优化改写技巧与案例》不讲具体语法,只是以案例的形式介绍各种查询语句的用法。第1~4章是基础部分,讲述了常用的各种基础语句,以及常见的错误和正确语句的写法。这部分的内容应熟练掌握,因为日常查询...
《Oracle查询优化改写技巧与案例》不讲具体语法,只是以案例的形式介绍各种查询语句的用法。第1~4章是基础部分,讲述了常用的各种基础语句,以及常见的错误和正确语句的写法。这部分的内容应熟练掌握,因为日常查询...
- 改写内存中的字符串,如将 "world" 改为 "WORLD",可以通过 `E` 命令实现,然后显示修改后的结果。 - 去掉字符串定义语句 `MESS DB 'Hello, World!', 0DH, 0AH, 24H`,程序依然能汇编连接,但缺少字符串,输出...
本课件将深入浅出地介绍如何使用C语言编写程序,从最基础的"Hello World"程序开始,逐步深入到变量、数据类型、运算符和表达式等核心概念。 一、打印"Hello World" C语言的入门程序通常从打印"Hello World"开始。...
print('Hello world!!!', i) time.sleep(1) for n in range(10): say_hi(n) ``` 在这个例子中,每个`say_hi`函数调用都会等待上一个调用完成后再执行,因此整个过程是按顺序执行的。 **多进程**则是指将任务...
工程中用到GuiLib发现其原来的程序是vc6的 直接移植到2005上来有很多地方编不过,而且不支持unicode,于是改了改,并去掉了其静态库工程改写了一下Guilib.h文件,方便使用习惯。 传上来分享。
C语言,将一个递归程序用栈改写为非递归,其中用到栈的基本操作
java-业务需求需要根据经纬度计算面积,整理了一下根据经纬度计算面积,根据openlayers借鉴改写,亲测可用!
改写了proxool,让他支持spring注入 当用spring注入时间的时候,跑起来spring会报错。 是因为里面类似不一致的问题。改写之后,跑起来不会有问题
Oracle查询优化改写 技巧与案例.pdf