先祝各位中秋快乐哈^_* 问题背景如下:我要实现Win98登陆后“第一时间”马上进入我的程序myfile,现在是写在RunOnce里的。
//在system.ini里Shell=Explorer.exe myfile.exe 
//和写在Run里都比RunOnce还要后面运行的。
//写在runOnce里可以实现显示Windows桌面前就加载myfile
//下面继续……

解决方案 »

  1.   

    因为RunOnce只是运行一次,就还得在RunOnce结束后把自己写回RunOnce里,
    实现下次系统启动时myfile的自启动;
    //在RunOnce还未结束时由myfile写回RunOnce不行的,因为RunOnce还要继续加载写回的myfile现在遇到的问题是:如果别人在我程序show出来时(myfile还未写回RunOnce)时按电
    源开关强行关机的话,系统下次启动时myfile就不能自启动了;主要是不能给足用户
    关闭电源的时间,那就得怎么样判断RunOnce已经运行结束了呢?如果各位还有其它的解决方法,也万分感谢!UP有分,谢谢关注。^_*
      

  2.   

    比较土的方法是:加一个timer,间隔设为1,在ontimer上写你的回写程序!我不相信用户会在千分之一秒反应!!呵呵呵呵呵呵呵
      

  3.   

    //在RunOnce还未结束时由myfile写回RunOnce不行的,因为RunOnce还要继续加载写回的myfile大家可以照上面的自己测试测试呢?谢谢关注^_*
      

  4.   

    算了吧~~~~~~~另找出路吧~~~~~
    ================================================================
         ◆◆◆ CSDN查询助手,查询方便快捷◆◆◆ 下载地址:  
     http://CoolSlob.ifood1.com/Download/CSDNFinder.exe  
     http://CoolSlob.8u8.com/Download/Tools/CSDNFinder.Slob[更名为.exe即可]
      

  5.   

    西西,我也在问大家别的办法呀~~~~^_*主要是解决别人强行关机后myfile不能自启动的问题
      

  6.   

    写一程序,
    截获Windows的关机消息!!
    收到关机消息后再向注册表中写入该键值!!如果是非法关机的话,OS应该不会向各程序发出关机消息的!!相关:WM_QUERYENDSESSION================================================================
         ◆◆◆ CSDN查询助手,查询方便快捷◆◆◆ 下载地址:  
     http://CoolSlob.ifood1.com/Download/CSDNFinder.exe  
     http://CoolSlob.8u8.com/Download/Tools/CSDNFinder.Slob[更名为.exe即可]  
      

  7.   

    写一程序,
    截获Windows的关机消息!!
    收到关机消息后再向注册表中写入该键值!!
    程序每次启动后删除注册表中的键值!如果是非法关机的话,OS应该不会向各程序发出关机消息的!!相关:WM_QUERYENDSESSION
    ================================================================
         ◆◆◆ CSDN查询助手,查询方便快捷◆◆◆ 下载地址:  
     http://CoolSlob.ifood1.com/Download/CSDNFinder.exe  
     http://CoolSlob.8u8.com/Download/Tools/CSDNFinder.Slob[更名为.exe即可]  
      

  8.   

    to CoolSlob() :我用
    procedure WinExit(var msg:TMessage);message WM_QUERYENDSESSION;
    //拦截WM_QUERYENDSESSION消息并处理
    procedure TForm1.WinExit(var msg:TMessage);
    begin
      showmessage('关机');
    end;
    试验了下,Windows正常关机的话可以拦截到的,但是非法关机就不行~~~to 各位大虾:按电源开关是否会给操作系统发出个INT中断呢?如果有的话,
    具体是什么呢?是否可以拦截到,并作相应的处理呢?谢谢各位哈。请up一下下;-P
      

  9.   

    55555555~~~~~~~~~~~~~555555555555上星期看错题目了~~我以你为说如果用户非法关机的话,下次就不让它执行了呢~~唉~~~~~~~~白费功夫~BTW:电源关机就是通过响应INT中断来实现的!但是我们无法在中间插一脚(ASM的大蛱这样对我说过),要是可以的话,我看Delphi也未必能实现,必竟它对底层的东西支持得不是很好~楼主,Game Over~不来这贴玩了```~S心吧~================================================================
         ◆◆◆ CSDN查询助手,查询方便快捷◆◆◆ 下载地址:  
     http://CoolSlob.ifood1.com/Download/CSDNFinder.exe  
     http://CoolSlob.8u8.com/Download/Tools/CSDNFinder.Slob[更名为.exe即可]