INIT.C
资源名称:MSDN_VC98.zip [点击查看]
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:4k
源码类别:
Windows编程
开发平台:
Visual C++
- // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
- // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
- // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
- // PARTICULAR PURPOSE.
- //
- // Copyright (C) 1993-1997 Microsoft Corporation. All Rights Reserved.
- //
- // MODULE: init.c
- //
- // PURPOSE: Performs application and instance specific initialization.
- //
- // FUNCTIONS:
- // InitApplication() - Initializes window data and registers window.
- //
- // COMMENTS:
- //
- #include <windows.h> // required for all Windows applications
- #include <wsipx.h> // IPX Sockets defs
- #include "globals.h" // prototypes specific to this application
- HINSTANCE hInst; // current instance
- char szAppName[9]; // The name of this application
- char szTitle[40]; // The title bar text
- char szConnectNetwork[] = "00000000";
- char szConnectNode[] = "000000000000";
- char szConnectSocket[] = "2FFF";
- char szListenSocket[] = "2FFF";
- BOOL i_should_sleep = TRUE;
- //
- // FUNCTION: InitApplication(HINSTANCE, int)
- //
- // PURPOSE: Initializes window data and registers window class.
- //
- // PARAMETERS:
- // hInstance - The handle to the instance of this application that
- // is currently being executed.
- // nCmdShow - Specifies how the main window is to be displayed.
- //
- // RETURN VALUE:
- // TRUE - Success
- // FALSE - Initialization failed
- //
- // COMMENTS:
- //
- // This function is called at application initialization time. It
- // performs initialization tasks for the current application instance.
- // Unlike Win16, in Win32, each instance of an application must register
- // window classes.
- //
- // In this function, we initialize a window class by filling out a data
- // structure of type WNDCLASS and calling the Windows RegisterClass()
- // function. Then we create the main window and show it.
- //
- //
- BOOL InitApplication(HINSTANCE hInstance, int nCmdShow)
- {
- WNDCLASS wc;
- HWND hwnd; // Main window handle.
- // Load the application name and description strings.
- LoadString(hInstance, IDS_APPNAME, szAppName, sizeof(szAppName));
- LoadString(hInstance, IDS_DESCRIPTION, szTitle, sizeof(szTitle));
- // Save the instance handle in static variable, which will be used in
- // many subsequence calls from this application to Windows.
- hInst = hInstance; // Store instance handle in our global variable
- // Fill in window class structure with parameters that describe the
- // main window.
- wc.style = CS_HREDRAW | CS_VREDRAW; // Class style(s).
- wc.lpfnWndProc = (WNDPROC)WndProc; // Window Procedure
- wc.cbClsExtra = 0; // No per-class extra data.
- wc.cbWndExtra = 0; // No per-window extra data.
- wc.hInstance = hInstance; // Owner of this class
- wc.hIcon = LoadIcon (hInstance, szAppName); // Icon name from .RC
- wc.hCursor = LoadCursor(NULL, IDC_ARROW); // Cursor
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); // Default color
- wc.lpszMenuName = szAppName; // Menu name from .RC
- wc.lpszClassName = szAppName; // Name to register as
- // Register the window class and return FALSE if unsuccesful.
- if (!RegisterClass(&wc))
- {
- return FALSE;
- }
- // Create a main window for this application instance.
- hwnd = CreateWindow(szAppName, // See RegisterClass() call
- szTitle, // Text for window title bar
- WS_OVERLAPPEDWINDOW, // Window style
- CW_USEDEFAULT, 0, // Use default positioning
- CW_USEDEFAULT, 0, // Use default size
- NULL, // Overlapped has no parent
- NULL, // Use the window class menu
- hInstance, // This instance owns this window
- NULL // Don't need data in WM_CREATE
- );
- // If window could not be created, return "failure"
- if (!hwnd)
- return FALSE;
- // Make the window visible; update its client area; and return "success"
- ShowWindow(hwnd, nCmdShow); // Show the window
- UpdateWindow(hwnd); // Sends WM_PAINT message
- return TRUE; // We succeeded...
- }