把程序名(含目录的)写入注册表hkey_local_machine\software\microsoft\windows\currentversion\run下,
程序能够在系统启动时自动运行,但现在的问题是这个程序的执行需要一个.bin文件(与可执行文件在同一目录下),
我如果直接双击执行程序运行则不报错,但如果系统启动后自动运行则报错“找不到*.bin”文件,如何解决,解决立即给分

解决方案 »

  1.   

    给这个程序建一个快捷方式,在快捷方式里设置起始位置为这个程序所在的目录,
    把这个快捷方式写到注册表的Run下。
      

  2.   

    同意楼上,也可以给你的EXE程序加一个命令行参数,然后在自动运行字符串中加入参数
      

  3.   

    让程序接收命令行参数,
    就象  dir /? 一样就可以列出帮助等
    可以用类似如下的代码获得命令行参数,
    var
      x : Integer;
    begin
      for x := 1 to ParamCount() do
        if ParamStr(x) = '/?' then
          ShowMessage('Help was requested');
    end;
    这样的话,程序就可以从命令行中得到运行的路径或者自己想要的参数了,也就可以在程序打开文件之前,事先知道位置了