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 | 阅读 5467 次 | 评论 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 | 阅读 1542 次 | 评论 0 条

MFC主类说明(非常清楚)

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

木马免杀原理大全

免杀的原理大全一、工具mycll:特征码定位PEID:查壳工具PEditor: 入口点修改工具 加花c32asmollybgoc:文件地址到内存地址 的换算resscope:资源编辑zeroadd:加区段的木马采衣:加花maskpe,vmprotect:加密upx,aspack北斗壳:压缩免疫007:免疫器二、效果分析1、加密:vmprotectv1.21和 MASKPE2.0(对瑞星有特效),比较容易过瑞星表面,不能过卡巴压缩:北斗,UPX:主要是减少体积加花:对卡巴有特效,通用性比较好2、北斗+VMpro,但是北斗+maskpe 出错!无壳木马可以先加花3、无壳木马直接用maskPE...
汇编 | 2009-01-02 18:03 | 阅读 14661 次 | 评论 0 条

Win32 API 函数

Win32 API 函数★★★ 2008年12月13日 星期六 23:41 2008/11/26 14:47 1、EnableMenuItem 允许、禁止或变灰指定的菜单条目 2、EnableWindow 允许或禁止鼠标和键盘控制指定窗口和条目(禁止时菜单变灰) CreateDialog 从资源模板建立一非模态对话窗 CreateDialogParam 从资源模板建立一非模态对话窗 CreateDialogIndirect 从内存模板建立一非模态对话窗 ...
vc | 2009-01-02 18:00 | 阅读 4512 次 | 评论 0 条

在VC++中访问和修改系统注册表 [转贴]

WindowsXP的注册表包含了WindowsXP的系统配置、PC机的硬件配置、Win32应用程序和用户的其他设置信息。注册表和INI文件不同,它是多层次的树状数据结构,具有六个分支(根键),每个分支又由许多的键和键值组成,而每个键则代表一个特定的配置项目。  在实际的编程工作中,我们遇到了如何在Visual C++中对WindowsXP注册表整个树状结构信息进行访问和修改的问题,如查询和修改注册表中用户姓名和公司名称的有关信息。通过编程实践,我们实现了在Visual C++中查询和修改系统注册表的有关信息。下面以一个实例说明具体的编程方法。  在Visual C++ 6.0或5.0环境...
vc | 2009-01-02 17:59 | 阅读 5601 次 | 评论 1 条

常用 API 函数(三)

常用 API 函数(10): 硬件与系统函数 ActivateKeyboardLayout 激活一个新的键盘布局。键盘布局定义了按键在一种物理性键盘上的位置与含义 Beep 用于生成简单的声音 CharToOem 将一个字串从ANSI字符集转换到OEM字符集 ClipCursor 将指针限制到指定区域 ConvertDefaultLocale 将一个特殊的地方标识符转换成真实的地方ID CreateCaret 根据指定的信息创建一个插入符(光标),并将它选定为指定窗口的默认插入符 DestroyCaret 清除(破坏)一个插...
vc | 2009-01-02 17:56 | 阅读 4481 次 | 评论 0 条

常用 API 函数(二)

常用 API 函数(6): 菜单函数 AppendMenu 在指定的菜单里添加一个菜单项 CheckMenuItem 复选或撤消复选指定的菜单条目 CheckMenuRadioItem 指定一个菜单条目被复选成"单选"项目 CreateMenu 创建新菜单 CreatePopupMenu 创建一个空的弹出式菜单 DeleteMenu 删除指定的菜单条目 DestroyMenu 删除指定的菜单 DrawMenuBar 为指定的窗口重画菜单 EnableMenuItem 允许或禁止指定的菜单条目 GetM...
vc | 2009-01-02 17:55 | 阅读 3732 次 | 评论 0 条

常用 API 函数(一)

常用 API 函数(1): 网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接 WNetDisconnectDia...
vc | 2009-01-02 17:55 | 阅读 3809 次 | 评论 0 条

汇编8086的指令系统

8086的指令系统可分成6个功能组,他们是①数据传送类指令②算术运算类指令③位操作类指令④串操作类指令⑤控制转移类指令⑥处理机控制类指令 一、数据传送类指令数据传送类指令又分为:1、通用数据传送指令三条传送指令:MOV dest,src ;dest←src交换指令:XCHG reg,reg/mem ;reg←reg/mem,也可表达为:XCHG reg/mem.reg换码指令:XLAT label 或 XLAT ;al←ds:[bx+al]2、堆栈操作指令进栈指令:PUSH reg/mem/seg ;SP←sp-2,SS:[Sp]←reg/me...
汇编 | 2008-12-24 16:28 | 阅读 4193 次 | 评论 1 条

知己知彼 了解VB编写病毒的大体方法

来源: 网易博客   相信电脑界的每个人都痛恨计算机病毒,她给我们带来了很多麻烦和损失,可你知道编写病毒的方法和过程吗?在此我仅以VB编写为例,揭开她的面纱。 用VB编写病毒需要考虑到如下几点: 感染主机 首先染毒文件运行后先要判断主机是否以感染病毒,也就是判断病毒主体文件是否存在,如果不存在则将病毒主体拷贝到指定位置(如: 将病毒文件拷贝到c:\windows\system\),可用filecopy语句实现;如果病毒已感染主机则结束判断。 例如,判断C:\windows\system\Killer.exe是否存在,如果有则退出判断,如果没有则证明本机未感染病毒...
VB | 2008-12-20 21:17 | 阅读 3287 次 | 评论 0 条

VC遍历文件夹下所有文件和文件夹

void find(char *lpPath){char szFind[MAX_PATH];char szFile[MAX_PATH];CString info; WIN32_FIND_DATA FindFileData; strcpy(szFind,lpPath); strcat(szFind,"\\*.*"); HANDLE hFind=::FindFirstFile(szFind,&FindFileData); if(INVALID_HANDLE_VALUE == hFind) return; while(TRU...
vc | 2008-12-14 18:29 | 阅读 10310 次 | 评论 0 条

vc对注册表各数据类型操作

下面这个是基于MFC的基本对话写的。。 演示设置注册表的3中类型的值和获得注册表的3中类型的值。。 分别用RegSetValueEx()来设置,RegQueryValueEx()函数来获得。 void CUserRegDlg::OnOK() { // TODO: Add extra validation here CString str = "hello reg"; DWORD regd = 100; BYTE bValues[] = { 0x11, 0x12, 0x55 }; BYTE Vals[100]; DWORD lenIt = 100; HKEY hk; /...
vc | 2008-12-14 18:14 | 阅读 3333 次 | 评论 0 条

如何在VC++中使用注册表

如今修改注册表成为继超频之后的又一大热点,许多CFAN通过对注册表的修改使Win98显得更加个性化,诸多报刊杂志也纷纷扯起注册表这面旗帜,令人遗憾的是,在介绍注册表修改的众多的文章中,大都以手工修改为例,极少数文章也只介绍有关修改注册表软件的用法,至于如何在程序中实现却无人提及。为此我在Visual Studio6.0帮助文件中用Registry关键字进行搜索,在翻译软件帮助下及不断的上机实践下,我终于摸索出使用注册表接口(API)函数的一些用法,现拿出来与大家共享。  在程序中使用注册表,不外乎创建、打开、读取、设置、删除这五个常规操作,(要想获得更详细的资料可以参考Visual St...
vc | 2008-12-14 18:00 | 阅读 3813 次 | 评论 0 条

点对点语音通信

摘自CSDN论坛随着计算机网络的日益普及,人们通过网络进行交流显得越来越重要,于是出现了一系列语音通信的软件,比如NetMeeting、IPPhone、MediaRing以及VoxPhone等等,但这些软件都功能完善、相对独立,不利于集成到自己开发的软件中,有时我们也希望将这种语音通信功能集成到自己的软件中,尤其当一个单位的局域网用户分散在不同的房间时。本文给出一种灵活、简单的实现方法,采用基于对话框的方式编程,硬件上只需要一块双DMA通道的声卡(目前的声卡大多支持双DMA通道)和一支耳麦,其余全部由软件编程实现。程序在 Windows98/2000、Visual C++6.0 下编译通...

消息钩子函数入门篇

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

利用CSocket传送大型数据实现

利用CSocket传送大型数据实现 (dlutyuanhongl发表于2005-3-19 16:08:05) 传输大型文件实列 SOCKET API,98/NT/2000调试通过。C/S均建立读/写线程,一但连接,C/S便都可发送/接收文件,发送文件方式使用字节流传送。将传送文件进行分割,每次传送1K,CLIENT或SERVER方收到后进行重组。接收文件方式使用异步SOCKET,根据实际读入数据写文件。在LAN上测试,C/S多次相互传输大型文件如:IIS,SQL SP,和...

多线程编程之四——线程的同步

多线程编程之四——线程的同步作者:韩耀旭 下载源代码 八、线程的同步   虽然多线程能给我们带来好处,但是也有不少问题需要解决。例如,对于像磁盘驱动器这样独占性系统资源,由于线程可以执行进程的任何代码段,且线程的运行是由系统调度自动完成的,具有一定的不确定性,因此就有可能出现两个线程同时对磁盘驱动器进行操作,从而出现操作错误;又例如,对于银行系统的计算机来说,可能使用一个线程来更新其用户数据库,而用另外一个线程来读取数据库以响应储户的需要,极有可能读数据库的线程读取的是未完全更新的数据库,因为可能在读的时候只有一部分数据被更新过。  使隶属于同一进程的各线程协调一致地工作称为线程的...
VC++多线程 | 2008-12-11 18:50 | 阅读 3187 次 | 评论 0 条

多线程编程之三——线程间通讯

多线程编程之三——线程间通讯作者:韩耀旭 下载源代码 七、线程间通讯   一般而言,应用程序中的一个次要线程总是为主线程执行特定的任务,这样,主线程和次要线程间必定有一个信息传递的渠道,也就是主线程和次要线程间要进行通信。这种线程间的通信不但是难以避免的,而且在多线程编程中也是复杂和频繁的,下面将进行说明。 使用全局变量进行通信由于属于同一个进程的各个线程共享操作系统分配该进程的资源,故解决线程间通信最简单的一种方法是使用全局变量。对于标准类型的全局变量,我们建议使用volatile 修饰符,它告诉编译器无需对该变量作任何的优化,即无需将它放到一个寄存器中,并且该值可被外部...
VC++多线程 | 2008-12-11 18:50 | 阅读 2926 次 | 评论 0 条

多线程编程之二——MFC中的多线程开发

多线程编程之二——MFC中的多线程开发作者:韩耀旭 下载源代码 五、MFC对多线程编程的支持   MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。  工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等。但对于Win32的API编程而言,这两种线程是没有区别的,它们都只需线程的启动地址即可启动线程来执行任务。  在MFC中,一般用全局函数AfxBeginThr...