VC
文章平均质量分 85
wanglei2258
这个作者很懒,什么都没留下…
展开
-
vc 托盘图标
/*------------------------------------------------------------------------- * Copyright (c) 2004, Ferri Weng * All Lefts转载 2011-08-10 16:59:51 · 782 阅读 · 0 评论 -
FDLib中的VC++的线程类
现在java和C#等编程语言都提供了线程类,大大方便了多线程程序的开发。而我1995年至2001年这段期间使用C++的时候,VC却没有提供很好的线程类,只能使用Win32的SDK的线程函数,开发多线程系统相当不容易。1999年的时候,随着自己开发经验的逐渐积累,以及对面向对象思想了解的加深,开发了FDLib系列C++的工具类,并进行了很好的归纳和分类,封装成dll和lib转载 2010-04-15 09:38:00 · 655 阅读 · 0 评论 -
深入浅出win32多线程程序设计之线程控制
简介:这是深入浅出win32多线程程序设计之线程控制的详细页面,介绍了和线程,有关的知识,谢谢大家的观看! win32线程控制主要实现线程的创建、终止、挂起和恢复等操作,这些操作都依赖于win32提供的一组api和具体编译器的c运行时库函数。 1.线程函数 在启动一个线程之前,必须为线程编写一个全局的线程函数,这个线程函数接受一个32位的lpvoid作为参转载 2010-04-13 18:46:00 · 541 阅读 · 0 评论 -
VC 使用CSockets进行小文件传送
这是一对实现在两台计算机间传送文件的函数,我没有看到过使用CSocket进行文件传送的代码,希望此代码对你有用。代码中包含两个函数,第一个用于服务器端,第二个用于客户端。本文提供的方法并不适用于大型文件的传送。 下面给出服务器端代码: void SendFile() { #define PORT 34000 // Select any free转载 2010-04-12 16:14:00 · 458 阅读 · 0 评论 -
VC 简单日志类
此类可以实现大多数应用程序日志功能,可以每天创建一个Log文件,支持中文内容。LogFile.h头文件// LogFile.h: interface for the CLogFile class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_LOGFILE原创 2010-04-12 12:43:00 · 4118 阅读 · 1 评论 -
Socket编程指南及示例程序
1、前言 在一些常用的编程技术中,Socket网络编程可以说是最简单的一种。而且Socket编程需要的基础知识很少,适合初学者学习网络编程。目前支持网络传输的技术、语言和工具繁多,但是大部分都是基于Socket开发的,虽说这些“高级”的网络技术屏蔽了大部分底层实现,号称能极大程度的简化开发,而事实上如果你没有一点Socket基础,要理解和应用这些技术还是很困难的,而且会让你成为“半瓢水”。转载 2010-04-12 16:32:00 · 615 阅读 · 0 评论 -
VC CSocket文件传送示例
服务器端示例代码#define PRE_AGREED_PORT 8686 //定义端口号#define SEND_BUFFER_SIZE 4096 //buffer大小BOOL CYourServerClass::SendFileToRemoteRecipient(CString strFileName){ AfxSocketIni转载 2010-04-12 16:21:00 · 583 阅读 · 0 评论 -
VC++多线程编程
VC中多线程使用比较广泛而且实用,在网上看到的教程.感觉写的挺好. 一、问题的提出 编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为 IDC_SLEEP_SIX_SECOND,标题为“延时6秒”转载 2010-04-12 13:43:00 · 835 阅读 · 1 评论 -
VC 控件DateTimePicker使用方法
使用DateTimePicker控件一般是获取其时间替代手工输入带来的不便,而DateTimePicker控件既可以获取日期(2010-03-26)也可以获取时间(12:44:33),要获取日期只需要更改控件属性的格式为长日期或短日期,要获取时间则将格式更改为时间即可! 在程序中定义CTime对象用来保存获取的时间,然后可以将其转换为CString类型;具体实现:原创 2010-03-26 12:43:00 · 1178 阅读 · 0 评论 -
如何禁止对话框关闭按钮和浮动工具条上的系统菜单
1、禁止对话框中的关闭按钮有二种方法。 第一种方法,用ModiftMenu()涵数来实现: CMenu* pMenu = this->GetSystemMenu(FALSE); pMenu->ModifyMenu(SC_CLOSE,MF_BYCOMMAND | MF_GRAYED ); 第二种方法,用EnableMenuItem()涵数来实现:转载 2010-03-25 15:11:00 · 572 阅读 · 0 评论 -
VC|MFC 菜单
在更改菜单之前,首先要把CMainFrame:: m_bAutoMenuEnable设为FALSE,不然就无法自己更改菜单的样式,而是被MFC自动的设为启动。每个菜单可以通过ID索取,也可以通过序号索取,即COMMAND或POSITION;第一个菜单序号为0,依次类推;第一个菜单下的子菜单序号也从0开始;注意存在分隔符时,分隔符也有自己的序号。1.获得菜单 用AfxGetMain转载 2010-03-24 12:03:00 · 1529 阅读 · 1 评论 -
vc++中获取鼠标的坐标值于状态栏中的四种方法
由于view类窗口始终都是在框架类之上,所以我们在捕获鼠标移动的时候应该在view类中操作。首先在view类中增加WM_MOUSEMOVE消息的响应然后有以下方法获得:(1)CString str; str.Format("x=%d,y=%d",point.x,point.y); ((CMainFrame*) GetParent_r())->m_wndStatus转载 2010-03-24 18:33:00 · 1309 阅读 · 0 评论 -
VC MFC ComoBox控件只接受数字输入
ComboBox能下拉选择内容,也能输入,但是怎么只让输入数字?? 下面我们通过下面的方法来实现ComboBox输入数字,首先在头文件中定义一个 HWND m_hWnd; 然后在初始化函数中加入下面的代码就可以实现了。代码如下: m_hWnd = ::GetWindow((CComboBox *)GetDlgItem(控件ID)->Ge原创 2010-03-24 17:58:00 · 1656 阅读 · 0 评论 -
VC 删除文件到回收站
要删除文件到回收站,只要用SHFileOperation函数就行了,下面的代码我将为你演示了这一个函数的用法。当然你可以直接拷贝到你的项目中。//删除文件到回收站中//pszPath : 待删除的全路径文件名//bDelete : TRUE 删除,不移到回收站,FALSE:移到回收站//返回 : TRUE 删除成功 FALSE 删除失败BOOL CDelFileToR转载 2010-04-02 18:51:00 · 1954 阅读 · 0 评论 -
vc 对文件夹的操作 SHFileOperation()的使用
SHFileOperation()函数主要对文件夹有四种操作:复制,删除,移动,重命名。挤时间对这个函数进行了利用了一下。写了四个函数。可以很好的对文件夹进行操作。///////////////////////////////////////函数名:DeleteFolder//输入参数:LpszPath 要删除的路径指针//作用:删除指定文件夹以及里面的文件//////转载 2010-04-06 12:41:00 · 932 阅读 · 0 评论 -
VC释放EXE自身的资源文件
<br />看到好多朋友需要这样的功能,便整理了一下写成一个函数,以便后续使用~~<br /><br />这个函数是可重复使用的代码,以下释放资源代码是不受文件扩展名所限制的,你可以释放更多类型文件,比如DLL、SYS、TXT、WAV等等......<br /><br />1、工程A<br /> 释放的程序是一个简单的MessageBox,源码如下: #include <windows.h>int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPre转载 2010-12-09 12:58:00 · 1183 阅读 · 0 评论 -
VC6.0 Release 如何调试
写下来吧,当你在Release版本下无能为力的时候首先必须明确的是,什么是Release版程序,什么是Debug版程序Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,通常他们也不会引起 Release 版错误,在转载 2010-08-16 12:40:00 · 585 阅读 · 0 评论 -
文件操作小结
<br />文件操作<br />在编程的过程中,文件的操作是一个经常用到的问题,在VC++中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是:1、基于C的文件操作;2、基于C++的文件操作;3、基于WINAPI的文件操作;4、基于MFC库的文件操作。5、Unix/Linux文件操作<br />一、基于C的文件操作<br />clearerr(清除文件流的错误旗标) <br />相关函数 feof<br />表头文件 #include<stdio.h> <br />定义函数 v转载 2010-08-09 11:38:00 · 810 阅读 · 0 评论 -
vc 通过POST发送信息到网站获取相关信息
<br />void CIE_TestDlg::OnBtnTest() <br />{<br /> // TODO: Add your control notification handler code here<br /> UpdateData(); <br /><br /> CString strHeaders = _T("Content-Type: application/x-www-form-urlencoded"); //网页的信息头<br /> CString strFormData = "/U原创 2010-08-09 16:03:00 · 1058 阅读 · 0 评论 -
VC UpdateData() 函数
<br />UpdateData(true); //用于将屏幕上控件中的数据交换到变量中。<br />UpdateData(false); //用于将数据在屏幕中对应控件中显示出来。<br />当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用UpdateData(FALSE); 如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)。<br />关于编辑框的赋值和取值<br />向编转载 2010-08-09 11:08:00 · 643 阅读 · 0 评论 -
VC GBK与UTF8字符串的转换
<br />可以用以下函数代码。其原理是先用“MultiByteToWideChar”函数把字符串转成unicode字符串,然后再用“WideCharToMultiByte”由unicode转成所需目的编码的字符串。void ConvertGBKToUtf8(CString& strGBK){int len=MultiByteToWideChar(CP_ACP,0,(LPCTSTR)strGBK,-1, NULL,0);unsignedshort* wszUtf8 = new unsignedshort[l转载 2010-07-20 12:51:00 · 814 阅读 · 0 评论 -
VC++热键注册
这两天编程进行热键注册时,遇到了一些问题,把它总结了一下,希望能为学习VC的人提供一点参考。一、热键注册的步骤1、热键消息处理函数的声明在头文件中加入如下代码:afx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);2、添加消息映射BEGIN_MESSAGE_MAP(CWndSnapDlg转载 2010-05-21 23:44:00 · 750 阅读 · 0 评论 -
VC++热键注册
这两天编程进行热键注册时,遇到了一些问题,把它总结了一下,希望能为学习VC的人提供一点参考。一、热键注册的步骤1、热键消息处理函数的声明在头文件中加入如下代码:afx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);2、添加消息映射BEGIN_MESSAGE_MAP(CWndSnapDlg转载 2010-05-22 00:10:00 · 810 阅读 · 0 评论 -
很幽默的讲解六种Socket I/O模型
本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教。一:select模型二:WSAAsyncSelect模型三:WSAEventSelect模型四:Overlapped I/O 事件通知模型五:Overlapped I/O 完成例程模型六:IOCP模型老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。他们的信会被邮递员投递到他们的转载 2010-04-22 11:26:00 · 668 阅读 · 0 评论 -
VC6 静态与动态加载Dll [示例代码]
1、DLL源代码 MyDll.hview plaincopy to clipboardprint?////////////////////////////////////////////////////////////////////////// // MyDll.h // 声明函数 int _stdcall Add(int a,int b); int _stdcall S转载 2010-04-09 19:15:00 · 908 阅读 · 0 评论 -
VC 弹出选择文件夹对话框
首先创建如下的对话框,并为它创建类Dialog,然后添加一个按钮设置按钮ID为IDC_BTN_VIEW,为按钮添加消息响应函数OnBtnView(),并添加如下代码。 //这个函数可以设置为全局函数//显示文件夹对话框,返回选中文件夹的路径CString BrowseForFolder(HWND hWnd){ TCHAR szTitle[] = _T("Select a fol原创 2010-04-09 16:42:00 · 1072 阅读 · 0 评论 -
vc GetLastError返回代码的含义
调用例子:DWORD dw;dw = GetLastError(); sprintf(szBuf, "GetLastError returned %u/n", dw);〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 〖5〗-拒绝访问。 〖6〗-句柄无效。 〖7〗-存储控制块被损坏。 〖8〗-存储空间不足,无转载 2010-04-06 17:57:00 · 1279 阅读 · 0 评论 -
用Viusal C++实现字符串分割函数
//参数说明:strSrc: 需要分割的源字符串;strDes: 存储分割后的各个字符串变量的目标变量;szDiv: 分割字符void decodeCString(CString strSrc, CStringArray& strDes, char szDiv){ strDes.RemoveAll(); for(int i=0; i { if(strSrc.GetAt(i) ==转载 2010-03-24 16:14:00 · 452 阅读 · 0 评论 -
socket(PF_INET, SOCK_STREAM,0)
socket(PF_INET, SOCK_STREAM,0) 或socket(AF_INET, SOCK_STREAM,0) socket()系统调用,带有三个参数: 1、参数domain指明通信域,如PF_UNIX(unix域),PF_INET(IPv4),PF_INET6(IPv6)等 2、type 指明通信类型,最常用的如SOCK_STREAM(面向连接可靠方式,原创 2010-03-19 17:59:00 · 16758 阅读 · 1 评论 -
#pragma comment
pragma指令简介 在编写程序的时候,我们经常要用到#pragma指令来设定编译器的状态或者是指示编译器完成一些特定的动作。 下面介绍了一下该指令的一些常用参数,希望对大家有所帮助! 一. message 参数。 message 能够在编译信息输出窗口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为: #pragma m转载 2010-03-19 17:36:00 · 708 阅读 · 0 评论 -
VC++中关于运行外部程序
有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。CreateProcess因为使用复杂,比较少用。 WinExec主要运行EXE文件。如:WinExec(Notepad.exe Readme.txt, SW_SHOW); ShellExecute不仅可以运行EXE文件,也可以运行已经关联的文件。 首先必须引用shel转载 2010-01-26 13:39:00 · 1947 阅读 · 0 评论 -
VC++中的文件操作
1.文件的查找 当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MFC中有一个专门用来进行文件查找的类CFileFind,使用它可以方便快捷地进行文件的查找。下面这段代码演示了这个类的最基本使用方法。 CString strFileTitle; CFileFind finder; BOOL bWorking = finder.FindFile(转载 2010-01-26 12:33:00 · 409 阅读 · 0 评论 -
VC/MFC之ListCtrl控件使用经验总结
以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn--------------------------------------------------------------------------------1. CListCt转载 2010-01-27 18:27:00 · 944 阅读 · 0 评论 -
美化自己的对话框--运用Splash控件显示初始化界面
当你打开VS2008或者VC6.0时会出现一个欢迎界面,显示一些该软件的信息和一些动态的初始化信息,然后才是软件的主界面。本帖就是讨论怎样做到这一点。 该帖用到的例程下载如下。声明是在VS2008环境下调试成功的。在该例程中Splash控件的类为SplashScreenEx.h和SplashScreenEx.cpp。具体步骤如下:1.建立一个对话框的MFC工程。2.添加你要作为欢迎界转载 2009-12-01 17:08:00 · 984 阅读 · 0 评论 -
VC++编程技巧
(-). 下面是常见的Afx全局函数:AfxFormatString1:类似printf一般地将字符串格式化AfxFormatString2:类似printf一般地将字符串格式化AfxMessageBox:类似Windows API 函数 MessageBoxAfxOuputDebugString:将字符串输往除错装置AfxGetApp:获得application obje转载 2010-01-26 12:41:00 · 464 阅读 · 0 评论 -
CString char string等的相互转换
《C++标准函数库》中说的有三个函数可以将字符串的内容转换为字符数组和C―string1.data(),返回没有"/0"的字符串数组2.c_str(),返回有"/0"的字符串数组3.copy()―――――――――――――――――――――CString与int、char*、char[100]之间的转换CString互转int将字符转换为整数,可以使用atoi、_atoi6转载 2010-01-26 11:46:00 · 357 阅读 · 0 评论 -
VC实现圆角矩形窗口
在对话框或者文档的框架类中添加WM_SIZE消息响应代码代码如下即可实现圆角矩形窗口 CRgn rgn; CRect rc; GetWindowRect(&rc); //获得窗口矩形 rc -= rc.TopLeft(); rgn.CreateRoundRectRgn(rc.left, rc.top, rc.right, rc.bottom, 15, 15); //根据窗口矩形创建一个圆角矩转载 2010-01-20 11:43:00 · 1528 阅读 · 0 评论 -
VC中检测内存泄露的代码
/*----------------------------------------------------------------VC中检测内存泄露的代码:在申请了动态内存空间后常常会忘记在不用的时候释放,这样会造成内存的浪费等其他问题。怎样检查你的代码有没有内存泄露呢? 需要在前面加上这些代码:#ifdef _DEBUG#define DEBUG_CLIENTBLOCK new( _C转载 2010-01-20 10:58:00 · 479 阅读 · 0 评论 -
VC++对话框中添加状态栏的方法
方法一:1.添加成员变量CStatusBarCtrl m_StatusBar;2.在OnInitDialog()中加入: m_StatusBar.Create(WS_CHILD|WS_VISIBLE|SBT_OWNERDRAW, CRect(0,0,0,0), this, 0); int strPartDim[3]= {转载 2010-01-19 11:31:00 · 548 阅读 · 0 评论 -
如何在项目部署的时候自动安装多个应用程序安装包(VC++6.0)
1.前言 不少朋友曾经问:我自己做了一个程序,打包安装后,发现必须先安装其他支持的库才能使用,或者我的应用程序有好几个安装包,客户不希望一个个点击安装,而是希望傻瓜式的点一个setup.exe就自动全部安装完。其实这样的安装程序只要留心一下都很容易发现很多公司的安装程序都有这个功能,安装Visual Studio.NET的时候安装完了会提示是否要安装MSDN;安装瑞星杀毒软件的时候安转载 2010-01-19 10:33:00 · 744 阅读 · 0 评论