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
    评论
Visual C++ .NET实用编程百例》配套光盘使用指南 在本书配套光盘中可以找到与书中实例相应的文件。文件先按章组成,共分成10章。 每章的文件夹中包含了该章的实例源文件。其中需要使用外部函数的例子将单独占用一个文件夹, 其他的例子则为单独一个文件。 使用本书配套光盘时需要注意以下几点: ·本书配套光盘中的所有实例均能在装有Visual Studio.NET 2003的机器上正常运行, 要在没有Visual Studio.NET 2003开发环境的机器上运行本书的实例需首先安装dotNetFrameWork1.1和MDAC2.7 ·对于第五章中的大部分实例,需要使用数据库文件,有的要创建ODBC数据源,读者可参考书中相应的内容进行操作。 ·对于第七章中的大部分实例,必须首先安装IIS5.0或以上版本,并将项目文件夹拷贝到"C:\Inetpub\wwwroot"目录下(如果操作系统装载其他盘,则将C改为相应的驱动器号)。 ·第五章中的第47例至第49例是一个项目文件 ·第六章中的第63例和第64例是一个项目文件 ·第八章中的第82例至第84例是一个项目文件 ·对于Visual C++ .NET源文件(*.cpp),可以通过任何文本编辑器打开进行编辑和修改。 ·对于个别需要注意的程序,运行时请先阅读该实例对应的文件夹中的"说明.txt"文件。 ·运行实例时请参照书中的相关文字说明。如果出现函数调用出错,请先阅读书中文字部分

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值