网上找到的,先记下来,还未做测试
HRGN BitmapToRegion(HBITMAP hBmp, COLORREF cTransparentColor, COLORREF cTolerance){ HRGN hRgn = NULL;
if (hBmp) { HDC hMemDC = CreateCompatibleDC(NULL); if (hMemDC) { BITMAP bm; GetObject(hBmp, sizeof(bm), &bm);
//创建一个32位色的位图,并选进内存设备环境 BITMAPINFOHEADER RGB3...
原理:
首先创建一个不可见的窗口,然后使该窗口作为对话框的父窗口,这样出来的对话框就不在任务栏上显示图标了。
代码:
在App类中增加CWnd对象m_wndOwner
在InitInstance函数中添加代码
。。。
if(m_wndOwner.m_hWnd == NULL) { LPCTSTR pstrOwnerClass = AfxRegisterWndClass(0); if ( !m_wndOwner.CreateEx(0, pstrOwnerClass, _T(""), //创建一个隐藏的弹出样式的窗口 WS_POPUP, CW_USE...
// Socketmap.h: interface for the CSocketmap class.////////////////////////////////////////////////////////////////////////
#ifndef _SOCKETMAP_H_#define _SOCKETMAP_H_
template<class VALUE>class CSocketQueue {public: CSocketQueue(); ~CSocketQueue(); int GetCount(){return m_nCount;}; bool InitQu...
#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)
int ConnectWithTimeout (SOCKET sock,struct sockaddr *addr,int addrlen,struct timeval *timeout){ int nRet = 0; unsigned long nonblocking = 1; unsigned long blocking = 0; if(!timeout) return connect(sock, addr, addrlen); ioctlsocket(sock, FIONBIO, &nonblocking); if(conn...
void ReconfigureService(LPSTR lpServiceName, LPSTR lpDesc) { SC_HANDLE schSCManager = ::OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); if(schSCManager != NULL) { //Need to acquire database lock before reconfiguring. SC_LOCK sclLock = LockServiceDatabase(sch...
#include <io.h>#include <fcntl.h>
void InitConsole(){ int nRet= 0; FILE* fp; AllocConsole(); nRet= _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT); fp = _fdopen(nRet, "w"); *stdout = *fp; setvbuf(stdout, NULL, _IONBF, 0);}
在程序初始化处加上以上函数即可
转自:http://blog.csd...
BOOL CExportDlg::MyCreateDirectory(CString strDirectory){ int nPos; int nTempPos; CString strTemp; CFileFind ff; BOOL bFind = ff.FindFile(strDirectory); if(bFind)//有此目录 return TRUE; nPos = strDirectory.Find("\\",3); if(nPos < 0) nPos = strDirectory.Find("/",3); if(nPos < 0) return FALSE; while...
void WriteLog(CString content){ g_cs.Lock(); SYSTEMTIME st; CString strtm, strout; ::GetLocalTime(&st); strtm.Format("%d-%.2d-%.2d %.2d:%.2d:%.2d",st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond); strout.Format("<%s> %s\r\n",strtm,content); OutputDebugString(strout);
char moduleF...
// Buffer.h: interface for the CBuffer class.////////////////////////////////////////////////////////////////////////
#if !defined(AFX_BUFFER_H__B477EDB0_45FF_4DCC_910F_1EF9BF4F94DF__INCLUDED_)#define AFX_BUFFER_H__B477EDB0_45FF_4DCC_910F_1EF9BF4F94DF__INCLUDED_
#if _MSC_VER > 1000#pragma once#...
void CAaaaDlg::TruncateString(CString input, CStringArray& strArray, int length){ int len = input.GetLength() ; BYTE* flag = new BYTE[len]; memset(flag,0,len); BYTE f = 0; for(int i=0;i<len;i++) { if((BYTE)input.GetAt(i) > 0xa0) f++; else f = 0; flag[i] = f; } long nowLen = 0; long old...
void GBToUnicode(LPCSTR lpszAnsi, LPWSTR lpszWide) { int nSize=MultiByteToWideChar( CP_ACP,0, lpszAnsi,-1,NULL,0); MultiByteToWideChar( CP_ACP,0, lpszAnsi,-1,lpszWide,nSize); }
1.
数据库附加一致性问题,
第一新建一个数据库,把SQL停此后,然后把要附加的数据库更名,(注意改成刚才新建的数据库名,替换他的数据库)
运行查询分析器,选择刚才的数据库
第一步:运行 sp_dboption @DBNAME='这里是你的数据库名', @OPTNAME='SINGLE USER', @OPTVALUE='TRUE'第二步:运行 DBCC CHECKDB ('这里是你的数据库名',REPAIR_ALLOW_DATA_LOSS)第三步:运行 sp_dboption @DBNAME='这里是你的数据库名', @OPTNAME='SINGLE USER', @OPTVA...
void CMainFrame::OnTrayMessage(WPARAM wParam, LPARAM lParam){ if (lParam == WM_LBUTTONDBLCLK) { ShowWindow(SW_RESTORE); } else if (lParam == WM_RBUTTONDOWN) { CPoint m_point; ::GetCursorPos(&m_point);
CMenu menu; menu.LoadMenu(IDM_TRAYMENU); CMenu* submenu = menu.GetSubMenu(0); SetFo...
当工程的设置为“使用mfc作为静态的链接库”时,在新线程中使用CSocket,当进行Create操作时,会出错
解决办法:
在新线程中重新调用AfxSocketInit()进行Socket的初始化
CString CServices::GetModuleFilePath(){ TCHAR szFile[255]={0}; CString str = _T("");
DWORD dwRet = GetModuleFileName(NULL,szFile,255);
if(dwRet!=0) { str = _T(szFile); int nPos = str.ReverseFind('\\'); if(nPos!=-1) { str = str.Left(nPos+1); } } return str;}
查找字符串中某个字符最后一次出现的位置
两个参数
第一个参数:字符串
第二个参数:查找的字符
返回值:指向最后一次在字符串中出现的该字符的指针,如果要查找的字符再串中没有出现,则返回NULL。
(1)创建时传入字符串资源IDm_pPage1 = new CMyPropertyPage(IDS_MYCAPTION); (2)修改CPropertyPage.m_pspm_pPage1->m_psp.dwFlags |= PSP_USETITLE;m_pPage1->m_psp.pszTitle = _T("My Caption");注意:这种修改只能在CPropertySheet的Create和DoModal之前进行; 如果是从文件中读出一个字符串来进行设置,最好把这个字符串放在一个静态字符数组里面,例如static char strTitle[32];m_pP...
存储过程为:
create procedure [dbo].[ps_show1] @maxID intasselect * from ImportBatchwhere BatchID <= @maxID存储过程要求输入一个参数,同时返回一个记录集下面是应用程序中访问存储过程的关键代码:
_RecordsetPtr m_pRecordSetTemp = NULL; _ConnectionPtr m_pConnection = NULL; _CommandPtr m_pCommand = NULL; _bstr_t strCon( "...
m_list.SetItemState(1, LVIS_SELECTED, LVIS_SELECTED); m_list.SetFocus();
一定要有那个SetFocus()才可以