应用程序无法正常启动0xc0000005

应用程序无法正常启动0xc0000005,第1张

应用程序无法正常启动0xc0000005是设置错误造成的,解决方法为:

1、首先百度搜索DirectX修复工具下载下来(最好为增强版),软件为绿色免费版,不用担心注册问题。

2、软件解压或安装完成后选择对应自己电脑版本的软件打开。

3、打开软件之后点击检测并修复。

4、DirectX修复工具会检测丢失的dll文件并进行修复。

5、DirectX修复工具修复完成后会有提示,这时我们重启电脑应用程序无法正常启动0xc0000005就解决了。

我将你的程序格式进行了修改,随便提醒一下,你的程序有格式,但不够规范。我改后是否觉得读起来顺畅一些,我的原则,没有好的格式,你成不了好的程序员。#include#include#include#include#include#definePT"工号:%ld姓名:%s基本工资:%02f补贴金额:%02f奖励金额:%02f扣除金额:%02f\n",gz->num,gz->name,gz->baswages,gz->allowance,gz->reward,gz->deduct#defineNsizeof(structInfo)structInfohead;typedefstructInfo{longnum;charname[25];floatbaswages;floatallowance;floatreward;floatdeduct;floatreality;structInfonext;}type;voidLogoIn(){printf("\t\t\t/--------------------------------\\\n");printf("\t\t\t|----欢迎使用员工工资管理系统----|\n");printf("\t\t\t/--------------------------------\\\n");}voidLogoOut(){printf("\t\t\t/--------------------------------\\\n");printf("\t\t\t|----感谢使用员工工资管理系统----|\n");printf("\t\t\t/--------------------------------\\\n");printf("\t\t\t\t\t\t制作人:软件0903谢松均\n");printf("\t\t\t\t\t\t完成日期:2010年09月25日\n");}structInfoadd(void){typep1,p2;head=p2=(type)malloc(N);p1=(type)malloc(N);printf("|员工号|姓名|基本工资|补贴金额|奖励金额|扣除金额|\n");scanf("%ld%s%f%f%f%f",&p1->num,p1->name,&p1->baswages,&p1->allowance,&p1->reward,&p1->deduct);while(p1->num!=0){p2->next=p1;p2=p1;p1=(type)malloc(N);scanf("%ld%s%f%f%f%f",&p1->num,p1->name,&p1->baswages,&p1->allowance,&p1->reward,&p1->deduct);}p2->next=NULL;free(p1);returnhead;}voidScreenOut(typegz){gz=gz->next;while(gz!=NULL){printf(PT);gz=gz->next;}}structInfofind(typegz)//这里的函数类型最好是逻辑型,成功返回真,否则返回假{intchoose;longnum;chars[25];printf("请选择查询方式:\n(1):姓名查询\n(2):工号查询\n");scanf("%d",&choose);switch(choose){case1:{printf("请输入对方的姓名:");scanf("%s",s);while(gz->next!=NULL);{if((strcmp(s,gz->name))==0){printf(PT);returngz;}}printf("\n没找到!\n");//返回???system("cls");}eak;case2:printf("请输入对方的工号:");scanf("%ld",&num);while(gz->next!=NULL){gz=gz->next;if(gz->num==num){printf(PT);returngz;}}printf("\n没找到!\n");//返回???system("cls");eak;}return0;//对于 *** 作失败,需要你返回对应代码?}voidalter(typegz){intchoose;longnum;charname[25];floatbaswages;floatallowance;floatreward;floatdeduct;gz=find(head);printf("请选择你想修改的内容:1工号2姓名3基本工资4补贴金额5奖励金额6扣除金额\n");scanf("%d",&choose);switch(choose){case1:printf("请输入你想修改的工号:");scanf("%ld",&num);gz->num=num;printf("\n修改后该员工的资料为:");printf(PT);eak;case2:printf("请输入你想修改的姓名:");scanf("%s",name);strcpy(gz->name,name);printf("\n修改后该员工的资料为:");printf(PT);eak;case3:printf("请输入你想修改的基本工资:");scanf("%f",&baswages);gz->baswages=baswages;printf("\n修改后该员工的资料为:");printf(PT);eak;case4:printf("请输入你想修改的补贴金额:");scanf("%f",&allowance);gz->allowance=allowance;printf("\n修改后该员工的资料为:");printf(PT);eak;case5:printf("请输入你想修改的奖励金额:");scanf("%f",&reward);gz->reward=reward;printf("\n修改后该员工的资料为:");printf(PT);eak;case6:printf("请输入你想修改的扣除金额:");scanf("%f",&deduct);gz->deduct=deduct;printf("\n修改后该员工的资料为:");printf(PT);eak;default:printf("输入有误,按任意键退出!");getch();system("cls");eak;}}structInfodel(typegz)//这里同上?你看{typep;intchoose;longnum;charc,s[25];p=gz->next;printf("请选择查询方式:\n(1):姓名查询\n(2):工号查询\n");scanf("%d",&choose);switch(choose){case1:printf("请输入对方的姓名:");scanf("%s",&s);while(p!=NULL){if((strcmp(s,p->name))==0){printf("信息已找到");printf("是否要删除此条信息是回'Y',不是回'N'。\n");c=getch();if(c=='Y'&&c=='y'){gz->next=p->next;free(p);returngz;}elseprintf("没找到!");}}eak;case2:printf("请输入对方的工号:");scanf("ld",&num);while(p!=NULL){if(p->num==num){printf("信息已找到");printf("是否要删除此条信息是回'Y',不是回'N'。\n");c=getch();if(c=='Y'&&c=='y'){gz->next=p->next;free(p);returngz;}elseprintf("没找到!");}}eak;}return0;//对于 *** 作失败,需要你返回对应代码?}voidScreenIn(void){intchoose;printf("功能选项:1添加2修改3显示4查找5删除6统计0退出\n");printf("你的选择是:");scanf("%d",&choose);switch(choose){case1:{head=add();printf("添加已结束\n");printf("请按任意键继续");getch();system("cls");}eak;case2:alter(head);printf("修改已结束");printf("请按任意键继续");getch();system("cls");eak;case3:ScreenOut(head);printf("信息已全部显示");printf("请按任意键继续");getch();system("cls");eak;case4:find(head);printf("查找已结束");printf("请按任意键继续");getch();system("cls");eak;case5:del(head);printf("删除已结束");printf("请按任意键继续");getch();system("cls");eak;case6:case0:system("cls");LogoOut();exit(1);eak;default:printf("非法字符\n");printf("请按任意键继续\n");getch();system("cls");eak;}}voidmain(){while(1){LogoIn();ScreenIn();}}

#include

<windowsh>

#include

<iostreamh>

/

功能:使文件开机自动运行

思路:

获取文件的路径,将文件拷贝到系统文件夹之下;

在注册表中注册文件路径,使其开机自动运行。

提示:

如果要隐藏,另外可以在以上执行完毕之后,删除原始文件

当然,还可以通过注册程序为系统服务,使其开机自动运行

删除:

在执行程序之后,执行以下 *** 作,使系统恢复原状:

1

删除

C:\WINDOWS\system32\yourvirusexe

2

打开注册表:

[HEKY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]

删除键:Writing

to

the

Registry

Example

/

void

main()

{

char

system[MAX_PATH];

//系统目录路径

char

pathtofile[MAX_PATH];

//要开机运行的文件的完整路径

HMODULE

GetModH

=

GetModuleHandle(NULL);

//得到当前执行文件的全路径

GetModuleFileName(GetModH,pathtofile,sizeof(pathtofile));

//得到系统文件所在目录的路径,如c:\windows\system32

GetSystemDirectory(system,sizeof(system));

//形成要复制到的全路径,如c:\windows\system32\yourvirusexe

strcat(system,"\\yourvirusexe");

//自我复制到目标路径

CopyFile(pathtofile,system,false);

//写入注册表,以便开机自动运行

HKEY

hKey;

//打开注册表:路径如下

//HEKY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

RegOpenKeyEx(HKEY_LOCAL_MACHINE,

"Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_SET_VALUE,&hKey

);

//新增一个值,名称随意命名,值为要开机运行的文件的完整路径

RegSetValueEx(hKey,

"Writing

to

the

Registry

Example",

0,REG_SZ,(const

unsigned

char)system,sizeof(system));

//关闭注册表:

RegCloseKey(hKey);

/可以加入其他功能/

}

明白了,那下边这段代码正好是你要的,有点类似多线程并发执行的感觉,你试试看把

#include <dosh>

#include <stdioh>

#include <stdlibh>

#ifdef _WIN32

#include <windowsh>

#else

#include <timeh>

#endif

int main(){

int i;

#ifdef _WIN32

system("start ping 192168100101 -t");

#else

system("xterm -hold -e ls -l &");

#endif

for(i = 0; i < 1000; i++) {

#ifdef _WIN32

Sleep(1000);

#else / UNIX /

struct timespec ts;

tstv_sec = 1;

nanosleep(&ts, &ts);

#endif

printf("%d\n", i);

}

}

1、预处理

在这一阶段,源码中的所有预处理语句得到处理,例如:#include语句所包含的文件内容替换掉语句本身,所有已定义的宏被展开。

根据#ifdef,#if等语句的条件是否成立取舍相应的部分,预处理之后源码中不再包含任何预处理语句。

GCC预处理阶段可以生成i的文件,通过选项-E可以使编译器在预处理结束时就停止编译。例如:gcc -E -o helloi helloc

2、编译

这一阶段,编译器对源码进行词法分析、语法分析、优化等 *** 作,最后生成汇编代码。这是整个过程中最重要的一步,因此也常把整个过程称为编译。

可以通过选项-S使GCC在进行完编译后停止,生成s的汇编程序。例如:gcc -S -o hellos helloc

3、汇编

这一阶段使用汇编器对汇编代码进行处理,生成机器语言代码,保存在后缀为o的目标文件中。

当程序由多个代码文件构成时,每个文件都要先完成汇编工作,生成o目标文件后,才能进入下一步的链接工作。

目标文件已经是最终程序的某一部分了,只是在链接之前还不能执行。可以通过-c选项生成目标文件:gcc -c -o helloo helloc

4、链接

经过汇编以后的机器代码还不能直接运行。为了使 *** 作系统能够正确加载可执行文件,文件中必须包含固定格式的信息头,还必须与系统提供的启动代码链接起来才能正常运行,这些工作都是由链接器来完成的。gcc -o hello helloc

5、运行:执行EXE文件,得到运行结果。

有几种可能。

一是生成出错,并未生成文件。

二是项目设置有问题,点击菜单“项目”-》XXX项目属性,检查常规、调试、链接器-》常规-》输出文件,看这几个关于输出文件的设置是否正确。若“输出文件”的路径并不是调试路径的话,会导致以上错误。

电脑开机自动启动,无非也就是那几个地方,

你可以放到,

1,开始菜单的启动项目中

2,你可以放到注册表中的,两个 RUN启动项目中,

3,你可以放到winini等配置文件中,

4,你可以加入到底层服务管理中,

5,你还可以替换或者附加到某些程序,如,explorer

6,你甚至还可以替换引导MBR,驻留到内存中,

方法多的是。

以上就是关于应用程序无法正常启动0xc0000005全部的内容,包括:应用程序无法正常启动0xc0000005、c语言无法启动程序C:\Users\Administrator\Desktop\win32project5\debug\win32project.exe、如何用C/C++实现让自己编译的程序开机自启动等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9285811.html

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

发表评论

登录后才能评论

评论列表(0条)

保存