
C++
yann2
NULL
展开
-
CString,int,string,char* 之间的互相转换
<br />string 转 CStringCString.format("%s", string.c_str());char 转 CStringCString.format("%s", char*);char 转 stringstring s(char *);string 转 char *char *p = string.c_str();// CString转std::stringCString str = dlg.GetPathName();setlocale(LC_ALL, "chs");char *转载 2010-10-13 09:19:00 · 706 阅读 · 0 评论 -
SHGetFileInfo 函数参数解释
WINSHELLAPI DWORD WINAPI SHGetFileInfo(LPCTSTR pszPath,DWORD dwFileAttributes,SHFILEINFO FAR *psfi,UINT cbFileInfo, UINT uFlags ); pszPath 参数:指定的文件名。 当uFlags的取值中不包含 SHGFI_PIDL时,转载 2011-06-11 15:18:00 · 951 阅读 · 0 评论 -
深入浅出ShellExecute
Q: 如何打开一个应用程序?ShellExecute(this->m_hWnd,"open","calc.exe","","", SW_SHOW );或ShellExecute(this->m_hWnd,"open","notepad.exe", "c://MyLog.log","",SW_SHOW );正如您所看到的,我并没有传递程序的完整路径。Q: 如何打开一个同系统转载 2011-06-12 02:39:00 · 685 阅读 · 0 评论 -
CString 和 std::string 转换方法(Unicode下)
#include CString str = _T("123abc汉字~~"); std::string sData = "123"; WCharToChar(CP_ACP,str.GetBuffer(),sData); str.ReleaseBuffer(); str = _T(""); std::wstring strTemp; Ch原创 2011-06-11 23:14:00 · 2877 阅读 · 0 评论 -
Windows窗口消息类型+说明
<br />http://dev.youkuaiyun.com/article/73/73242.shtm<br /><br />消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,(我转贴的)<br /><br />它在Windows单转载 2010-10-29 09:39:00 · 3064 阅读 · 0 评论 -
windows控件消息和控件通知消息大全
<br />Edit Control Notification Codes <br />EN_SETFOCUS <br />EN_KILLFOCUS <br />EN_CHANGE <br />EN_UPDATE <br />EN_ERRSPACE <br />EN_MAXTEXT <br />EN_HSCROLL <br />EN_VSCROLL <br />Edit转载 2010-10-29 09:27:00 · 1064 阅读 · 0 评论 -
CreateThread 的详细说明
<br />当使用CreateProcess调用时,系统将创建一个进程和一个主线程。CreateThread将在主线程的基础上创建一个新线程,大致做如下步骤: 1在内核对象中分配一个线程标识/句柄,可供管理,由CreateThread返回 2把线程退出码置为STILL_ACTIVE,把线程挂起计数置1 3分配context结构 4分配两页的物理存储以准备栈,保护页设置为PAGE_READWRITE,第2页设为PAGE_GUARD 5lpStartAddr和lpvThread值被放在栈顶,使它们成为转载 2010-10-20 18:14:00 · 1161 阅读 · 0 评论 -
方便的 GDI+ 轻松修改图片及保存图片
<br />首先要获得图片的CLSID,微软提供了一个函数,但他并没有集成到GDI+的库中<br />也就是 GetEncoderClsid。。<br />但是微软给出了实现,我们要做的也就是把该函数自己手动添加到工程中<br />下面是该函数的实现<br /> <br />int CGUIWindowEffectDlg::GetEncoderClsid(const WCHAR *format, CLSID *pClsid){ UINT num = 0;// number of im原创 2010-10-20 10:52:00 · 2429 阅读 · 0 评论 -
使用GDI+ 绘制可旋转的PNG
<br />如果要绘制半透明的图片,请使用.png格式(用photoshop即可轻松制作并处理)一、首先介绍Graphics的两个函数,RotateTransform:将整个坐标系逆时针旋转一定角度TranslateTransform:将整个坐标系偏移到某个位置本例要实现的功能是在指定位置上旋转图片,首先需要将整个坐标系偏移到指定位置,在进行坐标系的旋转,在函数使用上应先旋转在偏移(与我们想象的相反),代码如下myGraphics.RotateTransform(angle,MatrixOrderAppen转载 2010-10-18 10:45:00 · 2256 阅读 · 0 评论 -
解决 GDI 贴图的闪烁
<br /><br />注:Windows GDI画图闪烁解决方法<br /><br />一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。<br />先来谈谈闪烁产生的原因<br />原因一:<br />如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕<br />上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。<br />一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的转载 2010-10-18 15:10:00 · 3092 阅读 · 0 评论 -
列举 CString转char 的四种方法
<br /> <br />1.传给未分配内存的const char* (LPCTSTR)指针. <br /> CString cstr(asdd);<br /> const char* ch = (LPCTSTR)cstr;<br /> ch指向的地址和cstr相同。但由于使用const保证ch不会修改,所以安全.<br /> <br />2.传给未分配内存的指针.<br /> CString cstr = "ASDDSD";<br /> char *ch = cstr.GetBuf转载 2010-10-13 09:12:00 · 2883 阅读 · 0 评论 -
同步Socket Send执行流程
这里只描述同步Socket的send函数的执行流程当调用该函数时,send先比较待发送数据的长度len和套接字s的发送缓冲的 长度如果len大于s的发送缓冲区的长度,该函数返回SOCKET_ERROR如果len小于或者等于s的发送缓冲区的长度,那么send先检查协议 是否正在发送s的发送缓冲中的数据,如果是就等待协议把数据发送完 如果协议还没有开始发送s的转载 2011-06-13 13:00:00 · 1478 阅读 · 0 评论