获取进程快照
12345678910111213141516171819202122232425262728293031#include "windows.h"#include "tlhelp32.h"#include "stdio.h"int main(int argc, char* argv[]){  PROCESSENTRY32 pe32;  //在使用这个结构前,先设置它的大小  pe32.dwSize = sizeof(pe32);  //给系统内所有的进程拍个快照  HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);  if (hProcessSnap == INVALID_HANDLE_VALUE)  {      printf("CreateToolhelp32Snapshot 调用失败.\n");      return -1;  }  //遍历进程快照,轮流显示每个进程的信息...
MFC关闭进程
123456789101112DWORD nProcessID;HANDLE hProcess = NULL; ::GetWindowThreadProcessId((HWND)handle,&nProcessID); // handle要关闭的进程句柄,可以使用FindWindow获取hProcess = ::OpenProcess(PROCESS_TERMINATE,FALSE,nProcessID);if (!::TerminateProcess(hProcess, 0)){    DWORD derror = GetLastError();    return FALSE;}return TRUE;
MFC检测程序未响应
12345678910111213141516171819202122232425262728UpdateData();	CWnd* hwnd = FindWindow(NULL, m_szName);// m_szName 程序名称 	if (NULL != hwnd)	{		HINSTANCE hDll = LoadLibrary(_T("user32.dll"));		if (NULL != hDll)		{			typedef BOOL(WINAPI *PROCISHUNGAPPWINDOW)(HWND); 			PROCISHUNGAPPWINDOW IsHungAppWindow = (PROCISHUNGAPPWINDOW)GetProcAddress(hDll, "IsHungAppWindow");			if (IsHungAppWindow(hwnd->GetSafeHwnd()))			{				m_szStatus = "未响应";			}			els...
取得程序运行目录
1234// 获取当前进程的当前目录char path[MAX_PATH];memset(0, path, MAX_PATH);GetCurrentDirectory(MAX_PATH,curr_all_path);   123456789101112131415161718// 取得程序运行目录TCHAR szPathName[MAX_PATH];    memset(szPathName, 0, MAX_PATH);    if (0 == GetModuleFileName(NULL, szPathName, MAX_PATH))    {        return _T("");    }    CString rValue;    rValue = szPathName;    for (int i = rValue.GetLength(); i > 0;  --i)    {        if ('\\' == rValue[i-1])        {            r...
web网页调用 c++写的OCX控件
web网页调用 c++写的OCX控件12345678<object     classid="clsid:8321EA50-51F1-464E-B0D0-11B2092DEDA4"     id="8321EA50-51F1-464E-B0D0-11B2092DEDA4"     codebase="testOcx.ocx"     size="500"     width="500"     height="500"> </object> 
把后台窗口调至前台显示
把后台窗口调至前台显示123456789101112131415// FindWindow取得窗口句柄  CWnd* hwnd = FindWindow(NULL, _T("PSS V4.06"));  if (NULL != hwnd)  {      CRect rect;      // 取得窗口大小       hwnd->GetWindowRect(rect);      // 显示      hwnd->SetWindowPos(NULL, rect.left, rect.top, rect.right, rect.bottom, TRUE);  }
MFC CComboBox CProgressCtrl控件操作
CComboBox 下拉条  CComboBox::ResetContent()删除所有文本  CComboBox::AddString()增加一行  CString szTmp;  CComboBox::GetWindowText(szTmp);取得当前文本  CProgressCtrl 进度条  CProgressCtrl::SetRange(0,1000);设置范围  CProgressCtrl::SetStep(设置当前步长);  CProgressCtrl::SetPos()设置当前进度 
各种数据库连接字符串查询网址
各种数据库连接字符串查询网址http://www.connectionstrings.com/ 
在线程中弹出自定义对话框
弹出对话框的代码 : 主要是弹出对话框的时候可以在后台做某些动作: 与直接弹出对话框前开启线程,在线程中做某些动作效果相同。 12345MsgBoxThread mbt;mbt.MesgBoxPopup(10, "do something");// do something // do somethingmbt.WaitFor(); // 等待线程退出 使用到的MsgThread和对话框类 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213...
ODBC连接数据库使用动态密码
先修改使用到的记录集的GetDefaultConnect()函数为:1234CString CTask_Info::GetDefaultConnect(){    return _T("ODBC;DSN=DSN_NAME");}使用方法: 1234567891011121314CDatabase sqldb;    sqldb.OpenEx("DSN=DSN_NAME;UID=;PWD=密码", CDatabase::noOdbcDialog); // LOGMANAGE_GUNARK数据源名称if (sqldb.IsOpen())    {        CTask_Info ti(&sqldb);        ti.m_strFilter.Format("");        ti.Open(CRecordset::dynaset);        for (int i =0; !ti.IsEOF(); ++i)        {            CString...






