
vc课程笔记
文章平均质量分 78
lokicui
个人正从事于嵌入式方面的工作.欢迎交流....
展开
-
第16课
第16课 1.事件对象:来实现线程的同步。与互斥对象一样均属于内核对象。 当人工重置有信号时,所有线程均得到信号,所以不能设为人工重置。代码就不贴了。 通过创建匿名的事件对象,也可以让一个程序只能运行一个实例。 2.关键代码段实现线程的同步:类似公用电话亭,只有当电话亭里面没人了,其它人才可以再进去打电话。用了4个函数,这种方法比较原创 2008-10-17 10:13:00 · 405 阅读 · 0 评论 -
第18课 ActiveX编程(下面X均为ActiveX简称
第18课 ActiveX编程(下面X均为ActiveX简称)1.在VB中调用X控件,添加方法 project->Add components。另外可以用Object Browser来查看控件2.在VC中创建X控件1.新建一个X工程名为Clock,注意一个文件中可以包含多个控件。2.保持缺省设置,完成。注意它生成的三个类,以及相关的接口。3.运行它。选择TSTCON32.e原创 2008-10-17 10:11:00 · 529 阅读 · 0 评论 -
第二十课(续)
Hook.DEF的代码如下:LIBRARY HookEXPORTSSetHook @2SEGMENTSMySec READ WRITE SHARED 也可以设置节的属性。 4.新建一个工程调用此钩子函数。工程名为HookTest,基于对话框的。在OnInitDialog()中调用SetHook(),要事先声明_declspec(dllimport) void S原创 2008-10-17 10:10:00 · 399 阅读 · 0 评论 -
第6课
第6课1.当对某菜单添加消息响应函数时,4个类的消息响应优先次序分别是:1.View;2.CDOC;3.CMainFrame.4.CWinAPP.为什么?请参阅《深入浅出》2.消息分类:a;标准消息(以WM_开头的消息,但不包括ON_COMMAND);b;命令消息 ON_COMMAND(IDM_PHONE1, OnPhone1),菜单和工具栏的消息。c.通告消息:按钮,列表框发出的消息。CCmdT原创 2008-10-17 10:17:00 · 422 阅读 · 0 评论 -
第7课 第8课
第7课1.如果在SDI中要调用对话框a.先插入一个对话框资源;b.然后在ClassWizards中为其创建一个类。其目的是比较方便为添加按纽和消息响应函数。c.然后实例化它。在实例化时,必须将其头文件包含进去。2.创建非模态对话框,注意它不能是局部变量。当 点击非模态对话框的OnOK按纽时,它并没有关闭,而是隐藏了。需要调用destroyWindow().3.一个对象只能一个按纽。为什么?因原创 2008-10-17 10:17:00 · 411 阅读 · 0 评论 -
第17课 进程间通信
第17课 进程间通信有四种方法1.剪贴板a.创建个ClipBoard的对话框应用程序,加两EditBox和两个Button发送接收。b.具体代码: 发送端代码:if(OpenClipboard()){CString str;HANDLE hClip;char *pBuf;EmptyClipboard();GetDlgItemText(ID原创 2008-10-17 10:12:00 · 450 阅读 · 0 评论 -
第19课 DLL编程
第19课 DLL编程1.DLL简介,动态库,静态库。动态库节约磁盘空间,静态库体积大。可以用多种语言编写DLL文件。动态库有两种加载方式:隐式调用和动态加裁!2.新建一个DLL1的dll工程,加入一源文件名为dll1.cpp,加入add和subtract两个函数,注意此时须在函数名前加_declspec(dllexport),并且编译。用dumpbi -exports dll1.dl原创 2008-10-17 10:11:00 · 549 阅读 · 0 评论 -
第一课 第2课 第3课 第4课 第5课
第一课1.MFC生成的C++源文件中都有StdAfx.h,此文件包含了常用的AFX函数的声明,其中有afxwin.h,此文件包含了CRECT,CPoint,CWnd等许多类及其方法的声明。2.Project->Setting->Debug可以加入命令行参数。3.在SDK中要加入"windows.h"和stdio.h。因为LoadCursor,MessageBox等函数的声明在这个文件中。原创 2008-10-17 10:17:00 · 458 阅读 · 0 评论 -
第 12 课
第12课 文件操作1.常量指针与指针常量的区分char ch[5]="lisi";const char *pStr=ch;//const在*之前,表明指针指向的内容为常量,即为常量指针char * const pStr=ch;//const在*之后,表明指针的地址不能改变,即为指针常量明白?2.对文件读写的三种方法1.C中 FILE *pFile=f原创 2008-10-17 10:16:00 · 342 阅读 · 0 评论 -
vc笔记第十四课(续)
服务器端代码:#include #include void main(){WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD( 1, 1 );err = WSAStartup( wVersionRequested, &wsaData );if原创 2008-10-17 10:14:00 · 316 阅读 · 0 评论 -
第15课多线程与网络编程
第15课多线程与网络编程1.多线程介绍,略2.一个简单的多线程程序MSND中参数[in]和[out]的含义要注意#include #include DWORD WINAPI Fun1Proc(LPVOID lpParameter // thread data);DWORD WINAPI Fun2Proc(LPVOID lpParameter原创 2008-10-17 10:13:00 · 400 阅读 · 0 评论 -
第十七课(续)
void CNamedPipeSrvView::OnPipeCreate() {// TOD Add your command handler code herehPipe=CreateNamedPipe("////.//pipe//MyPipe",PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED,0,1,1024,1024,0,NULL原创 2008-10-17 10:12:00 · 401 阅读 · 0 评论 -
第20课 钩子与数据库编程
第20课 钩子与数据库编程1.Hook简介:作用是拦截某些消息,关键函数是SetWindowsHookEX()2.示例程序:1.新建一基于对话框工程,InnerHook,此过程的钩子是只拦截本进程的。2.在OnInitDialog()中添加代码: g_hWnd=m_hWnd;g_hMouse=SetWindowsHookEx(WH_MOUSE,MousePro原创 2008-10-17 10:10:00 · 415 阅读 · 0 评论 -
第九课 第十课 第十一课
第9课1.修改外观和图标可以在MainFrm中进行,而修改背景和光标只能在View中进行。为什么?因为view的显示挡在了MainFrame的前面。 a.在MainFrame中 PreCreateWindow()中,在窗口创建之前,用重新注册窗口类的方法,比较麻烦。在PreCreateWindow()中修改 也可以用简单的方法,用全局函数//cs.lpsz原创 2008-10-17 10:16:00 · 457 阅读 · 0 评论 -
第13课 文档与串行化
第13课 文档与串行化1.CArchive在菜单打开保存时的代码CFile file("1.txt",CFile::modeCreate | CFile::modeWrite);CArchive ar(&file,CArchive::store);int i=4;char ch=a;float f=1.3f;CString str("http://www.su原创 2008-10-17 10:15:00 · 504 阅读 · 0 评论 -
第14课 网络编程
第14课 网络编程1.TCP流式套接字的编程步骤在使用之前须链接库函数:工程->设置->Link->输入ws2_32.lib,OK!服务器端程序:1、加载套接字库2、创建套接字(socket)。 3、将套接字绑定到一个本地地址和端口上(bind)。4、将套接字设为监听模式,准备接收客户请求(listen)。5、等待客户请求到来;当请求到来后,接受连接请求,原创 2008-10-17 10:15:00 · 528 阅读 · 0 评论