为第三方应用程序运行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
应用程序没有运行。关于如何有什么想法
- 确定我输入的可执行文件是否适合在windows中选择上下文菜单
- 正确运行这个过程,并为它提供我点击的文件的文件参数(就好像我从上下文菜单中选择了他们的菜单项一样)
- 正确地输入一条消息,发送给AxCrypt,告诉我要做什么
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();