编辑框控件的一些用法和消息

编辑框(Edit Box)控件实际上是一个简易的正文编辑器,用户可以在编辑框中输入并编辑正文。编辑框既可以是单行的,也可以是多行的,多行编辑框是从零开始编行号的.在一个多行编辑框中,除了最后一行外,每一行的结尾处都有一对回车换行符(用"\r\n"表示).这对回车换行符是正文换行的标志,在屏幕上是不可见的. 编辑框控件会向父窗口发出如表6.5所示的控件通知消息.  表6.5 消息 含义 EN_CHANGE 编辑框的内容被用户改变了。与EN_UPDATE不同,该消息是在编辑框显示的正文被刷新后才发出的。 EN_ERRSPACE ...
vc | 2009-02-18 00:49 | 阅读 9446 次 | 评论 0 条

C++编程中Windows消息解析大全

Shell_NotifyIcon 托盘的函数 hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。  message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。  wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。  lParam 通常是一个指向内存中数据的指针。由于W P a r a m、l P a r a m和P o i n t e r都是3 2位的,因此,它们之间可以相互转换。  WM_NULL = $0000;  W...
vc | 2009-02-17 13:08 | 阅读 6759 次 | 评论 1 条

如何得到通过GetOpenFileName选择的多个文件的文件名[转]

下面的代码演示了如何得到GetOpenFileName允许多选的情况下选择的文件名#include <windows.h> int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd){ OPENFILENAME ofn; TCHAR szOpenFileNames[80*MAX_PATH]; TCHAR szPath[MAX_PATH]; TCHAR szFileName[80*MAX_PATH]; TCHAR* p; int nLen = 0; ZeroM...
vc | 2009-02-15 21:51 | 阅读 4606 次 | 评论 0 条

API挂接

在阅读这篇文章之前,你可能要先阅读http://www.codeproject.com/system/inject2exe.asp#PortableExecutablefileformat2 和http://blog.csdn.net/XXKKFF/archive/2007/03/06/1522632.aspx 下面这段代码是一个动态链接库的源码,它用于挂接MessageBoxW的调用 #include <windows.h>#include <ImageHlp.h> //for ImageDirectoryEntryToData#includ...
vc | 2009-02-15 21:50 | 阅读 5076 次 | 评论 0 条

使用 MAPI 实现邮件发送

一、简述 实际上,本文的设计,所使用的只是 Simple MAPI,可以把它看作是MAPI(Messaging Application Programming Interface)的一个子集。不过大多数时候,Simple MAPI提供的功能已经足够使用。本文阐述了一个简单的,用于发送一个带附件的邮件的功能实现。如果需要更复杂的功能,我认为还是老老实实封装SMTP和 POP3比较好 二、Simple MAPI 介绍 Simple MAPI 包括一组很容易使用的函数以及相关的数据结构,可以在C/C++、VB等多种语言中使用。本文是基于VC设计的。 实现一个完整的邮件发送过程,...
vc | 2009-02-15 20:58 | 阅读 5124 次 | 评论 0 条

[转帖]教你理解复杂的C_C++声明

陆其明 译 原文:http://www.codeproject.com/cpp/complex_declarations.asp 作者:Vikram A Punathambekar 介绍 曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明:我们将从每天都能碰到的较简单的声明入手,然后逐步加入 const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C++声明的“右左法则”。需要强调一下的是,复杂的C/C+ +声明并不是好的编程风格;...
vc | 2009-02-15 20:57 | 阅读 2339 次 | 评论 0 条

木马病毒的六种启动方式剖析(来源于网络)

木马是随计算机或Windows的启动而启动并掌握一定的控制权的,其启动方式可谓多种多样,通过注册表启动、通过System.ini启动、通过 某些特定程序启动等,真是防不胜防。其实只要能够遏制住不让它启动,木马就没什么用了,这里就简单说说木马的启动方式,知己知彼百战不殆嘛。   一、通过"开始\程序\启动"   隐蔽性:2星   应用程度:较低   这也是一种很常见的方式,很多正常的程序都用它,大家常用的QQ就是用这种方式实现自启动的,但木马却很少用它。因为启动组的每人会会出现在 “系统配置实用程序”(msconfig.exe,以下简称msconfig)中。事实上,出现在“开始...
汇编 | 2009-02-15 20:55 | 阅读 2404 次 | 评论 0 条

[转帖]如何获取另一个进程的List Ctrl Item Text

#define WIN32_LEAN_AND_MEAN #include <stdio.h> #include <windows.h> #include <commctrl.h> int main(void) { HWND hwnd=FindWindow(NULL, "Stealing Program's Memory: ListView"); HWND listview=FindWindowEx(hwnd, NULL, "SysListView32", NULL); int count=(int)SendMessage(listview, LVM_GETITEMCOUNT, 0, 0)...
vc | 2009-02-15 20:54 | 阅读 2570 次 | 评论 0 条

RegisterHotKey()实现Alt+E的快捷键组合功能

RegisterHotKey()实现Alt+E的快捷键组合功能[问题提出] 有的程序需要自定义组合键完成一定功能,如何实现? [解决方法] RegisterHotKey函数原型及说明: BOOL RegisterHotKey( HWND hWnd, // 接收WM_HOTKEY的窗口句柄 int id, // hot key的ID号. UINT fsModifiers, // 响应那个热键. UINT vk ...
vc | 2009-02-15 20:50 | 阅读 5193 次 | 评论 0 条

vc应用程序技巧20例

1. 如何激活当前屏幕保护程序// 激活当前屏幕保护程序, jingzhou xuPostMessage(WM_SYSCOMMAND,SC_SCREENSAVE,0);2. 如何禁止/启用屏幕保护及电源管理static UINT dss_GetList[] = {SPI_GETLOWPOWERTIMEOUT, SPI_GETPOWEROFFTIMEOUT, SPI_GETSCREENSAVETIMEOUT};static UINT dss_SetList[] = {SPI_SETLOWPOWERTIMEOUT, SPI_SETPOWEROFFTIMEOUT, SPI_SETSCREENS...
vc | 2009-02-15 20:25 | 阅读 2496 次 | 评论 0 条

VC通过HTTP方式获取网页

第一种: 首先要包含这个头文件:#include <afxinet.h> CInternetSession mySession; CHttpFile* myHttpFile=NULL; CString myData; myHttpFile=(CHttpFile*)mySession.OpenURL(url,1,INTERNET_FLAG_DONT_CACHE,NULL,0); for(int i=0;i<20&amp;&amp;myHttpFile->ReadString(myData);i++) { strXMLReturn+=myData+" "; /...

用VC++模拟实现QQ密码盗窃软件

一般的盗密码的软件的软件都是通过监视键盘来获得密码,这样操作比较方便,但是这样也存在一定问题,密码有的时候不是很准确,因为有的人输入密码并不是从前到后输入,当然这样的人也是少数,盗密码嘛,当然去得到那些比较粗心的人的密码!通过安装钩子来监视QQ登陆界面就是获得密码的方法,在安装前得先找到登陆窗口的句柄,当钩子安装后,记录键盘,当用户“回车”或是点了“登陆”就可以开始处理密码了!我准备分为四部分来说明这个整个过程:  (1)寻找QQ登陆界面。  (2)安装钩子  (3)钩子函数的解释.  (4)处理密码。  以下部分全是使用C语言,文章中我假设读者您是会C/SDK编程的。如果遇...

VC实现的MSN Messager钩子程序

最近研究怎么样使用HOOK拦截其他应用程序的消息,于是就动手写了一个钩子程序来挂到最常用的通讯及时通讯工具MSN,虽然没有什么实际意义,但作为学习研究却能够帮助我们理解利用HOOK是怎么样将自己编写的DLL注入已经存在的程序空间中的。 我们需要做的是通过我们自己编写的应用程序去拦截别人写好的应用程序消息,实际上这是在两个进程之间进行的,难度就在这里,如果是同一个进程什么都好办,只要将系统响应WINDOWS消息的处理函数修改为我们自己编写的函数就可以,但现在不能这么做,因为两个进程有各自的进程地址空间,理论上你没有办法直接去访问别的进程的地址空间,那么怎么办来?办法还是很多的,这里仅仅介...

CAsyncSocket实现网络编程

随着计算机网络化的深入,计算机网络编程在程序设计的过程中变得日益重要。许多文章都曾经介绍过用VC++进行Socket编程的方法。但由于都是直接利用动态连接库wsock32.dll进行操作,实现比较繁琐。其实,VC++的MFC类库中提供了CAsyncSocket这样一个套接字类,用它来实现Socket编程,是非常方便的。   客户端   创建一个Dialog Based项目:CSockClient。设计一对话框,增加ID_Connect(连接)、ID_Send(发送)、ID_Exit(关闭)按钮,增加ListBox控件IDC_LISTMSG和Edit控件IDC_EDITMSG...

Socket传输文件示例

//1:显示文件进度 //2:可以随时终止传输过程 //发送数据线程 UINT SendDataThread(LPVOID lpParam); //接收数据线程 UINT ReceiveDataThread(LPVOID lpParam); //发送数据按钮消息响应函数 void CTzg004Dlg::OnButtonSend() { // TODO: Add your control notification handler code here //初始化数据发送结束标志 m_bSendEnd=FALSE; //...

消息钩子函数入门

Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的钩子,监视系统中特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入,屏幕取词,日志监视等等。可见,利用钩子可以实现许多特殊而有用的功能。因此,对于高级编程人员来说,掌握钩子的编程方法是很有必要的。钩子的类型   一. 按事件分类,有如下的几种常用类型   (1)...
vc | 2009-02-15 20:18 | 阅读 2588 次 | 评论 0 条

VC 使用DLL

1、静态链接使用该方法,必须制定要链接的lib文件。和接口说明的*.h文件 2、动态链接该方法用LoadLibrary载入dll,并且使用GetProcAddress得到dll中允许应用程序调用的函数的地址在最后还要释放该dll:FreeLibrary DllHmodule = LoadLibrary("H:\\MyVC\\your.dll"); if( !DllHmodule ) { AfxMessageBox("调用Dll失败!"); CDialog::OnOK(); } YOURFUNCDEFINE MyFunc = (YOURFUNCDEFINE)GetProcA...
vc | 2009-02-15 20:16 | 阅读 5522 次 | 评论 0 条

mciSendString

mciSendString是用来播放多媒体文件的API指令,可以播放MPEG,AVI,WAV,MP3,等等,下面我们来介绍一   下它的使用方法:   一,打开多媒体文件。   首先在Dialog上面放一个Picture控件,MCISendString就在这个Picture控件的平面上播放多媒体文件,   设Picture控件的ID为IDC_STATIC1:   CStatic *pStatic=(CStatic*)GetDlgItem(IDC_STATIC1);HWND h=pStatic->GetSafeHwnd();   CString open1;  ...
vc | 2009-02-15 20:15 | 阅读 1609 次 | 评论 0 条

MFC主类说明(非常清楚)

1.CObject类为MFC总类,该类下面有一个重要的类CCmdTarget。 而CCmdTarget类下面又有四个重要的继承类,分别为:CWinThread、CDocument、CDocTemplate、 CWnd类。所以,可以得出一个大概继承图,如图所示: CObject--->CCmdTarget ---->CWinThread ---->CWinApp ----->CDocTemplate ...
vc | 2009-02-10 14:27 | 阅读 7430 次 | 评论 1 条