如何在安装 TrueCrypt 容器后自动运行应用程序?

如何在安装 TrueCrypt 容器后自动运行应用程序?

我希望我的 TrueCrypt 虚拟驱动器通过执行分区的 autorun.inf 文件中的命令充当新插入的 USB 驱动器或 CD/DVD。

我在网上读过一些建议,包括创建一个 .bat 文件或安装软件,这样 Windows 就会认为这是一张 CD,但我想知道最简单、最不具干扰性的方法。也就是说,我想尽可能避免安装或弄乱主机,因为这是一个完全便携的驱动器。

编辑:澄清一下,从技术上讲,我的闪存驱动器上有两个单独的 autorun.inf 文件:一个在 USB 驱动器的基本目录中,它会在我插入驱动器时立即正确提示我运行 TrueCrypt,另一个在加密容器内。

第二个 autorun.inf 文件位于 TrueCrypt 安装后创建的虚拟驱动器的基本目录中(实际上,这个 inf 文件是由 LiberKey 创建的,它是我在容器内使用的便携式 UI)。我希望能够在虚拟驱动器安装后立即自动运行这个第二个 inf 文件。

答案1

这里有一个答案:

http://www.ericsprojects.com/?p=102

看起来这是个简单的方法。只需创建一个文件,将文章中的代码放入其中,并根据需要修改驱动器号。应该不会超过 5 分钟。

答案2

我知道这个问题已经很老了,但是它在搜索列表中排名很高,所以我想发布我的解决方案。

我安装磁盘并使用 .bat 文件启动我的程序。我在“登录时”在计划任务中启动 .bat 文件。

这是我的球棒。尽情享用吧。

笔记,您应该将 truecrypt 设置为不自动挂载您的“收藏夹”,并且存在以下 bat 无法处理的情况:当卷被挂载到指定以外的备用驱动器号时。


REM - Truecrypt mount and launch file - 2013
REM - Set variables as needed below
@ECHO OFF

SET tcexec="%PROGRAMFILES%\truecrypt\truecrypt.exe"
SET mountdrive=x
SET volumefolder="%USERPROFILE%\truecrypt"
SET volumename=TrueCrypt-Volume

IF EXIST %mountdrive%: goto DriveExists

IF NOT EXIST %volumefolder%\%volumename% goto NoVolume

IF NOT EXIST %tcexec% goto noTC

REM Mount volume
cd %volumefolder%
%tcexec% /v %volumename% /l%mountdrive% /a /q
echo %ERRORLEVEL%
if ERRORLEVEL 1 GOTO mountfail
if ERRORLEVEL 0 GOTO startprograms

:startprograms
REM ******************************
REM ** Start your programs here **
REM ******************************
REM start "" "C:\Users\<userid>\AppData\Roaming\AeroFSExec\aerofs.exe"
REM start "" "C:\Program Files\ownCloud\owncloud.exe"

REM ********************************
REM ** END of Program Start block **
REM ********************************

goto end

:mountfail
echo Truecrypt failed to mount volume.
goto end

:noTC
echo Cant find truecrypt at: %tcexec%
goto end

:NoVolume
echo Identified volume does not exist: %volumefolder%\%volumename%
goto end

:DriveExists
echo Drive letter %mountdrive% already exists, cannot mount truecrypt volume
goto end

:End

答案3

Microsoft 为 Windows 提供了一个名为 TweakUI 的实用程序(又名“PowerToy”),它允许您启用或禁用驱动器上的自动播放(在 TweakUI 程序左侧窗格中的“我的电脑”|“自动播放”|“驱动器”下)。我刚刚安装了一个 TrueCrypt 卷,它在 TweakUI 中可见 - 因此看起来我可以在启用它时自动播放)。抱歉,我无法进一步测试它,因为我没有可用的 autorun.inf 文件。

答案4

在 .bat 文件中,您可以简单地调用另一个 .bat 文件(只需查看以 CALL 开头的行):

MyBat1.bat 文件包含以下文本:

@ECHO OFF

ECHO Here i will do things, like mount the .tc file

REM Here would go the command to mount the .tc file as drive letter X:

ECHO I am going to call to another bat script

CALL X:\MyBatFile_InsideTheTC.bat

ECHO I can do more things after thet other script runs


X:\MyBatFile_InsideTheTC.bat has this text:

@ECHO OFF

START "WhatEverTitleYouWant" "X:\MyDirectAccess.lnk"

... 等等 ...

X:\MyDirectAccess.lnk 是 Windows 在您创建程序快捷方式时创建的文件,也可以是您希望的任何命令,如启动服务等...我举了一个 .lnk 的例子,因为 .lnk 可以配置(在属性上)以提升的权限运行,因此它会要求用户提供此类提升,这是一种在安装 tc 卷后运行服务的非常简单的方法

这对于 VeraCrypt(TrueCrypt 的后继者,使用 TrueCrypt 的源代码)也有效。

例:将Web服务器(Apache)的数据(htdoc)文件夹内的.tc文件(VeraCrypt为.hc)放入Apache服务,必须将Apache服务设置为手动启动,并且只有在挂载该.tc文件后,才能通过[net star "Apache24"]启动服务。

此配置适用于非便携式 Apache,因为便携式 Apache 没有服务并以命令启动,但可以很好地了解高级功能可以做什么。

相关内容