C语言Windows编程(非MFC):OpenProcess函数会对目标进程发送什么消息

C语言Windows编程(非MFC):OpenProcess函数会对目标进程发送什么消息,第1张

虽然我不清楚,但我感觉OpenProcess应该不会向目标进程发送消息吧。调用OpenProcess后系统只是根据权限什么的提供进程句柄,目标进程应该不会,也不需要得到通知啊。况且,消息发送到目标进程的哪个线程呢?所以我感觉OpenProcess应该不会发送消息的

1、图形编程都是用的纯C函数库,

比如Windows的GDI,还有DirectX,以及开源的OpenGL。这些都是纯C库,也就是说会C语言就能开发图形界面和游戏了。C++当然也可以调用这些函数库,但不是必要的。

2、学GDI的话最好的书是《Windows程序设计chm》这个文档,这东西网上到处都有。

学OpenGL的话,有个网站Nehe有完整的教学。人翻译了这个教程的中文版,google

“Nehe

opengl”

就能找到了。

memcpy函数用法

memcpy指的是c和c++使用的内存拷贝函数,memcpy函数的功能是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中。

函数原型

void memcpy(void dest, const void src, size_t n);

折叠编辑本段功能

从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中

折叠编辑本段所需头文件

C语言:#include<stringh>

C++:#include<cstring>

折叠编辑本段返回值

函数返回指向dest的指针。

折叠编辑本段说明

1source和destin所指的内存区域可能重叠,但是如果source和destin所指的内存区域重叠,那么这个函数并不能够确保source所在重叠区域在拷贝之前不被覆盖。而使用memmove可以用来处理重叠区域。函数返回指向destin的指针

2如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标数组地址增加到你要追加数据的地址。

注意:source和destin都不一定是数组,任意的可读写的空间均可。

折叠编辑本段函数实现

Windows中

coreutils中

Linux中:

折叠编辑本段程序实例

程序例example1

作用:将s中的字符串复制到字符数组d中。

输出结果:Golden Global View

example2

作用:将s中第13个字符开始的4个连续字符复制到d中。(从0开始)

输出结果: View

example3

作用:复制后覆盖原有部分数据

输出结果:

destination before memcpy:abcdefghijlkmnopqrstuvwxyz0123as6

destination after memcpy: as6

strcpy和memcpy主要有以下3方面的区别。

1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。

2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。

3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy

以上就是关于C语言Windows编程(非MFC):OpenProcess函数会对目标进程发送什么消息全部的内容,包括:C语言Windows编程(非MFC):OpenProcess函数会对目标进程发送什么消息、高手进:如何在WINDOWS下用C语言编写图形函数、memcpy函数用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9667595.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存