
vc/vc++
文章平均质量分 52
nnsword
赋于程序生命与智能,让其自由生长。
展开
-
打造完美的DialogBar
DialogBar相比Dialog有很多优势。因CDialogBar继承于CControlBar,因此其可以Docking在窗口一边,而把CView挤压开,但是 CDialogBar 的使用并不是很容易,因为 MFC 里面并没有提供直接可以使用的CDialogBar,我们需要自己动手,打造自己的完美的 DialogBar。首先,你需要建立一个CDialog的子类(比CMyDlgBar)。然后,我们转载 2008-07-15 17:46:00 · 2137 阅读 · 2 评论 -
VC中回调函数使用
对于回调函数的编写始终是写特殊处理功能程序时用到的技巧之一。先介绍一下回调的使用基本方法与原理。 1、在这里设:回调函数为A()(这是最简单的情况,不带参数,但我们应用的实际情况常常很会复杂),使用回调函数的操作函数为B(), 但B函数是需要参数的,这个参数就是指向函数A的地址变量,这个变量一般就是函数指针。使用方法为:int A(char *p); // 回调函数 typedef int(*C原创 2008-09-25 11:41:00 · 1591 阅读 · 0 评论 -
关于获得MFC窗口其它类指针的方法
获得CWinApp: -在CMainFrame,CChildFrame,CDocument,CView中直接调用AfxGetApp()或用theApp -在其它类中只能用AfxGetApp() 获得CMainFrame: -在CMinApp中用AfxGetMainWnd()或者m_pMainWnd -在CChildFrame中可用GetParentFrame() -在其它类中用原创 2008-09-25 17:11:00 · 777 阅读 · 0 评论 -
CString 操作指南
通过阅读本文你可以学习如何有效地使用 CString。 CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。 使用CString可以让你对字符串的操作更加直截了当。这篇文章不是CString的完全手原创 2008-09-28 17:24:00 · 641 阅读 · 0 评论 -
实现和IE浏览器交互的几种方法的介绍
---- 1.引言 ---- 如何实现对IE浏览器中对象的操作是一个很有实际意义问题,通过和IE绑定的DLL我们可以记录IE浏览过的网页的顺序,分析用户的使用行为和模式。我们可以对网页的内容进行过滤和翻译,可以自动填写网页中经常需要用户填写的Form内容等等,我们所有的例子代码都是通过VC来表示的,采用的原理是通过和IE对象的接口的交互来实现对IE的访问。实际上是采用COM的技术,我们知道COM是原创 2008-10-13 20:02:00 · 774 阅读 · 0 评论 -
程序只运行一个实例,并激活前一个实例
下载本文示例工程示例代码运行效果图如下:实现程序只运行一次的方法很多,但是原理都是一样的,就是运行第一次的时候设置一个标记,每次运行的时候检查该标记,如果有就说明已经运行了。具体实现: 1、在程序初始化的时候 (InitInstance()) 枚举所有的窗口,查找本程序的实例是否存在 2、在主窗口初始化的时候在本窗口的属性列表中添加一个标记,以便程序查找.部分关键代码 1、在App的InitI原创 2008-10-13 20:16:00 · 715 阅读 · 0 评论 -
用VC++对IE浏览器进行高级操作
————————————————以下为程序代码—————————————------------WriteReg()函数的主要内容:-----------void CTestView::WriteReg(){ //建立上下文菜单 HKEY phkResult; LPCTSTR lpSubKey = "Software//Microsoft//Internet Explorer//转载 2008-10-13 22:05:00 · 1125 阅读 · 0 评论 -
vc++ Mfc窗体的最大化及最小化
void CMainFrame::OnMinbox(){ // TODO: 在此添加命令处理程序代码 WINDOWPLACEMENT _wndpl; WINDOWPLACEMENT *lpwndpl; lpwndpl=&_wndpl; GetWindowPlacement(lpwndpl);//获取窗体结构变更指针 lpwndpl->showCmd=SW_S原创 2010-04-12 17:42:00 · 2061 阅读 · 0 评论 -
vc++添加左键弹出菜单
// CmfcDemo3View 消息处理程序void CmfcDemo3View::OnRButtonDown(UINT nFlags, CPoint point){ // TODO: 在此添加消息处理程序代码和/或调用默认值 CMenu menu;//定义菜单对象 menu.LoadMenuW(IDR_MENU1);//加载菜单 CMenu* PM=men原创 2010-04-13 10:11:00 · 1025 阅读 · 0 评论 -
vc++动态加载或动态更换主菜单
void CMainFrame::Onhuanmenu(){ // TODO: 在此添加命令处理程序代码 CMenu menu;//定义菜单对象 menu.LoadMenuW(IDR_MENU1);//加载菜单 AfxGetMainWnd()->SetMenu(&menu);//设置菜单 AfxGetMainWnd()->DrawMenuBar();//绘制菜单 men原创 2010-04-13 10:46:00 · 1868 阅读 · 0 评论 -
一个解决循环内界面假死的方法
前段时间写一个有进度条的单线程窗体程序时,碰到一个问题,即当进度条对应的的任务循环运行时,界面出现假死现象。具体表现为:程序界面没有反映,或者说反映极慢。曾经试过用多线程来处理这个问题。但是处理线程里面用循环来设置进度条进度位置,仍然导致界面无响应。到网上搜了一下,终于找到一种解决办法。请参看以下代码:/* ---------------------------------------原创 2010-04-30 15:11:00 · 2064 阅读 · 0 评论 -
vc++教程之win7下基址定位处理
作者:无名 邮箱:coolmoonf($#)163.com 博客:http://blog.youkuaiyun.com/nnsword处理目标程序如下:里面有二个方法,一个加血,一个是减血。由于系统是win7,寻到的Call基址,会改变,所以不能通过固定基址来远程调用这二个方法。所以我们只能变通了。首先我们知道,编译后程序相对于模块基址的偏移量是不变的,所以我们可以按这个思路来处理。原创 2014-06-27 16:33:42 · 3405 阅读 · 0 评论 -
在VC++6.0中用MFC进行COM编程
首先应当明确,MFC中是通过嵌套类而不是多重继承来实现COM接口的,通过接口映射机制将接口和实现该接口的嵌套类关联起来;MFC中提供一套简明的宏来实现嵌套类的定义.其次,MFC通过CCmdTarget类实现了IUnknown接口. 本文首先描述创建一个COM服务器的步骤和核心代码.然后说明客户程序关键代码. 此COM服务器实现一个TimeLogServer组件,为简明起见,此组件只有一个接原创 2008-09-28 11:41:00 · 1082 阅读 · 0 评论 -
谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢?我很早前就发现Un原创 2008-09-28 13:55:00 · 629 阅读 · 0 评论 -
VC++的应用程序框架中各类之间的访问方法
Visual C++ 6.0开发环境中,我们可以用MFC AppWizard 自动生成一个应用程序 。其中包括了应用类,主边框窗口类,子边框窗口类(MDI 应用程序),文档类 和视 图类。另外,系统还自动生成了一个文档模板类对象,它把文档类,文档边 框窗口类(SDI 中的主边框窗口类或M原创 2008-09-25 17:09:00 · 871 阅读 · 0 评论 -
MFC中获取各种类指针的方法
获得各种视图指针如下1) 在View中获得Doc指针 2) 在App中获得MainFrame指针 3) 在View中获得MainFrame指针4) 获得View(已建立)指针5) 获得当前文档指针6) 获得状态栏与工具栏指针7) 获得状态栏与工具栏变量8) 在Mainframe获得菜单指针9) 在任何类中获得应用程序类10) 从文档类取得视图类的指针(1) 11) 在App中获得文档模板指针 1原创 2008-07-16 15:33:00 · 762 阅读 · 0 评论 -
生成静态页面
public static bool WriteHtml(string[][] replaceSign, string templatePage, string saveHtmlPage, string encodingName) { System.Web.UI.Page page = new Page(); //---------------------读ht原创 2008-07-21 17:29:00 · 701 阅读 · 0 评论 -
VC中关于GlobalAlloc,GlobalLock,GlobalUnLock
调用GlobalAlloc函数分配一块内存,该函数会返回分配的内存句柄。 调用GlobalLock函数锁定内存块,该函数接受一个内存句柄作为参数,然后返回一个指向被锁定的内存块的指针。 您可以用该指针来读写内存。 调用GlobalUnlock函数来解锁先前被锁定的内存,该函数使得指向内存块的指针无效。 调用GlobalFree函数来释放内存块。您必须传给该函数一个内存句柄。 GlobalAl原创 2008-07-26 11:56:00 · 887 阅读 · 0 评论 -
vc中HBITMAP和CBitmap转换
HBITMAP转成CBitmap: CBitmap* pcBmp = CBitmap::FromHandle(hBmp); CBitmap bmp; bmp.Attach(hbmp); CBitmap转成HBITMAP: HBITMAP hBmp = (HBITMAP)cBmp;CBitmap* pBmp; HBITMAP hB原创 2008-07-29 17:00:00 · 5070 阅读 · 0 评论 -
深入浅出MFC文档/视图架构之相互关系
1、模板、文档、视图、框架的关系 连载1~5我们各个击破地讲解了文档、文档模板、视图和框架类,连载1已经强调这些类有着亲密的内部联系,总结1~5我们可以概括其联系为: (1)文档保留该文档的视图列表和指向创建该文档的文档模板的指针;文档至少有一个相关联的视图,而视图只能与一个文档相关联。 (2)视图保留指向其文档的指针,并被包含在其父框架窗口中; (3)文档框架窗口(即包含视图的MDI子窗原创 2008-08-08 09:56:00 · 1598 阅读 · 0 评论 -
用VC设计托盘图标程序
在Windows操作系统中,任务栏的右边(托盘)会常驻几个图标,如输入法切换图标、音量控制图标等,此外我们还经常遇到具有托盘图标的软件,如金山词霸、实时监测功能的杀毒软件等。这些软件在后台运行,通常不占用太多的屏幕资源,只在通知栏上放一个小小的标志,必要时我们可以通过用鼠标点击图标对其进行选单操作或激活其主窗口。有时我们自己编写的程序也希望有类似的效果,本文将详细地介绍用VC设计托盘图标程序的方法原创 2008-09-01 14:13:00 · 820 阅读 · 0 评论 -
vc 关闭、重启、注销
void CXMOperComputerDlg::OnBtnLogout() { // TODO: Add your control notification handler code here HANDLE htoken; TOKEN_PRIVILEGES tkp; //获得进程标识 if (!OpenProcessToken(G原创 2008-08-29 17:26:00 · 977 阅读 · 1 评论 -
vc 自定义喜木按扭类
#if !defined(AFX_MYB_H__3832DDEF_0C12_11D5_B6BE_00E07D8144D0__INCLUDED_) #define AFX_MYB_H__3832DDEF_0C12_11D5_B6BE_00E07D8144D0__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif原创 2008-08-30 15:00:00 · 1352 阅读 · 0 评论 -
VC数据类型
标识符 实际类型 意义 CHAR char 8位Windows(ANSI)字符。 CCHAR char 8位Windows(ANSI)字符。 PSZ char* 一个以"NULL"结束的Windows字符串的指针 PCHAR CHAR* 一个CHAR型指针 PSTR CHAR* 一个以"NULL"结尾的8位Windows(ANSI)字符串指针 LPSTR CHAR* 一个以"NULL"结尾的8位W原创 2008-09-18 14:08:00 · 746 阅读 · 0 评论 -
VC 自定义消息 postmessage用法
VC 自定义消息 postmessage用法1. 在 resource.h文件添加如下代码 定一个自己的消息#define WM_MY_MESSAGE WM_USER + 100 //---------------------by tyds2.在...view.h的文件添加如下://{{AFX_MSG(CPostmessageView)afx_msg void原创 2008-09-25 11:00:00 · 7629 阅读 · 1 评论 -
vc++教程之CreateRemoteThread
作者是:无名 QQ:16349023 Email:mengwzy@qq.com要实现线程的远程注入必须使用Windows提供的CreateRemoteThread函数来创建一个远程线程该函数的原型如下:HANDLE CreateRemoteThread( HANDLE hProcess, LPSECURITY_ATTRIBUTES lpThreadAttrib原创 2014-06-21 03:26:48 · 5851 阅读 · 1 评论