Visual C++.net实用编程百例札记

 

《Visual C++.net实用编程百例》

清华大学出版社 TP312c cjF

古老却实用的mfc, 热热手~

四、移动文字

1.GetClientRect(&m_Rect):获取客户区窗口大小

2.输出文字 CDC *pDC;

  pDC->SetTextColor(RGB(255,0,0));

  pDC->TextOut(m_StartX,80,m_strText);

3.计时器:

1onTimer(nIDEvent)      //每隔nIDEvent个千分之一秒调用一次该函数

 (2)UINT_PTR SetTimer(    //激活OnTimer
       UINT_PTR nIDEvent,    //id
       UINT nElapse,              //定时间隔     

      

void (CALLBACK* lpfnTimer
      )()

              (3)KillTimer(nIDEvent)         //终结OnTimer()调用

4.Invalidate():调用OnDraw()引起视图区重绘

 

五、椭圆窗口

1.int SetWindowRgn(HWND hWnd,HRGN hRgn,BOOL bRedraw);设置窗口区域

2.wm_NcHitTest消息:指定鼠标光标的移动

 

三十八、获取文件属性

1.Updatedata(true)取回dialog box dataUpdatedata(false)初始化data;

2.CFileStatus类包含文件属性信息,由CFile::GetStatus(in m_strFileName,out status);获得

3.switch(expression )

{

Case constant-expression :…;break;

…….

}

 

三十九、读写ini文件

1.BOOL WritePrivateProfileString(
LPCTSTR
lpAppName,
LPCTSTR
lpKeyName,
LPCTSTR
lpString,
LPCTSTR
lpFileName
);

2.DWORD GetPrivateProfileString(
LPCTSTR
lpAppName,
LPCTSTR
lpKeyName,
LPCTSTR
lpDefault,
LPTSTR
lpReturnedString,
DWORD
nSize,
LPCTSTR
lpFileName
);

四十、读写注册表

1.创建键值(若存在则打开)

LONG RegCreateKey(
HKEY
hKey,
LPCTSTR
lpSubKey,
PHKEY
phkResult
);

例:RegCreateKey(HKEY_LOCAL_MACHINE,"software//ZHAO//MyKey",&hKey);

2.设置键值

LONG RegSetValueEx(
HKEY
hKey,
LPCTSTR
lpValueName,
DWORD
Reserved,
DWORD
dwType,
const BYTE*
lpData,
DWORD
cbData
);
3.打开某一特定键值

LONG RegOpenKeyEx(
HKEY
hKey,
LPCTSTR
lpSubKey,
DWORD
ulOptions,
REGSAM
samDesired,
PHKEY
phkResult
);
4.查询,从打开的键中读取数据

LONG RegQueryValueEx(
HKEY
hKey,
LPCTSTR
lpValueName,
LPDWORD
lpReserved,
LPDWORD
lpType,
LPBYTE
lpData,
LPDWORD
lpcbData
);

5.关闭键

LONG RegCloseKey(
HKEY
hKey
);

 

四十一、关闭计算机

1.注销、关闭、待机、重启API函数ExitWindowsEx()

BOOL ExitWindowsEx(
UINT
uFlags,
DWORD
dwReason
);
uFlages:EWX_LOGOFF注销;EWX_POWEROFF待机;EWX_REBOOT重启;EWX_SHUTDOWN关机;

2.设置本地计算机名:BOOL SetComputerName(LPCTSTR lpComputerName);

   获取本地计算机名:BOOL GetComputerName(LPCTSTR lpBuffer,LPDWORD nSize);

 

四十二、显示系统进程

1.list control控件的使用:

1)增加一列:

int InsertColumn(

int nCol,
LPCTSTR lpszColumnHeading,
int nFormat = LVCFMT_LEFT,
int nWidth = -1,
int nSubItem = -1 );

2)插入一行

int InsertItem(
int nItem,
LPCTSTR lpszItem );

3)设置单元格内容:

BOOL SetItemText(
int nItem,
int nSubItem,
LPCTSTR lpszText );

2.系统信息头文件:tlhelp32.h

3.HANDLE snapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

为指定的进程、进程使用的堆[HEAP]、模块[MODULE]、线程[THREAD])建立一个快照[snapshot]

TH32CS_SNAPPROCESS - 在快照中包含系统中所有的进程。

4.进程信息数据结构:PROCESSENTRY32

typedef struct tagPROCESSENTRY32 {

DWORD dwSize;

DWORD cntUsage;

DWORD th32ProcessID;

ULONG_PTR th32DefaultHeapID;

DWORD th32ModuleID;

DWORD cntThreads;

DWORD th32ParentProcessID;

LONG pcPriClassBase;

DWORD dwFlags;

TCHAR szExeFile[MAX_PATH];
} PROCESSENTRY32,

*PPROCESSENTRY32;

5.获取第一个进程信息:

BOOL WINAPI Process32First(
HANDLE
hSnapshot,
LPPROCESSENTRY32
lppe
);

获取下一个进程信息:

BOOL WINAPI Process32Next(
HANDLE
hSnapshot,
LPPROCESSENTRY32
lppe
);

 

四十四、用CStdioFile类读写文件

CStdioFile派生自CFile,提供一种处理流式文件数据的机制,有两个函数:

1.构造函数:

CStdioFile( );
CStdioFile(
FILE* pOpenStream );
CStdioFile(
LPCTSTR lpszFileName,
UINT nOpenFlags );

2.virtual void WriteString(LPCTSTR lpsz );

3.读取文件:

virtual LPTSTR ReadString(
LPTSTR lpsz,
UINT nMax );
virtual BOOL ReadString(
CString& rString
);

 

四十六、获取系统环境变量

热键设置方法:

1.在程序初始化时注册:

BOOL RegisterHotKey( HWND hWnd, int id, UINT fsModifiers, UINT vk );

2.添加WM_HOTKEY消息处理函数

3.OnDestroy()中注销热键:

BOOL UnregisterHotKey( HWND hWnd, int id);

4.激活窗口并前台执行:CWnd::SetForegroundWindow();

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值