![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC
文章平均质量分 56
饭桶哟
这个作者很懒,什么都没留下…
展开
-
同盘移动目录
Typedef struct _ShFILEOPSTRUCT { HWND hWnd; //消息发送的窗口句柄; UINT wFunc; //操作类型 LPCSTR pFrom; //源文件及路径 LPCSTR pTo; //目标文件及路径 FILEOP_FLAGS fFlags; //操作与确认标志 BOOL fAnyOpe原创 2013-08-05 10:19:53 · 516 阅读 · 0 评论 -
将程序添加到开机启动组,filePath表示系统的启动项
SetAutoRun(_T("Software\\Microsoft\\Windows\\CurrentVersion\\Run")) ;void CScreenLockDlg::SetAutoRun(CString filePath){ HKEY hKey; //打开启动项Key long lRet = RegOpenKeyE原创 2013-08-28 16:03:15 · 818 阅读 · 0 评论 -
通过访问注册表来获取已安装程序的名称
HKEY hKey ;HKEY hdwKey ;int nIndex = 0 ;TCHAR szKeyName[MAX_PATH] ;TCHAR szBuffer[MAX_PATH] ;DWORD dwKeyLen = sizeof(szKeyName) ;DWORD dwNameLen = sizeof(szBuffer) ;DWORD dwType = REG_BI原创 2013-08-28 16:16:53 · 1086 阅读 · 0 评论 -
禁用任务管理器(修改注册表与设置键盘钩子)
#define HKCU HKEY_CURRENT_USERHKEY hk;HHOOK hook; LPCTSTR VAL_DisableTaskMgr = _T("DisableTaskMgr");LPCTSTR KEY_DisableTaskMgr =_T("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\S原创 2013-08-28 16:14:28 · 2170 阅读 · 0 评论 -
系统托盘图标操作
// 将图标放入系统托盘 NOTIFYICONDATA nd; nd.cbSize = sizeof (NOTIFYICONDATA); nd.hWnd = m_hWnd; nd.uID = IDI_UNLOCK; //图标资源名称 nd.uFlags = NIF_ICON|NIF_MESSAGE|NIF_TIP; nd.uCallbac原创 2013-08-28 16:53:07 · 758 阅读 · 0 评论 -
设置快捷方式
//创建快捷方式 //快捷方式的目标应用程序名 //快捷方式的数据文件名(*.lnk)static BOOL CreateLink(LPTSTR szPath, LPTSTR szLink, bool flag){ HRESULT hres ; IShellLink * psl ; IPersistFile* ppf ; TCHAR wsz[ MA原创 2013-08-29 15:08:19 · 667 阅读 · 0 评论 -
关于内存问题 WCHAR:计算长度,与安全连接
string WToMChar(wstring str){string return_value;//获取缓冲区的大小,并申请空间,缓冲区大小是按字节计算的int len=WideCharToMultiByte(CP_ACP,0,str.c_str(),str.size(),NULL,0,NULL,NULL);char *buffer=new char[len+1];Wid原创 2013-09-09 16:25:59 · 2107 阅读 · 0 评论 -
判断系统是32位还是64位
在64位系统上运行Win32编译配置的结果是IsWow64() == TRUE,而x64编译配置的结果是IsWow64() == FALSE。// 检测是否64位系统BOOL IsWow64(){typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);LPFN_ISWOW64PROCESS fnIsWow64Proc原创 2013-09-04 10:26:11 · 938 阅读 · 0 评论 -
从文件资源里获取文本
CString strInfo = _T("") ;GetResString( MAKEINTRESOURCE(INFORES), _T("RES"), strInfo ) ;bool GetResString( const TCHAR * _res, const TCHAR * _restype, CString& strString){ HRSRC myres =原创 2013-09-12 15:29:49 · 837 阅读 · 0 评论 -
从资源里拷贝文件
CString strMzdIo = _T("C:\\MZDIO") ;CopyResFile(MAKEINTRESOURCE(MZDIO), _T("RES"), strMzdIo);//strMzdlo表示拷贝到的目的地//从资源里拷贝文件bool CopyResFile( const TCHAR * _res, const TCHAR * _restype, cons原创 2013-09-12 15:41:43 · 600 阅读 · 0 评论 -
更新程序版本日期
更新程序版本日期:项目->属性->生成事件->生成后事件: 命令行:FILEVER.exe $(OutDir)\$(ProjectName).exe原创 2013-09-12 16:14:18 · 614 阅读 · 0 评论 -
psapi.h 说明, TlHelp32.h 说明
#include #include "Psapi.h"#pragma comment(lib, "Psapi.lib") 调用CreatToolhelp32Snapshot来获取快照,用THREADENTRY32来获取线程信息等 就会用到TlHelp32.h 头文件psapi是: process status API ,是获取系统状态的函数集合.它会返回以下系统信息:进程信息转载 2013-08-28 11:38:00 · 4109 阅读 · 0 评论 -
获取进程信息及每条进程所调用的dll
获取进程列表信息,并列举出每个进程所调用的DLL列表:1.分别添加List Control,List Box控件,并关联对应的变量: CListCtrl m_listProcess; CListBox m_listDll;2.添加头文件:#include #include "Psapi.h"#pragma comment(lib, "Psapi.lib"原创 2013-08-28 11:32:46 · 1143 阅读 · 0 评论 -
获取任务栏打开的程序
添加一个列表控件,并为列表控件添加一个变量:CList m_listTask ;头文件中申明:static BOOL CALLBACK EnumWindowProc(HWND hWnd, LPARAM lParam);在OnInitDialog()中写入: //获取任务栏上打开的程序EnumWindows(EnumWindowProc,(LPARAM)this)原创 2013-08-27 15:06:13 · 1768 阅读 · 8 评论 -
关于在MFC中加载PNG图片
1.在stdafx.h中写入 #include #pragma comment(lib, "gdiplus.lib")2.再在OnInitDialog()中初始化进程实例启动GDI+ GdiplusStartupInput stGdiInput ;memset(&stGdiInput, 0, sizeof(stGdiInput)); stGdiInput.Gdi原创 2013-08-05 10:04:04 · 783 阅读 · 0 评论 -
生成dll文件与调用
1.创建MFC DLL项目,在项目中的.cpp中添加一个函数:如extern "C" __declspec(dllexport) int LoadService(){ AfxMessageBox(_T("kkk")) ; return 0;}2.创建要调用dll文件的MFC程序在stdafx.h中添加如下代码:#pragma comment(lib,"原创 2013-08-05 10:21:30 · 478 阅读 · 0 评论 -
画线,矩形,图片:
/*CDC *cdc = GetDC() ;cdc->MoveTo(10,20) ;cdc->LineTo(10,100) ;*//*CClientDC dc(this) ;dc.MoveTo(10,20) ;dc.LineTo(10,100) ;*//*CWindowDC dc(this) ; dc.MoveTo(10,20) ;原创 2013-08-05 10:14:18 · 518 阅读 · 0 评论 -
对窗口半透明的实现
ModifyStyleEx(0,0x00080000); HINSTANCE hInst = LoadLibrary(_T("User32.DLL")) ;if ( hInst ){typedef BOOL (WINAPI * MYFUNC)(HWND, COLORREF, BYTE, DWORD) ;MYFUNC fun = NULL ;fun = (MYF原创 2013-08-07 17:35:26 · 395 阅读 · 0 评论 -
创建线程
具体说来,CreateThread这个 函数是windows提供给用户的 API函数,是SDK的标准形式,在使用的过程中要考虑到进程的同步与互斥的关系,进程间的同步互斥等一系列会导致操作系统死锁的因素,用起来比较繁琐一些,初学的人在用到的时候可能会产生不可预料的错误,建议多使用AfxBeginThread,是编译器对原来的CreateThread函数的封装,用与MFC编程(当然,只要修改了项目属性转载 2013-08-23 11:22:05 · 439 阅读 · 0 评论 -
删除整个目录及文件
void DeleteLog(LPCTSTR sDirName, bool bRemoveBase){TCHAR sTempFileFind[MAX_PATH] ; WIN32_FIND_DATA data; wsprintf(sTempFileFind, _T("%s\\*.*"), sDirName); HANDLE hFinded = Find原创 2013-08-27 11:07:39 · 511 阅读 · 0 评论 -
获取系统磁盘驱动器
DWORD dwDriveStrLen = 0;dwDriveStrLen= GetLogicalDriveStrings(0,NULL);char *szDriveName = new char[dwDriveStrLen];GetLogicalDriveStringsA( dwDriveStrLen, szDriveName) ;CString str = _T("") ;原创 2013-08-27 10:47:39 · 802 阅读 · 0 评论 -
字符串的相互转换(TCHAR,char,CString)
/////************ tchar, char, CSting转换成int************//TCHAR tchar[MAX_PATH] = _T("123456") ;char _char[MAX_PATH] = "123" ;CString m_str, n_str ;int nItem1, nItem2 ;nItem1 = _ttoi( tchar)原创 2013-08-27 10:52:53 · 1279 阅读 · 0 评论 -
判断字符串是否为合格的IP地址
BOOL IsNomalIP(CString strServerIP, int *endIP) { CString m_strIP ; int n_strid ; int nCount = 0 ; int IPnumber[4] ; CString Card ; m_strIP原创 2013-08-27 10:54:31 · 1384 阅读 · 0 评论 -
删除IE缓存
BOOL DelInetTempFiles() { BOOL bResult = FALSE; BOOL bDone = FALSE; LPINTERNET_CACHE_ENTRY_INFO lpCacheEntry = NULL; DWORD dwTrySize, dwEntrySize = 4096; //内存大小原创 2013-08-27 11:03:57 · 622 阅读 · 0 评论 -
子窗口与父窗口按TAB键切换控件焦点
在子窗口的OnInitDialog() 中写入: ModifyStyleEx( 0, WS_EX_CONTROLPARENT, 0 );另外这也会导致程序出现无响应卡死的状况,于是就必须要确定好窗口中控件的焦点了.原创 2013-09-18 16:31:50 · 1219 阅读 · 0 评论