⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c++.txt

📁 java...可以随并下的
💻 TXT
字号:
vc下新建一个win32 application工程,更多参看<windows程序设计>一书,这本书很好,百度中搜一下,提供下载的地址很多。 

/*------------------------------------------------------------------ 

SYSMETS2.C -- System Metrics Display Program No. 2 

(c) Charles Petzold, 1998 

------------------------------------------------------------------*/ 

#include <windows.h> 

#include "sysmets.h" 

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; 

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, 

PSTR szCmdLine, int iCmdShow) 

{ 

static TCHAR szAppName[] = TEXT ("SysMets2") ; 

HWND hwnd ; 

MSG msg ; 

WNDCLASS wndclass ; 

wndclass.style = CS_HREDRAW | CS_VREDRAW ; 

wndclass.lpfnWndProc = WndProc ; 

wndclass.cbClsExtra = 0 ; 

wndclass.cbWndExtra = 0 ; 

wndclass.hInstance = hInstance ; 

wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; 

wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; 

wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; 

wndclass.lpszMenuName = NULL ; 

wndclass.lpszClassName = szAppName ; 


if (!RegisterClass (&wndclass)) 

{ 

MessageBox (NULL, TEXT ("This program requires Windows NT!"), 

szAppName, MB_ICONERROR) ; 

return 0 ; 

} 


hwnd = CreateWindow (szAppName, TEXT ("Get System Metrics No. 2"), 

WS_OVERLAPPEDWINDOW | WS_VSCROLL, 

CW_USEDEFAULT, CW_USEDEFAULT, 

CW_USEDEFAULT, CW_USEDEFAULT, 

NULL, NULL, hInstance, NULL) ; 

ShowWindow (hwnd, iCmdShow) ; 

UpdateWindow (hwnd) ; 


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

{ 

TranslateMessage (&msg) ; 

DispatchMessage (&msg) ; 

} 

return msg.wParam ; 

} 

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) 

{ 

static int cxChar, cxCaps, cyChar, cyClient, iVscrollPos ; 

HDC hdc ; 

int i, y ; 

PAINTSTRUCT ps ; 

TCHAR szBuffer[10] ; 

TEXTMETRIC tm ; 

switch (message) 

{ 

case WM_CREATE: 

hdc = GetDC (hwnd) ; 

GetTextMetrics (hdc, &tm) ; 

cxChar = tm.tmAveCharWidth ; 

cxCaps = (tm.tmPitchAndFamily & 1 ? 3 : 2) * cxChar / 2 ; 

cyChar = tm.tmHeight + tm.tmExternalLeading ; 


ReleaseDC (hwnd, hdc) ; 

SetScrollRange (hwnd, SB_VERT, 0, NUMLINES - 1, FALSE) ; 

SetScrollPos (hwnd, SB_VERT, iVscrollPos, TRUE) ; 

return 0 ; 


case WM_SIZE: 

cyClient = HIWORD (lParam) ; 

return 0 ; 


case WM_VSCROLL: 

switch (LOWORD (wParam)) 

{ 

case SB_LINEUP: 

iVscrollPos -= 1 ; 

break ; 



case SB_LINEDOWN: 

iVscrollPos += 1 ; 

break ; 


case SB_PAGEUP: 

iVscrollPos -= cyClient / cyChar ; 

break ; 



case SB_PAGEDOWN: 

iVscrollPos += cyClient / cyChar ; 

break ; 



case SB_THUMBPOSITION: 

iVscrollPos = HIWORD (wParam) ; 

break ; 



default : 

break ; 

} 


iVscrollPos = max (0, min (iVscrollPos, NUMLINES - 1)) ; 

if (iVscrollPos != GetScrollPos (hwnd, SB_VERT)) 

{ 

SetScrollPos (hwnd, SB_VERT, iVscrollPos, TRUE) ; 

InvalidateRect (hwnd, NULL, TRUE) ; 

} 

return 0 ; 

case WM_PAINT: 

hdc = BeginPaint (hwnd, &ps) ; 

for (i = 0 ; i < NUMLINES ; i++) 

{ 

y = cyChar * (i - iVscrollPos) ; 

TextOut (hdc, 0, y, 

sysmetrics[i].szLabel, 

lstrlen (sysmetrics[i].szLabel)) ; 



TextOut (hdc, 22 * cxCaps, y, 

sysmetrics[i].szDesc, 

lstrlen (sysmetrics[i].szDesc)) ; 



SetTextAlign (hdc, TA_RIGHT | TA_TOP) ; 

TextOut (hdc, 22 * cxCaps + 40 * cxChar, y, szBuffer, 

wsprintf (szBuffer, TEXT ("%5d"), 

GetSystemMetrics (sysmetrics[i].iIndex))) ; 

SetTextAlign (hdc, TA_LEFT | TA_TOP) ; 

} 

EndPaint (hwnd, &ps) ; 

return 0 ; 


case WM_DESTROY: 

PostQuitMessage (0) ; 

return 0 ; 

} 

return DefWindowProc (hwnd, message, wParam, lParam) ; 

}

WinExec???. 

UINT WinExec( 
LPCSTR lpCmdLine, // address of command line 
UINT uCmdShow // window style for new application 
); 


WinExec( "?????", SW_SHOW); 

???#include <Windows.h> 


#include <Windows.h> 
#include <iostream> 
using namespace std; 

int main() 
{ 
WinExec( "C:\\WINDOWS\\NOTEPAD.EXE", SW_SHOW); 
cout<< "????????????." <<endl; 
return 0; 
} 

? C:\\WINDOWS\\NOTEPAD.EXE ???????????. 
??:??C++??????,?????API,?????????.

?mfc?? 
????win32 application ??????--???????mfc(??????? 

#include<afxwin.h> 
class CHW:public CWinApp 
{ 
public: 
virtual BOOL InitInstance(); 
}; 

BOOL CHW::InitInstance() 
{ 
CFrameWnd *p=new CFrameWnd; 
p->Create(NULL,(CString)"HW",WS_CAPTION|WS_SYSMENU,CRect(0,0,400,400)); 
p->ShowWindow(m_nCmdShow); 
p->UpdateWindow(); 
this->m_pMainWnd=p; 
return TRUE; 
} 
CHW MyApp;


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -