为第三方应用程序运行shell命令,传递文件参数

本文关键字:文件 参数 命令 第三方 应用程序 运行 shell | 更新日期: 2023-09-27 18:23:46

我正在尝试编辑我自己的shell命令,以包含另一个应用程序的另一个shell命令,即AxCrypt。从某种意义上说,我试图将两个上下文菜单操作合并为一个。如果我右键单击一个文件,我会转到AxCrypt并选择"将文件加密为.EXE"。然后我再次右键单击加密的文件并选择我的shell命令。

我之所以这么具体,是因为有些人可能已经有了这样的东西。我添加了这个:

try
{
  System.Diagnostics.Process proc = new System.Diagnostics.Process();
  proc.EnableRaisingEvents = true;
  proc.StartInfo.FileName = @"C:'Program Files'Axantum'AxCrypt'AxCrypt.exe";
  proc.Start();
  MessageBox.Show("AxCrypt run");
}...

我收到了我的消息框,但AxCrypt应用程序没有运行。关于如何有什么想法

  1. 确定我输入的可执行文件是否适合在windows中选择上下文菜单
  2. 正确运行这个过程,并为它提供我点击的文件的文件参数(就好像我从上下文菜单中选择了他们的菜单项一样)
  3. 正确地输入一条消息,发送给AxCrypt,告诉我要做什么

为第三方应用程序运行shell命令,传递文件参数

1。确定我输入的可执行文件是否适合windows 中的上下文菜单选择

运行ProcessMonitor并检查用于启动exe的路径是否正确,否则您会发现问题所在

2。正确运行此进程,并将我点击的文件(就好像我从上下文菜单)

string args = String.Format(@"{0}", "A File Arg");
proc.StartInfo.Arguments = args;

3。正确地输入要发送给AxCrypt的消息做

向他们发送此SO问答的链接;A

我也遇到了同样的问题。看这个:

System.Diagnostics.Process pProcess = new System.Diagnostics.Process();
        pProcess.StartInfo.FileName = @"C:'Users'Vitor'Documents'Visual Studio 2015'Projects'ConsoleApplication1'ConsoleApplication1'bin'Debug'ConsoleApplication1.exe";
        pProcess.StartInfo.Arguments = "olaa";
        pProcess.StartInfo.UseShellExecute = false;
        pProcess.StartInfo.RedirectStandardOutput = true;
        pProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
        pProcess.StartInfo.CreateNoWindow = true;
        pProcess.Start();
        string output = pProcess.StandardOutput.ReadToEnd();
        pProcess.WaitForExit();