中科院-杨力祥视频教程 02课程
2014-03-07 10:06
453 查看
1.这节课主要 介绍了 windows操作系统和 dos操作系统的工作方式。
①windows操作系统 可以多线程,几个程序并发执行。用户调用api函数,通知操作系统,操作系统给出响应。
dos3.3单线程的程序,每次只能执行一个程序。
②对于打印机的调用:以前都是单个程序调用,所以每个程序都要有响应的打印程序。后来由操作系统调用,程序只要通知操作系统,系统调用响应的打印程序。
2.讲解了一个简单的windows程序,是P先生书里面的。(windows程序设计第五版)
3.程序加载关键的地方:例如加载文件,注册类,这些对以后程序执行有影响的程序要加上判断比较好。if(){}
程序代码:
①windows操作系统 可以多线程,几个程序并发执行。用户调用api函数,通知操作系统,操作系统给出响应。
dos3.3单线程的程序,每次只能执行一个程序。
②对于打印机的调用:以前都是单个程序调用,所以每个程序都要有响应的打印程序。后来由操作系统调用,程序只要通知操作系统,系统调用响应的打印程序。
2.讲解了一个简单的windows程序,是P先生书里面的。(windows程序设计第五版)
3.程序加载关键的地方:例如加载文件,注册类,这些对以后程序执行有影响的程序要加上判断比较好。if(){}
程序代码:
/*------------------------------------------------------------ HELLOWIN.C -- Displays "Hello, Windows 98!" in client area (c) Charles Petzold, 1998 ------------------------------------------------------------*/ #include <windows.h> LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT ("HelloWin") ; 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, // 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 parameters 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) { HDC hdc ; PAINTSTRUCT ps ; RECT rect ; switch (message) { case WM_CREATE: PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ; return 0 ; case WM_PAINT: hdc = BeginPaint (hwnd, &ps) ; GetClientRect (hwnd, &rect) ; DrawText (hdc, TEXT ("Hello, Windows 98!"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER) ; EndPaint (hwnd, &ps) ; return 0 ; case WM_DESTROY: PostQuitMessage (0) ; return 0 ; } return DefWindowProc (hwnd, message, wParam, lParam) ; }
相关文章推荐
- 中科院-杨力祥视频教程 01课程
- 中科院-杨力祥视频教程 03课程
- 中科院-杨力祥视频教程 04课程
- 中科院-杨力祥视频教程 05课程
- 中科院-杨力祥视频教程 07课程
- 中科院-杨力祥视频教程 08课程
- Unity3D泰课在线 ARPG 课程《泰斗破坏神》系列视频教程附素...
- 【备忘】【No6】一套不可多得的Lucene视频教程带课程源码
- 【备忘】一套不可多得的Lucene视频教程带课程源码
- 分享一款由杨中科老师主讲的javascript视频教程,属于.NET课程是视频教程
- chrome视频教程-02 设置
- 【三石jQuery视频教程】02.创建 FontAwesome 复选框和单选框
- HTML5基础视频课程 - 最实用的HTML教程
- [鸟哥linux视频教程整理]02_01_linux操作系统及常用命令
- 课程4:黑马程序员_spring2.5视频教程--视频列表
- [推荐电子图书]-[jquery视频教程 初级+高级][25课程]
- 02-FPGA设计流程介绍——小梅哥FPGA设计思想与验证方法视频教程配套文档
- 大学课程视频教程网址收集
- 冈萨雷斯数字图像处理中科院&电子科大halcon/C++/Opencv视频教程下载
- Python编程教程 Python游戏课程 Python入门到精通视频