我做了一套计算机控制系统,要求实现如下功能:
当计算机启动时,首先运行我的控制程序,并完成注册操作;
登录完成后,将我的程序最小化到托盘区内;
启动Explorer;我将注册表改为:
shell=我的程序计算机启动时直接进入我的程序;注册成功后,我执行下列语句:
winexec('c:\winnt\Explorer.exe',sw_Show);启动资源管理器,而界面仍旧没有出来,也没有状态栏。我看了相关资料,很多人都建议这样实现,并认为可能是WINEXEC语句的参数不够全面,请哪位大侠帮忙解决一下!
谢了。

解决方案 »

  1.   

    在uses中加shellapi;
     然后可以://指定目录 或者文件可都可以打开
    shellexecute(application.MainForm.Handle,'open',pchar('C:\WINDOWS\explorer'),nil,nil,sw_normal);
      

  2.   

    我测试了,还是进入资源管理器,没有真正启动Explorer。包括桌面和状态栏都没有出来。我是在WINDOWS 2000 SP3下.谢谢各位了,在线求
      

  3.   

    ShellExecute(0,'open',Pchar('mailto:'),nil,nil,SW_SHOW);
    注意: 这个时候explorer必须为默认邮箱
      

  4.   

    放在Explorer启动之前,好象有够复杂.你是在说启动你的程序之后在启动Explorer吗?>
    有个方法可以就是太麻烦而且我只知道WIN98是这样的
    就是在安装摸些新软件的时候,启动是你会发现屏幕上写
    WINDOWS UPDATA THEN^^^^^^%%%%
    WINDOWS\SYSTEN下有个隐藏文件是WINININ.INI平时是不存在的
    你的程序在每次退出时都新健一个放在哪
    格式是:
    winload=C:WINDOWSSYSTEMYOUNAME
    假设你的程序是放在WINDOWS\SYSTEN\下名字是YOUNAME
      

  5.   

    用shellexecute,先把它use进去。
    shellexecute(application.MainForm.Handle,'open',pchar('C:\WINDOWS\explorer'),nil,nil,sw_normal);
      

  6.   

    我试了你所说的方法,结果不行,只能弹出资源管理器,不能真正启动EXPLORER。不过还是谢了
      

  7.   

    不能真正启动EXPLORER:"弹出资源管理器"后你在进程管理器中看不到这个进程吗?
      

  8.   

    我希望实现的功能是:
    1、当计算机启动时,首先运行我的控制程序,并在我的程序中输入密码验证是否为合法用户;
    2、验证登录完成后,将我的程序最小化到托盘区内,实现对计算机的实时监控功能;
    3、这里,再启动Explorer,让用户正常使用计算机;
    4、我在我的程序中,再实现对自身的保护功能,避免被杀掉。现在就是无法再启动Explorer.
      

  9.   

    [借楼主一块地方]
      coolzlay(下面的话是我写的拉) 老大:
        你说的那个文件叫wininin.ini??是否笔误啊?