我正在使用我网站上的Process.Start打开我用c#制作的Windows窗体应用程序。
我想向应用程序发送我的用户名。
那我怎么能这样做呢?
答案 0 :(得分:7)
您可以通过在开始信息中分配参数来完成此操作,例如:
var process = new Process
{
StartInfo =
{
FileName = processName,
Arguments = "-username=Alice"
}
};
process.Start();
如果您的进程无法启动,您可能需要检查权限,因为我知道在IIS上运行的代码不允许这样做。
答案 1 :(得分:6)
答案 2 :(得分:0)
您可以使用:
string username = "MyUsername";
Process.Start(Path.Combine("MyExe.exe" + " \"" + username + "\"");
答案 3 :(得分:0)
您在这里,应该在工作
using System;
using System.Runtime.InteropServices;
using System.Threading;
using System.Windows.Forms;
namespace SSHPit
{
public partial class MainForm : Form
{
[DllImportAttribute("user32.dll")]
public static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
[DllImport("user32.dll", SetLastError = true)]
public static extern bool MoveWindow(IntPtr hWnd, int X, int Y, int nWidth, int nHeight, bool bRepaint);
public MainForm()
{
InitializeComponent();
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "L:\\Program Files\\putty\\putty.exe";
p.StartInfo.Arguments = "-load \"mysession\" -ssh 127.0.0.1";
p.Start();
p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized;
p.WaitForInputIdle();
while (p.MainWindowHandle == IntPtr.Zero)
{
Thread.Sleep(100);
p.Refresh();
}
SetParent(p.MainWindowHandle, panel1.Handle);
}
}
}