自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (15)
  • 收藏
  • 关注

原创 PHP学习遇到的问题

页面包含后顶部有空白

2015-04-17 15:14:58 541

原创 CreateEvent,OpenEvent成功后 是否需要::CloseHandle(xxx); 避免句柄泄漏

bool bExist = false;         HANDLE hHandle = ::CreateEvent(NULL,  FALSE,  FALSE,  L"Global\\xxxxx_name");if  (hHandle && ERROR_ALREADY_EXISTS  ==  GetLastError()){bExist = true;::OutputDebu

2015-01-29 11:00:57 4136

原创 BHO启动IE调试

如下图选择Web Browser Debugger, 输入启动网址

2014-12-23 10:22:31 1186

原创 C++ try catch 捕获空指针异常,数组越界异常

#include #include using namespace std;//project -> Properties -> C/C++ -> Code Generation --> Enable C++ Exceptions//选择 Yes with SEH Exceptions (/EHa) 这样的话C++的try catch 也可以捕获到空指针,内存越界,0除异常//默认

2014-12-22 10:50:38 20560 7

原创 VC++ SetLayeredWindowAttributes 部分窗口透明鼠标穿透

在初始化中使用下面两行代码ModifyStyleEx(0, WS_EX_LAYERED);::SetLayeredWindowAttributes(m_hWnd, RGB(1, 255, 0), 100, LWA_COLORKEY);       //set color transparent,指定透明的颜色然后在OnEraseBkgnd或者OnPaint中CRect re

2014-12-17 13:30:47 6018 2

原创 窗口在掉标题栏不显示, 最小化后左下角有残留的问题

在窗口内使用ModifyStyleEx(0, WS_EX_TOOLWINDOW);可以去使窗口不在任务栏显示。但是又遇到一个问题,最小化后 在屏幕左下角出现了一个160*27的小窗口(win7下),这个对话框还可以拖动,双击显示主窗口。不想显示在任务栏肯定是有原因的,结果左下角又出现小窗口,目的未达到,本来以为是标题栏没去掉,使用ModifyStyle(WS_CAPTION, 0);

2014-12-15 11:08:53 2491

转载 将窗口置顶的方法:SetWindowPos、AttachThreadInput、SwitchToThisWindow

将窗口置顶的方法:SetWindowPos、AttachThreadInput、SwitchToThisWindow[转]http://hi.baidu.com/neil_danky/item/f9dca0ca36a79811515058d3 方法一:使用定时器,然后在定时器响应函数中定时调用,SetWindowPos()函数,第一个参数写H

2014-12-05 14:03:01 5943

原创 fatal error LNK1123: failure during conversion to COFF: file invalid or corr

连接器LNK是通过调用cvtres.exe完成文件向coff格式的转换的,所以出现这种错误的原因就是cvtres.exe出现了问题。在电脑里面搜索一下cvtres.exe,发现存在多个文件,使用最新的cvtres.exe替换老的文件即可,替换之前记得备份一下,如果不对,可以替换回来。例如:我的电脑里面安装了vs2010,最近更新了系统,打了一些补丁,结果就出

2014-10-25 22:11:46 681

原创 BEGIN_SINK_MAP(CMainDlg) SINK_ENTRY(IDC_EXPLORER1, ..。响应不到的

class CMainDlg : public CAxDialogImpl, public CUpdateUI, public CMessageFilter, public CIdleHandler, public IDispEventImpl{public: enum { IDD = IDD_MAINDLG }; virtual BOOL PreTranslateM

2014-06-12 17:08:55 1553

原创 GDI+ 对象释放崩溃的问题

确保在Gdiplus::GdiplusShutdown(m_gdiplusToken); 之前delete 掉GDI+的对象,例如:delete *pBitmap;如果先Gdiplus::GdiplusShutdown(m_gdiplusToken);再delete *pBitmap; 程序会崩溃。有时候会为了方便误将Gdiplus::GdiplusShutdown(m_gdiplusTo

2013-12-03 15:22:04 2929

原创 WTL error C3861: 'DDX_Control': identifier not found

error C3861: 'DDX_Control': identifier not found 继承类加上    public CWinDataExchange,   public CCustomDraw

2013-12-02 14:20:45 1416

原创 win7程序关闭后弹出 程序兼容性助手 这个程序可能安装不正确 如果此程序没有正确安装,处理方式

用WTL编写的程序,编译成release后,在win7上关闭后,弹出这个对话框处理方法:将这个xml文件命名成 xxx.exe.manifest,保存到指定目录下 右键工程->properties-->Configuration Properties-->Manifest Tool-->Input and Output-->additional Ma

2013-12-02 14:15:38 3472

原创 VS的工程宏,比如$(SolutionDir) 的含义及查找

Configuration->General->Output Directory->单击编辑框点下拉箭头-> 图1图2

2013-12-02 13:44:31 4729

原创 vector中resize和reserve的区别,代码验证

#include using namespace std;int main(){ vector resizeVect; vector reserveVect; resizeVect.resize(50, 2); //立即分配50个int,每个值为2,默认值为0,如果是class默认构造函数 vector::iterator ite

2013-11-04 11:48:13 640

原创 使用wininet向FTP服务器发送文件

.h#pragma once#include #include #include #include using namespace std;class WininetFtpClient{public: WininetFtpClient(void); ~WininetFtpClient(void);public: bool ConncetServe

2013-11-01 14:17:07 658

原创 GBK转utf-8,宽字符转窄字符

//GBK转UTF8string CAppString::GBKToUTF8(const string & strGBK) { string strOutUTF8 = ""; WCHAR * str1; int n = MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, NULL, 0); str1 = new

2013-10-16 16:12:03 917

原创 Windows上右键git菜单出来的原因

Windows上右键git菜单出来的原因Git下载地址https://code.google.com/p/msysgit/downloads/list?q=full+installer+official+gitGit右键菜单,见图(1-1)图(1-1)使用1.7.8版本好像不能出现右键菜单,试了好几次,和1.7.11相比没有Advanced context menu的单选钮选项

2013-10-16 11:22:54 2225

原创 C语言格式化输出,空位补0,空位补空格

char strTtimeDump[512] = ""; int a = 5; sprintf(strTtimeDump, "%.4d", a); //strTtimeDump输出0005 数字前补3个0 sprintf(strTtimeDump, "%4d", a); //strTtimeDump输出 5 数字前补3个空格

2013-10-09 11:27:39 27026

原创 选择法排序,冒泡排序,递归排序

#include //选择排序void SelectSort(int *p, const int length){ if (p == NULL) { return; } for (int i = 0; i<length; i++) { int k = i; //记

2013-10-08 14:11:07 1057

原创 C++ 字符串分割,分割到vector中

#include #include using std::string;using std::vector;int splitStringToVect(const string & srcStr, vector & destVect, const string & strFlag);int main(){ string str = "asdasdas \n, sadas

2013-06-25 17:52:02 3681

原创 MFC CToolTipCtrl 总是显示

.h CToolTipCtrl *m_pToolTip;.cpp if(!m_pToolTip) { m_pToolTip = new CToolTipCtrl(); m_pToolTip->Create(this, TTS_ALWAYSTIP); //TTS_ALWAYSTIP m_pToolTip->AddTool(

2013-05-29 14:07:57 1073

原创 GDI+ 为了阴影和透明,使用双层窗口遇到的一些问题

在wnidows C++ 客户端开发中,使用GDI+和png透明或者异形图片,结合UpdateLayeredWindow 双层窗口,可以实现透明,阴影,异形的效果。 其原理便是背景窗口使用UpdateLayeredWindow,刷新png图片,前景窗口作为实际窗口放一些空间,但前景窗口实际上是透明的,这样可以点击移动背景窗口,然后当背景窗口移动时,移动前景窗口。1.当时候产品马上要发布

2013-04-28 21:11:24 1788

原创 GDI+ 双缓冲

BOOL CXXXDlg::OnEraseBkgnd(CDC *pDC){    CRect  rect;    this->GetClientRect(rect);    if(!m_pBkImage) //定义的一个成员变量    {        m_

2013-04-27 18:28:20 1026

原创 VC 创建托盘,托盘tooltip。右键托盘菜单,点击别的地方会隐藏掉的问题。

托盘上的菜单右键弹出后,然后再别的地方,比如桌面,菜单无法隐藏掉,一直在托盘上,除非操作下菜单才能隐藏掉,只需要加上一句话::SetForegroundWindow(m_nid.hWnd); 就可以解决这个问题。void CXXXDlg::CreateTray() { m_nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA); //NOT

2013-04-26 16:49:32 849 1

原创 使用CImage双缓冲

void CXXXButton::OnPaint(){ CPaintDC dc(this); CRect rect; this->GetClientRect(&rect); int imageW = m_pImage->GetWidth(); //m_pImage你自己的成员变量,自己去定义吧。 int imageH = m

2013-04-22 18:20:46 1692

原创 VC 注册表读写

BYTE Vals[256];HKEY hKEY;//打开注册表,判断注册表项是否存在if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\WeldTech\\AirCondition\\"), 0, KEY_READ|KEY_WRITE, &hKEY) != ERROR_SUCCESS){

2013-03-31 15:48:29 1703

原创 error LNK2023: bad DLL or entry point 'msobj80.dll' 解决方法

一觉睡起来,程序编译就这个错误。搜了搜。我的解决方法是在http://www.dllku.com/M/msobj80.dll.html下载msobj80.dll,替换Microsoft Visual Studio 8\Common7\IDE的msobj80.dll。 就好了。

2013-03-31 15:46:29 1692

原创 tinyxml汉字乱码,UTF8转GBK

在解析读取tinyxml时候,发现读取汉字都是乱码,所以需要转成GBK static wstring ConvertUTF8toGBK(const char * strUTF8) {  int len = MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)strUTF8, -1, NULL,0);  TCHAR * wszUtf8 = new TC

2013-03-31 15:45:19 2375 1

原创 VC++, 重启程序

TCHAR pBuf[MAX_PATH]; GetModuleFileName(NULL,pBuf,MAX_PATH); STARTUPINFO startupinfo; PROCESS_INFORMATION proc_info; memset(&startupinfo,0,sizeof(STARTUPINFO)); startupinfo.cb=sizeof(STARTUPINFO)

2013-03-31 15:43:38 846

原创 VS2008 不能创建C++的项目,解决方法

安装完成后,创建C#,VB项目都正常,也能打开VC++的项目,就是不能创建VC++的项目,创建后就停在导航界面,那个next和previous 显示不出来,完成,取消按钮点击都没反应,只能点X关闭。网了找了一些解决方法,最后解决了 方法1:在注册表找到键值“HKCU\Software\Microsoft\Windows\CurrentVersion\Internet

2013-03-31 15:42:05 1742 1

原创 VS2008中 没有QT的代码智能提示

2008本身自带有注释,本人不太喜欢VC助手把界面弄的很烦。配好QT环境之后,发现QT的代码没有智能提示,VC的代码却有智能提示。原因是QT的一些文件没有包含到VS2008中,做了以下包含: 项目属性->Configuration Properties->VC++ Directories               (1)  选择“Excutable Directo

2013-03-31 15:41:08 1467

原创 库头文件的导入导出宏

//xxx.h#ifdef CFG_API_BEING_COMPILED#ifdef WIN32#define CFG_API_EXPORT __declspec(dllexport)#else#define CFG_API_EXPORT#endif#else#if defined(WIN32) #define CFG_API_EXPORT __declspec(dllimpor

2013-03-31 15:37:26 1104

原创 改变QTableWidget 行高

int wide = m_pFieldTable->columnWidth(0);int nRow = m_pFieldTable->rowCount();for(int i =0; i<nRow; i++){ m_pFieldTable->setColumnWidth(0, wide); m_pFieldTabl

2013-03-31 15:34:21 19878

原创 改变QlistWidget的行高

void test2::InitListWideget(){ m_pList = new rootDataList(this); m_pList->setGeometry(LIST_X, LIST_Y, LIST_W, LIST_H);QString str; for(int i = 0; i<10; i++) { str.setNum(i); QListW

2013-03-31 15:33:08 20527

原创 QMenu,QT的菜单添加

添加菜单方法1         m_pMenuBar= new QMenuBar(this);         QMenu*pFileMenu = new QMenu("&文件",m_pMenuBar);         QMenu*pOpenMenu = new QMenu("打开", pFileMenu);         QMenu*pCreateMenu =

2013-03-31 15:31:19 5996

原创 QT,QAction中的ToolTip

QAction ( const QString & text, QObject * parent )QAction ( const QIcon & icon, const QString & text, QObject * parent )QAction的两个构造函数中的text参数,文档的描述是:The action uses a stripped version of

2013-03-31 15:30:00 2654

原创 QT 修改QTableWidget表头

void NodeConfigDlg::initNodeTable(){ m_pNodeTable = new QTableWidget(this); QStringList headerString; m_pNodeTable->setColumnCount(6); m_pNodeTable->setRowCount(2); QGridLayo

2013-03-31 15:28:40 9375

原创 得到弹出菜单QMenu的高度

void xxxClass::xxxFun(){ m_StartMenu->addAction(act); m_StartMenu->addSeparator(); //如果没有这句,得到的sumHeight是菜单项的值;有了这句得到就是菜单总的高度 //,很奇怪 int sigleHeight = m_StartMenu->actio

2013-03-31 15:27:49 1796

原创 QT的一个奇怪问题,设置了Qt::Tool后,点击弹出对话框的确定取消按钮,程序直接退出

Alright, I found the reason. QWidget::create() clears the Qt::WA_QuitOnClose attribute for anything but Qt::Window, Qt::Widget or Qt::Dialog. The workaround is to call for example QWidget::show() firs

2013-03-31 15:26:31 1904

原创 QT线程初次使用。遇到的问题。

#include class OpenProThread : public QThread{    Q_OBJECTpublic:    OpenProThread(QObject *parent = 0)    {    }    ~OpenProThread()    {}

2013-03-31 15:25:11 702

重写MFC按钮控件,自绘CButton

重写自绘MFC的CButton按钮,使用GDI+重绘,支持多种图片格式,代码非常简洁(自夸)。VS2010

2014-11-19

将win32程序作为dll调用

很简单的一个程序,一个win32单文档程序,将tMain函数换成导出的函数,整个exe改为dll。 使用一个MFC程序来调用这个程序。

2014-06-25

VC++实现通过adb检测android设备是否连接到usb

一个小demo,使用c++检测是否有android连接到电脑。 实现方式是创建一对读写管道连接adb.exe和我们的程序。通过adb.exe 参数检测设备,我们程序来读取。

2014-06-10

日历软件 绿色版

绿色的版桌面日历小工具,可以产看农历节气,非常小,只有200KB。

2014-05-05

使用wininet上传文件到ftp服务器

wininet上传文件到ftp服务器,代码量很少,已测试成功,使用到项目中。

2013-11-01

隐式调用dll和显式调用dll

隐式调用dll和显式调用dll,并做了demo在同一个solution下编译就可以尝试,通过宏来控制隐式和显示调用。显示调用即使dll改名依然能够获取函数地址,通过函数指针来使用。

2013-07-26

重绘CTabCtrl

子类化了CTabCtrl,对CTabCtrl进程了重新绘制,代码比较简洁。

2013-03-08

firebreath开发NPAPI插件

前面简单介绍了浏览器,后面介绍了firebreath的环境搭建,创建一个浏览器插件,以及在firebreath中如何使用win32API。

2012-12-20

可编辑CListCtrl自绘,并且自绘了表头

MFC的CListCtrl自绘,加入了CEdit,表头也自绘了下,代码自认为比较代码简洁易读。环境VS2008

2012-09-28

读取所有进程CPU和内存

MFC做的,类似进程管理器界面,不过非常简陋,用CListCtrl只显示了所有进程的内存和CPU。

2012-07-23

CListCtrl的图片格式 关联CImageList,显示缩略图

将CListCtrl设置成图片格式,然后关联了CImageList,显示图片。其中用了GDI+来缩小图片到指定大小。

2012-07-20

标题栏上添加按钮,自绘按钮

在标题栏上添加按钮,自绘按钮。 CodeProject上代码修改了下。让您更容易使用。

2011-10-14

自绘CComboBox

自绘了CComboBox,给了一点效果,和下拉框ListBox的选中颜色修改。

2011-09-29

CListCtrl自绘CheckBox

自绘了CListCtrl的CheckBox,顺便修改了表头。VS2005版本。。

2011-09-23

MFC 多个客户端和服务端通信

VS2008可以运行,多个客户端与服务端通信,针对某一个客户端通信,客户端也可以进行回复服务端

2009-09-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除