2 赤水无泪

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 27w+

MCI媒体技术

媒体控制接口(Media Control Interface,缩写MCI)是由微软和IBM开发的一个高级应用程序接口(API),功能是控制连接到一台Windows或其他计算机的多媒体外部设备(例如播放机、音频控制器)MCI使编写某些类别的多媒体程序(例如播放各类媒体文件、录制声音)变得非常简单,只需将命令作为字符串传递。在几年后,MCI接口被逐步淘汰,以利于1995年发布的DireextXAPI。使用MCI媒体技术播放声音我们有两种方式:使用命令方式,这种方式比较复杂 使用字符串的方式使用到的函

2020-10-25 22:04:53

Windows播放波形文件声音

Windows中播放波形文件主要是使用PlaySound()这个函数,此函数的函数原型如下:BOOL PlaySound( LPCSTR pszSound, HMODULE hmod, DWORD fdwSound );用PlaySound函数时需要在#include<windows.h>后面加上(注意:不能加在前面):#include <mmsystem.h>#pragma comment(lib, “WINMM.LIB”)参

2020-10-25 20:34:27

Windows HOOK钩子技术

Windows HooK钩子技术是指基于Windows中窗口的程序的消息处理里机制,对系统或者进程中的消息进行截获和处理,并将截获和处理的消息在重新处理和发送,使其可以实现不同的功能。钩子技术分为系统钩子技术和线程钩子技术系统钩子:是用于监视真个系统中的消息的钩子技术,因为系统钩子会影响系统中所有的应用程序,所以钩子函数必须放在独立的动态链接库(DLL) 中。做好之后使用其他程序将钩子挂载到系统的进程中。线程钩子:指的是对指定线程进行监视。钩子原理在使用钩子技术的时候,WINDOWS会先在内存中创

2020-10-25 17:15:50

UDP协议传输过程

服务器实现过程:1、使用WSAStartup函数初始化套接字接口,此函数的第一个参数是套接字的版本信息,第二参数一个WSADATA型的变量,这个变量中保存了WSAStartup函数初始化返回的套接字信息。2、使用socket函数创建一个套接字,创建成功之后就会返回一个SOCKET类型的套接字变量。3、使用bind函数给socket创建的SOCKET变量绑定一个本地地址4、绑定成功之后就可以等客户机的数据上传或者向指定的客户机发送数据。客户机实现过程:1、使用WSAStartup函数初始化套

2020-10-17 23:04:27

TCP协议传输过程

服务器实现过程描述:1、使用WSAStartup函数初始化套接字接口,此函数的第一个参数是套接字的版本信息,第二参数一个WSADATA型的变量,这个变量中保存了WSAStartup函数初始化返回的套接字信息。2、使用socket函数创建一个套接字,创建成功之后就会返回一个SOCKET类型的套接字变量。3、使用bind函数给socket创建的SOCKET变量绑定一个本地地址4、使用listen函数监听客户机的连接请求信息,如有有客户机发送connect函数发送连接请求,那就使用accept还是接收c

2020-10-17 23:00:56

TCP和UDP的网络编程原理

网络编程指的是通过编程实现数据在网络上的传输。和其他的数据传输一样,只不过网络编程的数据是通过网络进行传输的。在传输的过程中同样也需要接受端(服务器)和发送端(客户机)。而传输的方式是通过Socket套接字接口实现的。套接字是网络通信的基础,是支持TCP/IP协议的路通信的基本操作单元。可以将套接字看作不同主机间的进程进行双间通信的端点,它构成了单个主机内及整个网络间的编程界面。Socket是由IP地址和端口结合的,提供向应用层进程传送数据包的机制。根据套接字使用系统的不同,套接字分为Berke..

2020-10-15 23:17:23

MFC连接数据库

一般中大型的软件,在运行的过程中都需要使用数据库来存储一些数据。常用的数据库有mysql 、SQL Server、Oracle、Sybase、DB2、ACCESS等数据库。按照早期的数据库理论,比较流行的数据库模型有三种,分别为层次式数据库、网状数据库和关系型数据库。而在当今的互联网中,最常见的数据库模型主要是两种,即SQL关系型数据库和NoSQL非关系型数据库。关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成

2020-09-29 21:56:46

MFC中缩放位图

缩放位图是指在显示图片的过程中个,图片的大小可根据我们的要求进行放大和缩小。缩放位图的主要技术是,定一个变量,使其图片在使用StretchBlt函数的时候控制输出图片的宽度和高度就可以实现缩放图标的功能。例程如下:1、首先定义一个变量int m_ZOOmPercent;//定义一个变量,记录位图的缩放系数CBitmap* m_bmp;//定义一个位图指针变量,用于保存加载的位图CBitmap* m_OldBmp;//定义一个位图指针对象,用于记录使用SelectObject返回的上一个指针CD

2020-09-25 22:32:37

线程同步

线程同步指的是在软件中有多个线程对同一个内存地址不能同时访问,只有一个线程可以操作这个内存地址,当这个线程访问结束之后,其他的线程才可以操作。当有线程操作这个共同的内存地址的时候,其他的线程处于挂起状态,当这个线程操作结束之后其他线将会激活。为什么用线程同步,使用线程同步有什么作用?在软件的开发过程中,一般会用到很多的线程。使用这些线程可以提高软件的运行效率,但是如果多个线程同时使用一个共享资源,这个时候如果没有使用线程同步,那么软件运行的结果可能会出现错误而导致软件出现问题。这个时候我们就需要使用线程

2020-09-22 23:17:58

MFC如何使线程

线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户

2020-09-19 23:44:01

进程枚举的四种方式

进程枚举是将系统中的所有进程显示出来,就像Windows中的任务管理器一样,可以看到系统中运行的所有进程。进程枚举的四种方法: 通过系统快照进行枚举 通过psapi.dll中的函数进行枚举 通过ntdll.dll中的函数进行枚举 通过ntdll.dll中的函数进行枚举 第一种、通过系统快照进行枚举1、CreateToolhelp32Snapshot()CreateToolhelp32Snapshot可以通过获取进程信息为指定的进程、进程使用的堆[HE.

2020-09-14 21:26:50

MFC内存映射文件

MFC内存映射文件是由一个文件到一块内存的映射。Win32提供了允许应用程序把文件映射到一个进程的函数 (CreateFileMapping)。内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而且在对该文件进行操作之前必须首先对文件进行映射。使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。内存映射文件一般有以

2020-09-09 23:31:47

MFC如何防止应用软件启动多个窗口

一般软件,都是可以启动多个实例窗口的,但是有一些软件不需要启动多个实例窗口,那我们该如何防止启动多个实例窗口。防止启动多个创建我们常用的方法就是使用互斥对象。保证只运行一个实例窗口对象。使用CreateMutex()函数创建互斥对象,这个函数是Windows内核中的一个重要的对象。 当有一个实例对象已经运行的话,就需要把已经运行的实例对象放到桌面最上面。在此使用的函数有SetForeGroundWindow()。使用的函数:1.CreateMutex() ...

2020-09-06 13:21:10

管道

管道是操作系统提供的进程之间的通讯方式之一,在所有的进程间通讯的方式中是最简单的。就像读文件、写文件的方式一样,二期也用的是读文件和写文件的函数进行进程间的通讯。根据管道的方向分为:单管道 只能单向进行传输双管道 可以两进程之间互相传输管道的命名方式可分为命名管道 任意进程之间进行数据的传输匿名管道 只能用于父进程和启动子进程之间通讯使用函数:CreatePipeCreatePipe是创建一个匿名管道,并从中得到读写管道的句柄。BOOL WINAPI CreatePipe

2020-09-04 20:48:53

MFC如何打开和关闭进程、动态获取进程号、关闭自身进程

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,每一个进程都是一个实体有属于自己的地址控件,进程也是一个执行的程序(也就是说一个运行中的程序就是一个进程(这是小编自己的理解))。那我们如何打开系统上的一些进程,上一篇讲了通过winExec、ShellExecute、ShellExecuteEx、CreateProcess函数创建进程。这一篇就讲如何打开和关闭进程、动态获取进程号、关闭自身进程。打开进程所要使用到的函数1、OpenProcess

2020-08-26 00:05:22

使用winExec 、ShellExecute、ShellExecuteEx、CreateProcess创建进程

进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,每一个进程都是一个实体有属于自己的地址控件,进程也是一个执行的程序(也就是说一个运行中的程序就是一个进程(这是小编自己的理解))。狭义定义:进程是正在运行的程序的实例广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。特征动态性:进程的实质是程序在多道程序系统中的一次执

2020-08-23 22:13:59

MFC中如何操作系统进行关机、注销、重启等操作

每一个软件都是有个进程,一般我们直接使用关机命令是无法对系统操作的,是需要获得一定的权限的。跟具权限的不同对系统的操作和控制也不同。在软甲操作系统进行关机、注销、重启等操作需要用到的函数和结构体如下:ExitWindowsEx(EWX_LOGOFF,0) 关闭计算机ExitWindowsEx(EWX_SHUTDOWN,0) 注销计算机ExitWindowsEx(EWX_REBOOT,0) 重启计算机TOKEN_PRIVILEGES:是一个LUID_AND_ATTRIBUTES结构体. 每个

2020-08-20 23:00:01

MFC中如何使用注册表

注册表是Windows中存储一些软件或者系统的配置信息的一个树形表格,一般当自己写的软件需要一些固定或者下次启动时需要的配置信息的时候,就需要使用到注册表。注册表的结构为Key -> subKey -> value -> 名称、类型、数据。一般注册标的子健有好多节点。C++使用注册表主要有一下几个函数:RegCreateKey()创建或打开注册表项。默认为创建,当注册表中有此项时。为打开。[Long]0(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码.。Reg

2020-08-20 22:14:00

模拟消息

模拟消息就是通过软件模拟键盘和鼠标的消息,一些游戏外挂软件就使用模拟消息。模拟消息只要通过以下两个函数Keybd_event():按键模拟消息VOID keybd_event(BYTE bVk,BYTE bScan,DWORD dwFlags,DWORD dwExtralnfo);第一个参数bVk:定义一个虚拟键码。键码值必须在1~254之间。 第二个参数bScan:定义该键的硬件扫描码。第三个参数dwFlags:定义函数操作的各个方面的一个标志位集。应用程序可使用如下一些预定义常数的组合设

2020-08-20 21:31:01

拖动无窗口标题

拖动无窗口标题一般软件都有窗口标题,在移动窗口位置的时候,鼠标点击窗口标题栏即可移动窗口。但是有些软件是没有窗口标题的,因此无法选择点击窗口标题栏移动窗口。因此就需要软件实现窗口的移动。1、在对话框类的.h文件定义一个BOOL和CPiont的对象,并将BOOL对象初始化为FALSE BOOL m_Moving;//移动窗口的标志位 CPoint m_ptMouse; m_Moving = FALSE;2、在WM_LBUTTONDOWN消息映射函数中获取点击鼠标的位置,并设置移动窗口的标志位。

2020-08-18 22:38:49

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。