
VC编程基础
文章平均质量分 73
pinggle
好好工作,好好生活
展开
-
VC编写自己构造http协议数据的post上传图片类(MFC环境 带编码转换)(转)
上次用VC写了个MFC环境下的post数据类,地址:/Html/diannaojishu/2009-10/4905858580.html这次将这个类进行扩展,可以post图片。但这两个post所使用的方法不一样。post数据,是直接在http协议头将Content-Type设为application/x-www-form-urlencoded,这样 服务器会将提交的数据,当作表单数据处转载 2012-10-25 19:16:04 · 7604 阅读 · 2 评论 -
【远控编写06】客户端界面的设计和编写--添加菜单消息响应,从列表中删除条目
一.基础知识:1.删除列表控件中的某一行:BOOL DeleteItem( int nItem //列表的索引 从0开始 );2.获得当前列表控件焦点的索引:int GetSelectionMark( ); //得到用户选中的条目索引3.获得列表控件某行某列的内容:CString GetItemText( int nI原创 2013-02-13 01:38:34 · 1511 阅读 · 0 评论 -
【远控编写04】客户端界面的设计和编写--列表中添加条目
1.CListCtrl InsertItem 插入条目 查看MSDN int InsertItem( int nItem, //插入哪一行 LPCTSTR lpszItem //该行0列显示的字符原创 2013-02-12 23:19:24 · 1819 阅读 · 0 评论 -
【远控编写02】客户端界面的设计和编写--加入列表的列名称
1.上一节我们为列表控件添加变量,我们来查看变量的成员: CListCtrl 类 查看MSDN 找到int InsertColumn( int nCol, //列的顺序 LPCTSTR原创 2013-02-12 22:42:59 · 1475 阅读 · 0 评论 -
VS2005 设置DLL程序无入口点
创建纯资源 DLL 时要求 /NOENTRY 选项。使用该选项防止 LINK 将 _main 的引用链接到 DLL 中。在 Visual Studio 开发环境中设置此链接器选项打开此项目的“属性页”对话框。有关详细信息,请参见设置 Visual C++ 项目属性。单击“链接器”文件夹。单击“高级”属性页。修改“资源仅限于 DLL”属转载 2013-01-21 10:33:44 · 1229 阅读 · 0 评论 -
VC中Error spawning cl.exe错误的解决方法.
可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的 “Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的 选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的,“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录/VC98/Bin”下面, 你可以到相应的路径下找到这个应用程序。转载 2013-01-15 14:23:45 · 817 阅读 · 0 评论 -
系统区域为非中文(比如英文)的情况下,执行MultiByteToWideChar失败
主要是WideCharToMultiByte的第一个参数codepage造成的,如前面所使用的CP_ACP所表达的意思是使用系统字符集转换,但是由于此时的系统字符集为英文,在这个codepage中并没有中文,所以转换出错. 1.在正常的中文系统下执行MultiByteToWideChar很正常,其中,第一个参数为:CP_ACPchar* unicodeTOansi(const wcha原创 2013-01-12 17:18:49 · 2778 阅读 · 0 评论 -
【VC皮肤】破解版skin++皮肤库使用
skin++可以使VC++等工具写的软件的界面很漂亮,但是试用版在运行时会跳出注册框,正式版又需要花钱,下面的这种方法将会使注册窗口不再跳出来。 1、将skin++(破解后的)的三个文件SkinPPWTL.h、SkinPPWTL.lib、SkinPPWTL.dll连同你需要用的皮肤文件一同拷贝到你的工程目录下。 2、在工程的stdafx.h文件引入SkinPPWTL.h头文件,转载 2013-01-24 09:03:16 · 6973 阅读 · 1 评论 -
【VC皮肤】SkinSharp 1.0.6.6的使用
SkinSharp又称Skin#,是Windows环境下一款强大的换肤组件。SkinSharp作为换肤控件,只需要在您的程序中添加一行代码,就能让您的界面焕然一新,并拥有多种主题风格和色调的动态切换功能以及Vista透明边框特效。网站地址:http://www.skinsharp.com/官方下载:http://www.skinsharp.com/htdocs/tar/Sk转载 2013-01-24 10:14:14 · 1386 阅读 · 0 评论 -
【远控编写01】客户端界面的设计和编写--对话框,列表控件的伸缩
1.新建一个MFC工程,工程属性配置如下: 2.添加最大化窗口和最小化窗口的属性.3.更改对话框到合适的大小.4.添加服务端连接后显示的列表控件IDC_ONLINE,日志列表控件IDC_MESSAGE.5.演示伸缩窗口,最大化时列表不能伸缩6.添加列表控件变量m_CList_Online,m_CList_Message7.响应对话框改变大小的消息WM_SIZE就是原创 2013-02-12 22:17:47 · 2020 阅读 · 0 评论 -
【远控编写03】客户端界面的设计和编写--列表的列宽度支持伸缩
1.1.CListCtrl SetColumnWidth 查看MSDN BOOL SetColumnWidth( int nCol, //列索引 int cx //列宽度原创 2013-02-12 23:04:08 · 1346 阅读 · 0 评论 -
CFileDialog弹出文件选择对话框
// 选择游戏路径void CAskTao_WGDlg::OnBnClickedBtnSelectGamepath(){ CFileDialog GamePath(TRUE,NULL,NULL,0,L"*.exe|*.exe|"); GamePath.DoModal(); cs_gamepath = GamePath.GetPathName(); cs_gamepath = cs_ga原创 2014-04-15 12:13:37 · 1314 阅读 · 0 评论 -
Windows下命令行直接编译程序
D:\>cl hello.cppMicrosoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86Copyright (C) Microsoft Corp 1984-1998. All rights reserved.hello.cppMicrosoft (R) Incremental Link原创 2013-09-03 21:42:00 · 5663 阅读 · 0 评论 -
【打包程序】VS2005打包应用程序
1.新建打包项目。【文件】-->>【新建】-->>【项目】-->>【其他项目类型】-->>【安装和部署】选择【安装项目】:2.添加应用程序:右键点击【应用程序文件夹】-->>【添加】-->>【文件...】添加两类文件:①应用程序,及其附加的一些DLL和资源文件.②卸载程序。(在系统目录C:\WINDOWS\system32下的msiexec.exe),一原创 2013-02-01 16:16:31 · 4452 阅读 · 0 评论 -
【VC串口】VC串口通信的3种常见方法
本文介绍了在Windows平台下串行通信的实现机制,讨论了根据不同的条件用Visual C++ 设计串行通信程序的三种方法,并结合实际,实现对温度数据的接收监控。在实验室和工业应用中,串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛。依据不同的条件实现对串口的灵活编程控制是我们所需要的。在光学镜片镀膜工艺中,用单片机进行多路温度数据采集控制,采集结果以转载 2013-04-12 16:12:25 · 13088 阅读 · 0 评论 -
VC显示行号插件VC6LineNumberAddin
VC显示行号插件说明: VC6LineNumberAddin (在百度里面搜索,即有下载) 1. 如果你的VC安装在C盘,请拷贝文件VC6LineNumberAddin.dll到如下目录:C:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns2. 注册双击VC6LineNumberAddin.reg转载 2013-02-19 23:43:00 · 1304 阅读 · 0 评论 -
【远控编写09】客户端界面的设计和编写--为对话框添加入工具条
一.基础知识:1.工具条类: CToolBar.(在MSDN中查看其成员Member)①CToolBar::CreateExCall this function to create a Windows toolbar (a child window) and associate it with the CToolBar object.virtual BOOL CreateEx(原创 2013-02-13 16:58:05 · 2892 阅读 · 1 评论 -
【远控编写08】客户端界面的设计和编写--为对话框添加状态栏并在态栏上显示文字
一.基础知识:1.状态条类: CStatusBar.(在MSDN中查看其成员Member)2.在状态条中加入对应字符串ID:BOOL SetIndicators( const UINT* lpIDArray, //字符串ID int nIDCount //个数 );3.设置状态条的显示状态:void SetPaneIn原创 2013-02-13 13:13:15 · 2076 阅读 · 0 评论 -
【远控编写07】客户端界面的设计和编写--为对话框添加菜单栏并添加事件响应
一.基础知识:1.载入菜单 :HMENU LoadMenu( HINSTANCE hInstance, //资源所在文件模块的句柄标识 LPCTSTR lpMenuName //资源ID );2.为窗口设置菜单:BOOL SetMenu( HWND hWnd, //要设置菜单的窗口句柄原创 2013-02-13 11:56:40 · 1973 阅读 · 0 评论 -
【远控编写05】客户端界面的设计和编写--列表中显示弹出菜单
1.添加菜单资源: 2.添加我们的代码 a.添加右键列表的响应函数(NM_RCLICK) b.添加代码void CPCRemoteDlg::OnNMRClickOnline(NMHDR *pNMHDR, LRESULT *pResult){ LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast原创 2013-02-13 00:24:04 · 1635 阅读 · 0 评论 -
【VC皮肤】skin++皮肤库使用
skin++可以使VC++等工具写的软件的界面很漂亮,但是试用版在运行时会跳出注册框,正式版又需要花钱,下面的这种方法将会使注册窗口不再跳出来。 1、将skin++(破解后的)的三个文件SkinPPWTL.h、SkinPPWTL.lib、SkinPPWTL.dll连同你需要用的皮肤文件一同拷贝到你的工程目录下。 2、在工程的stdafx.h文件引入SkinPPWTL.h头文件,转载 2013-01-24 10:03:54 · 4468 阅读 · 0 评论 -
【VC皮肤】AppFace的使用
英文官网: http://www.appface.com/eng/download-skins.htm中文官网: http://www.appface.com/chs/download.htmAppFace 软件皮肤界面开发包英文名称是 AppFace UI Development Kits,简称 AUDK ,它提供了一种将美术设计和编程完全分开的软件界面美化的解决方案。它的核原创 2013-01-24 12:18:08 · 3408 阅读 · 2 评论 -
在VC下执行DOS命令
/* ================================================================================================ 方法一: system("md c://12"); 1) 调用命令时会出现一个dos 窗口一闪而过,影响视觉效果。 2)无法将命令的执行结果反馈给用户。*/ system("转载 2013-01-09 12:16:31 · 14837 阅读 · 2 评论 -
VC Funtion -- MessageBox
一 函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer; hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。 Text:欲显示的信息字符串。 Caption:对话框标题字符串。转载 2012-11-23 12:54:02 · 545 阅读 · 0 评论 -
ShellExecute 函数详解 (VC)
ShellExecute的功能是運行一個外部程序(或者打開一個已注冊的文件,打開一個目錄,打印一個文件等等,并對外部程序有一定額控制).函數原型:HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation,转载 2012-10-26 10:49:42 · 2551 阅读 · 0 评论 -
VC++ TCP/IP 服务/客户程序源代码
//TCP//服务器端程序#include#include#include#include#include#pragma comment( lib, "ws2_32.lib" )#define PORT 2046#define BACKLOG 10#define TRUE 1void main( void ){int iServerSock;int iClient转载 2012-10-25 19:12:00 · 3229 阅读 · 0 评论 -
VC-Socket send函数和recv函数详解
1.send 函数int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。 该函数的第一个参数指定发送端套接字描述符;转载 2012-10-25 19:10:56 · 15581 阅读 · 1 评论 -
文件夹之间的拷贝
VC实现:方法一:#include BOOL CopyDir(LPCTSTR lpszSrcDir, LPCTSTR lpszDstDir){ SHFILEOPSTRUCT sfo; ZeroMemory(&sfo, sizeof(sfo)); sfo.wFunc = FO_COPY; sfo.pFrom原创 2012-11-01 19:57:23 · 745 阅读 · 0 评论 -
从Win32程序的主函数WinMain中获取命令行参数
在标准C或者Win32控制台程序的main函数中,它们都有两个参数:"argc" 和 "argv",如下所示:int main(int argc, char * argv[])这些参数帮助我们为程序传入命令行参数。"argc"为命令行参数的个数,"argv"则为传入参数的数组列表。但是当我们在Visual Studio中创建Win32 GUI程序的时候,WinMain变成程序的入口转载 2012-11-01 19:51:50 · 9213 阅读 · 0 评论 -
MFC CListCtrl 使用介绍
列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。MFC中使用CListCtrl类来封装列表控件的各种操作。通过调用BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些列表控件的专用风格:LVS转载 2012-07-21 11:49:05 · 1246 阅读 · 0 评论 -
MFC ListBox(列表框)的使用
ListBox的操作比较简单:1添加数据声明控件变量的类别为Control,变量类型为CListBox,变量名为m_ListBox_Content.m_ListBox_Content.AddString(_T("123"));m_ListBox_Content.AddString(_T("汉字"));m_ListBox_Content.AddString(_T("Eng转载 2012-07-21 11:56:40 · 29790 阅读 · 0 评论 -
VC6.0中配置使用JPEG库
1.首先下载JPEG库源码:http://www.ijg.org/原创 2012-06-29 12:16:58 · 821 阅读 · 0 评论 -
utf8与unicode转换
1. 不用VC库函数转换:class CStrConvertor { public: static int Unicode2Utf8(LPSTR cBuf, int& iCBuf,LPCWSTR uBuf, int iUBuf); static int Utf82Unicode(LPWS转载 2012-12-22 15:25:28 · 1028 阅读 · 0 评论 -
MFC如何使用 List Control
MFC如何使用 List Control以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn------------------------------------------------------------------转载 2012-12-13 20:01:00 · 1221 阅读 · 0 评论 -
【VC皮肤】SkinMagic的使用
使用了SkinMagic2.01设置软件界面的一个单文档程序,就三步:首先拷贝SkinMagicLib.h、SkinMagic.Lib、SkinMagic.dll和皮肤文件*.smf到工程文件夹下;第二步,添加代码在APP文件的InitInstance()中添加代码: VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle()原创 2013-01-24 10:30:35 · 2347 阅读 · 0 评论 -
VC 给列表框添加【右键按键菜单】功能
1.在项目资源文件中加入一个新的Menu资源,作为右键点击弹出的菜单。 并在Menu上面填上相应的响应的子菜单。如图: 填好相应的ID值:Caption -> IDMenu -> IDR_MENU_BATCH_RCLICKEdit Song -> ID_BATCH_MENU_EDIT_SONGDelete So原创 2013-01-08 15:00:35 · 5530 阅读 · 0 评论 -
【VC控件】动态修改控件和弹出菜单上的文字内容及大小
思路: 根据各国语言的不同,构建不同语言包的DLL。::MessageBoxW(NULL,cla_kodlogic->GetMsgString(1712),cla_kodlogic->GetMsgString(1716),MB_OK);上面的1712和1716分别为DLL中字符串对应的索引。1. 动态修改窗体的Caption:1.AfxGetMainWnd()->SetWi原创 2013-01-23 17:29:15 · 4290 阅读 · 0 评论 -
【VC报错】LeaveCriticalSection中断异常
这两天,接手别人的一个VC程序,要求在中文,英文,繁体系统下都能正常运行,并且在不同系统下显示不同的语言。最近就遇到一个很棘手的问题,和之前在英文系统下的差不多,只是这次更离谱,上次是英文系统下的默认编码导致取中文首拼错误;现在是在繁体系统下,开启工具就会中断异常,报堆栈不平衡,DLL所致。经多次跟踪,找到时 LeaveCriticalSection 函数这里,跳出的异常中断。原创 2013-01-22 14:59:42 · 3894 阅读 · 0 评论 -
VC6.0工程升级到VS2010遇到问题及解决办法
今天尝试将原先编写的VC6.0下的工程升级到VS2010下,升级过程中遇到了各种各样的问题,网上针对升级遇到的问题有不少的讨论,这里仅针对我的项目程序升级过程中遇到的问题及解决办法进行了总结,希望对大家有所帮助。1.编译错误C2065 1>c:\documents and settings\administrator\桌面\host_sp3\selectdialog.cpp(62):转载 2013-01-03 14:34:07 · 1949 阅读 · 0 评论 -
VC 函数 SetTimer
定义:SetTimer( HWND hWnd ,//句柄 用0也行 UINT nIDEvent,//定时器的序号 UINT uElapse,//间隔时间 单位为毫秒 TIMERPROC lpTimerFunc//回调函数 );KillTimer( HWND hWnd, UINT uIDEvent);实例一:#原创 2013-01-01 15:45:22 · 1808 阅读 · 0 评论