C语言从main函数创建windows程序

  • 格式:docx
  • 大小:12.44 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言从main函数创建windows程序

#include

#include

#include "resource.h"

#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")

extern "C" WINBASEAPI HWND WINAPI GetConsoleWindow ();

INT_PTR CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam);

HWND hwnd;

HINSTANCE hInstance;

void main(){

hwnd=GetConsoleWindow();

hInstance=GetModuleHandle(NULL);

HWND hdlg = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_MAIN),hwnd,(DLGPROC)DlgP roc);

SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON)));

if(!hdlg)

{

return;

}

ShowWindow(hdlg,SW_SHOW);

UpdateWindow(hdlg);

MSG msg;

while(GetMessage(&msg,NULL,0,0))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

}

INT_PTR CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)

{

switch(msg)

{

case WM_INITDIALOG:

SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM)LoadIcon(hInstance,

MAKEINTRESOURCE(IDI_ICON)));

return 0;

case WM_SYSCOMMAND:

if(wParam == SC_CLOSE)

{

PostQuitMessage(0);//退出

}

return 0;

case WM_COMMAND:{

switch(LOWORD(wParam))

{

case IDC_Exit:{

MessageBox(hDlg,"Hello World","",MB_OK);

PostQuitMessage(0);//退出

}

break;

}

}

}

return (INT_PTR)FALSE;

}

相关主题