2012-02-09 2 views
0

自分のシェルコマンドを編集して、別のアプリケーションの別のシェルコマンド、つまりAxCryptを追加しようとしています。ある意味では、2つのコンテキストメニューアクションを1つにマージしようとしています。ファイルを右クリックすると、AxCryptに行き、「ファイルを.EXEに暗号化する」を選択します。次に、暗号化されたファイルを再度右クリックし、自分のシェルコマンドを選択します。サードパーティアプリケーションのシェルコマンドを実行し、ファイルの引数を渡します

私が非常に具体的な理由は、誰かがすでにこのようなことをしている可能性があるからです。私は私のメッセージボックスを得るが、AxCryptアプリケーションが実行されない

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"); 
}... 

:私はこれを追加しました。私が入力した実行ファイルは、Windows

  • のコンテキストメニュー選択のための正しいものである場合、正しくこのプロセスを実行し、それを私がクリックしたファイルのファイル引数を養う決定方法

    1. 上の任意のアイデア(あたかもコンテキストメニューからメニュー項目を選択したかのように)
    2. 私は何をしようとしているのですか?
  • 答えて

    1

    。私が入力した実行ファイルは、Windows

    実行ProcessMonitorで コンテキストメニュー選択のための正しいものであるかどうかを判断し、exeファイルを起動するために使用されるパスを確認することは正しいです - それ以外の場合はあなたがいただきました!間違って表示されます。

    。正しくこのプロセスを実行し、それを(私は コンテキストメニューから自分のメニュー項目を選択したかのように)私は

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

    をクリック ファイルのファイル引数を養います。正しく私に何をしようとしているAxCryptに送信するメッセージを語って する!

    は、私は同じ問題を抱えていたこのSO Q &

    +0

    今は 'AxCrypt'からのエラーです私はそれらから正しい引数が何であるか、フォーマットを調べる必要があります。助けてくれてありがとう! – ikathegreat

    0

    へのリンクを送信します。これを見てください:

    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(); 
    
    関連する問題