代码之家  ›  专栏  ›  技术社区  ›  Marin

检测应用程序是通过autorun.inf运行的还是通过资源管理器中的双击运行的?

  •  3
  • Marin  · 技术社区  · 14 年前

    我有一个win32 api应用程序驻留在usb虚拟cd上。是否可以确定它是由windows执行autorun.inf运行的,还是由用户在资源管理器中双击cd图标运行的?

    谢谢。。。

    3 回复  |  直到 14 年前
        1
  •  2
  •   Adrien Plisson    14 年前

    没有直接的方法可以检测到应用程序是从 autorun.inf . 自动运行的东西正在启动应用程序,就好像它是由用户启动的一样。

    但是,您可以指定 命令行参数 在你的 自动运行 ,这将触发应用程序中的特定行为。此命令行参数通常通过 argv GetCommandLine() .

        2
  •  1
  •   Alex K.    14 年前

    不确定双击CD图标的工作原理,但是检测autorun.inf中使用的命令行如何?

    [autorun] 
    open=yourapp.exe /viainf
    
        3
  •  1
  •   msteiger    14 年前

    最后,双击Windows资源管理器中的CD图标,就可以启动autostart进程链。

    因为它应该以这种方式工作,人们希望它表现得像这样,所以我会把这条路留给 非常 有充分的理由。