随笔分类 -  windows

1 2 下一页

raid
摘要:软raid 阅读全文

posted @ 2014-03-16 20:48 DaMengZhang 阅读(250) 评论(0) 推荐(0)

磁盘操作
摘要:得到系统有效的盘符DWORD GetLogicalDriveString(DWORD nnBufferLength,LPSTR lpBuffer )判断磁盘类型:UINT GetDriveType(LPCTSTR lpRootPath)1.得到系统有效的盘符2. 根据设备的类型得到固定磁盘和可移动磁盘3. 对每个盘符调用CreateFile4. 给每个盘符前加PFAD_5. 取设备号设备信息集句柄,设备句柄DEFINE_GUIDGUIDHDEVINFO 阅读全文

posted @ 2014-03-11 23:43 DaMengZhang 阅读(167) 评论(0) 推荐(0)

error LNK2001: unresolved external symbol __beginthreadex
摘要:解决方法:project->settings->C++>category->code generation->Use runtime library选Debug MultiThreaded 阅读全文

posted @ 2014-03-11 23:40 DaMengZhang 阅读(220) 评论(0) 推荐(0)

mfc--弹出文件夹对话框
摘要:1. HRESULT CoInitializeEx(void* pvReserved,DWORD dwCoInit)初始化com组件,传递参数COINIT_APARTMENTTHREADED2.LPITEMIDLIST SHBrowseForFolder(LPBROWSEINFO lpbi)如果没选择,则返回NULL,否则返回一个用来描述所选择文件夹的项目标识列表参数LPBROWSEINFO的成员pszDisplayName必须初始化一块空间,否则,不出对话框3.bool SHGetPathFromIDList(LPCITEMIDLIST pidl,LPTSTR pszPath)把项目标志列表 阅读全文

posted @ 2014-03-11 23:39 DaMengZhang 阅读(433) 评论(0) 推荐(0)

摘要:CString重载了[]操作符CByteArray 类型,RemoveAll移除所有的元素SetSize设置数组的大小SetAt设置某个索引对应的数值在vs中把字符串转化成LPCWSTR类型在赋值给CString类型Cstring.GetBuffer得到的字符串直接强转化成char*会导致数据丢失把Cstring赋值给char * buf,需要使用多字节编码方式sprintf(buf,“%ls”,CStr.GetBuffer(CStr.GetLength()));//不适用汉字或memspy(buf,cstr.Getbuffer(CStr.GetLength()),CStr.GetLength 阅读全文

posted @ 2014-03-11 23:38 DaMengZhang 阅读(176) 评论(0) 推荐(0)

文件操作
摘要:MFC:CFile类提供Read,Write,Seek,SeekToBegin,SeekToEnd,GetLength函数Win32:CreateFile(创建或打开文件),ReadFile,WriteFileC++:向文件中写入数据:ofstream读取文件数据:ifstream 阅读全文

posted @ 2014-03-11 23:37 DaMengZhang 阅读(128) 评论(0) 推荐(0)

boost库
摘要:boost库boost::split() 按照给定的谓词切割字符串,并且把切割后的值放入到给定的容器中string str1("hello world!");string str2;std::vector result;split(result, str1, SplitNotThisChar('l')); // result = [4]("he","","o wor","d!")remove_if()将所有应该移除的元素都移动到了容器尾部并返回一个分界的迭代器. 移除的所有元素仍 阅读全文

posted @ 2014-03-11 23:35 DaMengZhang 阅读(113) 评论(0) 推荐(0)

串口通信
摘要:串口通信波特率:每秒发送的比特位很少用串口传送文件,因为速度太慢了,主要完成控制和检测添加ActiveX控件Microsoft Communitions Control串口通信和网络通信一样,需要一直监听是否有数据来了程序采用一个通用的多串口多线程类CSerialPortEx来处理底层串口通信细节按照自定义串口通信协议SPCP建立连接,实现数据的传输功能串行端口的本质功能是作为CPU和串行设备间的编码转换器vs中删除资源应在基类的OnDestroy之前,否则可能会出错error LNK2001: 无法解析的外部符号 "public: virtual struct CRuntimeCl 阅读全文

posted @ 2014-03-11 23:34 DaMengZhang 阅读(595) 评论(0) 推荐(0)

mfc---拖曳文件
摘要:拖曳文件:文件拖曳会触发OnDropFiles(HDROP hDropInfo)消息:int count = DragQueryFile(hDropInfo,0xFFFFFFFF,NULL,_MAX_PATH)得到拖曳的文件总数DragQueryFile(hDropInfo,i,pszFilePath,_MAX_PATH)得到所拖曳的第i个文件名存入pszFilePath中DragFinish(hDropInfo) 阅读全文

posted @ 2014-03-11 23:33 DaMengZhang 阅读(178) 评论(0) 推荐(0)

mfc---单文档工程添加消息响应
摘要:写消息映射:.h中些函数头文件afx_mag ….cpp中写函数体.cpp中写消息映射给toolbar添加消息:.h中添加头文件afx_msg …..cpp中添加函数体,消息映射ON_COMMAND(,)给toolbar中添加的资源ID在resource.h中 阅读全文

posted @ 2014-03-11 23:32 DaMengZhang 阅读(211) 评论(0) 推荐(0)

进程间通信
摘要:进程间通信剪切板:是系统维护管理的一块内存区域,当在一个进程中复制数据时,是将这个数据放到该内存区域中,当在另一个进程中粘贴数据时,是从该内存区域中取出数据,然后显示在窗口上Bool OpenClipboard(): 打开剪切板Bool EmptyClipboard():清空剪切板,只有清空剪切板后,打开剪切板的窗口才拥有剪切板HGLOBAL GlobalAlloc(UINT uFlags , SIZE_T dwBytes):从堆上分配指定数目的字节数LPVOID GlobalLock(HANDLE hMem): 返回该内存块指针,对全局内存对象进行加锁Bool GlobalUnlock(HA 阅读全文

posted @ 2014-03-11 23:30 DaMengZhang 阅读(204) 评论(0) 推荐(0)

线程同步与异步套接字编程
摘要:线程同步与异步套接字编程事件对象:属于内核对象,可以实现线程同步事件对象的组成:使用计数标记是自动重置还是人工重置的布尔值标记处于通知状态还是未通知状态HANDLE CreateEvent(LPSECURITY_ATTRIBUTES lpEventAttributes,BOOL bManualReset,//人工还是自动重置,true人工,false自动BOOL bInitialState,//事件初始状态,true有信号,false没信号LPCTRSTR lpName//事件对象的名称)关闭事件对象:CloseHandle(HANDLE hHandle)设置事件对象为有信号状态:SetEve 阅读全文

posted @ 2014-03-11 23:29 DaMengZhang 阅读(734) 评论(0) 推荐(0)

网络编程
摘要:网络编程:AfxSocketInit函数内部调用WSAStartup函数加载套接字库,不需要为工程链接ws2_32.lib库文件,还可以确保应用程序在终止之前,调用WSACleanup函数终止对套接字库的使用AfxSocketInit需要包含Afxsock..h,stdafx,h中包含了Afxsock.h可以将接收数据的操作1.放置在一个单独的线程中完成,并给这个线程传递两个参数,创建的套接字,和对话框控件的的句柄2.创建一个套接字的派生类,重写OnAccept消息,OnListen,OnReceive等消息 阅读全文

posted @ 2014-03-11 23:27 DaMengZhang 阅读(132) 评论(0) 推荐(0)

多线程
摘要:多线程进程和程序进程:正在运行的程序的实例,是一个程序在其自身的地址空间中的一次执行活动程序:计算机指令的集合,它以文件的形式存储在磁盘上一个程序可以对应多个进程进程是资源申请,调度和独立运行的单位程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位进程的组成 内核对象:操作系统内部分配的一个内存块,用来存放关于进程的统计信息的地方,负责维护该对象的各种信息地址空间:包含所有可执行程序模块或DLL模块的代码和数据,还包含动态内存分配的空间内核对象的数据结构只能被内核访问使用,应用程序只能通过Windows提供的一些函数来对内核对象进行操作真正完成代码执行的是线程,进程只是线程的容器. 阅读全文

posted @ 2014-03-11 23:26 DaMengZhang 阅读(266) 评论(0) 推荐(0)

mfc---右键蹦出菜单
摘要:WM_CONTEXTMENUCMenu menu;menu.LoadMenu(IDR_MENU_POPUP);menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGH|TPM_LEFTBUTTON|TPM_RHGHTBUTTON,point.x,point.y,this); 阅读全文

posted @ 2014-03-11 23:11 DaMengZhang 阅读(160) 评论(0) 推荐(0)

mfc---手动给toolbar按钮添加消息View中
摘要:手动给toolbar按钮添加消息View中:.h: afx_msg void OnButtonBG();.cpp: ON_COMMAND(ID_BUTTON_BG,OnButtonBG).cpp: void OnButton() 阅读全文

posted @ 2014-03-11 23:09 DaMengZhang 阅读(284) 评论(0) 推荐(0)

mfc---获取当前时间
摘要:CTime t = CTime::GetCurrentTime();CString strTime = t.format("%Y/&m%d" %h:%M:%S); 阅读全文

posted @ 2014-03-11 23:07 DaMengZhang 阅读(136) 评论(0) 推荐(0)

mfc---ActiveX控件
摘要:AvtiveX控件可看做是一个极小的服务器应用程序,不能独立运行,必须嵌入到某个容器程序中容器应用程序:可以嵌入或链接对象的应用程序服务器应用程序:创建对象并且当对象被双击时,可以被启动的应用程序ock是ActiveX控件的一种后缀名,但ActiveX控件也有其他的后缀名如dll当控件窗口发生重绘时,就会调用OnDraw函数,如果控件需要输出图形,就可以在这个函数中编写相应的实现代码调度映射是MFC提供的一种映射机制,主要是为了让外部应用程序可以方便的访问控件的属性和方法事件映射也是MFC提供的一种映射机制,让控件可以包含它的容器发送事件通知接口是控件与外部程序进行通信的协议regsvr32程 阅读全文

posted @ 2014-03-11 22:59 DaMengZhang 阅读(433) 评论(0) 推荐(0)

mfc---添加背景图
摘要:添加背景图:CDC m_dcMemCBitmap m_bmpMemCDC * pDC = GetDC();m_dc.CreateComparableDC(pDC);m_bmpMem.LoadBitmap(ID_IMAGE);RealeaseDC(pDC);CDC * pDC = GetDC();CRect rc = GetClientRect();pDC.BitBlt(0,0,rc.Width(),rc.Height(),&m_dcMem,0,0,SRCC0PY);初始化弹出对话框路径:Dlg.m_ofn.lpstrInitialDir = 初始化路径填充dc的背景色:dc.FillS 阅读全文

posted @ 2014-03-11 22:57 DaMengZhang 阅读(189) 评论(0) 推荐(0)

mfc---CFileDialog的过滤器
摘要:CFileDialog的过滤器每种类型由两部分组成“tda|*.tda”,两种类型之间用“|”隔开 阅读全文

posted @ 2014-03-11 22:56 DaMengZhang 阅读(539) 评论(0) 推荐(0)

1 2 下一页