小弟我花了很长时间写了这个程序,目的是可以计算机电脑一个月的开机时间,比如说第一次开机3个小时,下一次开机还可以在3小时的基础上接着计时,这个程序,现在可以用了,可是我想让这个程序在电脑开机时就直接运行,于是就把 jishi.exe 拖到了自动启动栏里,可是每次开机时就不能用了,总是出现错误,当我把 time 文件一同拖到自动启动栏里时就可以用了,可是这在每次开机时都要将 time 文件关掉很麻烦。下面源程序:
#include <stdio.h>
#include <windows.h>
struct time
{int hour;
int minute;
int second;
}t;
main()
{FILE *fp;
fp=fopen("Time","r");
fread(&t,sizeof(struct time),1,fp);
while(1)
{rewind(fp);
Sleep(1000);
fread(&t,sizeof(struct time),1,fp);
if(t.second==59)
{t.minute=t.minute+1;
if(t.minute==60)
{t.hour=t.hour+1;
t.minute=0;
}
t.second=0;
}
else
t.second=t.second+1;
printf("%d:%d:%d\n",t.hour,t.minute,t.second);
fp=fopen("Time","w");
fwrite(&t,sizeof(struct time),1,fp);
fclose(fp);
}
}
当然 time 和 jishi.exe在同一目录下,我有两个总是请教各位大虾,
1:为什么只有把time连同jishi.exe都拖到自动启动栏里才能用。不把 time拖到自动启动栏里就不能用呢??
2:怎样攸修改程序才能只把jishi.exe拖到自动启动栏里时程序就能用??
#include <stdio.h>
#include <windows.h>
struct time
{int hour;
int minute;
int second;
}t;
main()
{FILE *fp;
fp=fopen("Time","r");
fread(&t,sizeof(struct time),1,fp);
while(1)
{rewind(fp);
Sleep(1000);
fread(&t,sizeof(struct time),1,fp);
if(t.second==59)
{t.minute=t.minute+1;
if(t.minute==60)
{t.hour=t.hour+1;
t.minute=0;
}
t.second=0;
}
else
t.second=t.second+1;
printf("%d:%d:%d\n",t.hour,t.minute,t.second);
fp=fopen("Time","w");
fwrite(&t,sizeof(struct time),1,fp);
fclose(fp);
}
}
当然 time 和 jishi.exe在同一目录下,我有两个总是请教各位大虾,
1:为什么只有把time连同jishi.exe都拖到自动启动栏里才能用。不把 time拖到自动启动栏里就不能用呢??
2:怎样攸修改程序才能只把jishi.exe拖到自动启动栏里时程序就能用??