C语言怎样实现自我复制

C语言怎样实现自我复制,第1张

#include

"Windows.h"

//以下函数得包含此头文件裂晌int

main(){

char

szPath[MAX_PATH]

//保存自身文件名的字符串

char

toPath[MAX_PATH]

=

"C:"

//要复制到的路径字符串

int

i

GetModuleFileNameA(NULL,(LPCH)szPath,225)

//获取自身路径的函数

for

(i

=

strlen(szPath)

i

>

0

i--)

//获取文件名的处理,就我所知,肆做锋VC没有获取文件名的函数,要自己处理;BCB就有

{

if

(szPath[i]

==

'\\')

//最后一个‘\胡罩’后面就是文件名

break

}

strcat(toPath,&szPath[i])

//把文件名连接到toPath,得到“C:\*.exe”

for

(char

ch

=

'c'

ch

<=

'f'

ch++)

//复制处理,从c到f

{

toPath[0]

=

ch

//改盘符

CopyFileA(szPath,toPath,false)

//复制函数,从szPath复制到toPath,强行覆盖原有文件

}

return

0

}

可以斗悄用批处理解决 ,先用程序滚举写下批处理语言 ,最后再运行。

如用程序建立一个 *.bat 文件,再向里面写入 copy d:\wind\444.exe c:\windows\444.exe ,这样就可以实现程序的自我大销碧复制了,同样还可以实现程序的自我删除。

可以用批处芦州理解决

,先用程序写下批处理语言

,最后再运行。

如用程序建立一个

*.bat

文件,再向里面写入

copy

d:\wind\444.exe

c:\windows\444.exe

,这样就可以实现程序的自我复制了,同样还可以实现程序陪者蔽的自我删除嫌伍。


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

原文地址: http://www.outofmemory.cn/yw/12566998.html

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

发表评论

登录后才能评论

评论列表(0条)

保存