我现在有这么一种需求,我的机器安装了2000和xp两个操作系统,我上班用2000下班回家我就用xp,往往我下了班,习惯开了机就去做其他事情,而忘记选择启动xp,等我回来我看到默认启动了2000,我还需要重新启动,有没有这么一种软件我可以设定时间,比如下午五点以后我启动机器默认启动为xp,上午8点以后启动机器默认启动为2000。谢谢!
给你一个思路,可能可以实现
如BOOT的源文件如下:
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Advanced Server" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows XP"
将以上文件修改为:
[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
if now(time(hour()))>=17
{
default=multi(0)disk(0)rdisk(0)partition(1)\windows
}
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Advanced Server" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\windows="Microsoft Windows XP"
我这里有这个软件,不过要钱买.你要用的话可以便宜一点啦!说说笑.
你要的这个软件是可以实现的。我已经有比较明确的思路,实现的话,我正在做公司的项目没时间。
我的思路是这样的:
在你上班用的操作系统上装下面的软件:
BOOL m_bIsModify; // 开始设置为FALSE,表示未修改boot.ini
CTime time::GetCurrentTime();
设定一个定时器
初使化时:使定时器处于休息状态 // 调用::Sleep()为了不占用CPU时间
m_bIsModify = FALSE
if (time == 你的上班时间) // 上班时间由你设置
{
激活定时器
}
if (m_bIsModify)
{
程序退出
}
响应OnTimer
OnTimer
{
修改boot.ini // 做到满足你的要求,修改默认启动的OS
m_bIsModify = TRUE
}
在你下班用操作系统上装下面的软件
下面是它的实现:
用户关闭系统 // 有多种情况:关闭计算机;重新启动;注销
if
{
修改boot.ini // 将默认的OS修改为你明天上班要用OS
}
else
{
程序退出
}
我想按这种方案去实现,基本上可以满足你的要求。
不过这里有一点技术实现的细节,给出源码是不大可能了。我准备用VC6.0去实现。