Вы хотите класс ProcessStartInfo
или использовать метод Start
, применяя к строкам. ProcessStartInfo
дает вам много вариантов о том, как начать свою программу, что часто пригодится. Его хорошо понять.
Dim info as New ProcessStartInfo()
info.Arguments = "10001"
info.FileName = "exename"
Dim LocalByName as New Process()
LocalByName.StartInfo = info
LocalByName.Start()
Получение аргументов в новой программе осуществляется через Environment.GetCommandLineArgs()
For Each arg As String In Environment.GetCommandLineArgs()
Console.WriteLine(arg)
Next arg
Это выглядит как то, что вы в конечном итоге хотите достичь получает выбранную строку из приложения 1 и мимоходом, что ко второй программе , хоть. Это верно? Это открывает целый новый воск, включающий межпроцессное общение.
EDIT: Самый простой способ получить выбранное редактирование - это записать id в текстовый файл. Вы должны быть осторожны, когда делаете это, потому что, если вы просто напишете System.IO.File.WriteAllText("selectedrow.txt", "123")
, вы напишете его в каталоге путей запуска приложения. Вы хотите, чтобы получить текущий путь ЕХА как ниже
Dim u as New Uri(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
dim exepath as String = System.IO.Path.GetDirectoryName(u.LocalPath)
dim fullPath as String = System.IO.Path.Combine(exepath, "selectedrow.txt")
System.IO.File.WriteAllText(fullpath, "123")
это будет перезаписывать текст в файле каждый раз при изменении строки. Вы хотите обернуть это в блок try/catch, чтобы не сбой программы. Убедитесь, что вы зарегистрировали ошибки; не просто глотать их. Чтобы прочитать данные, вы просто сделаете
dim id as string = System.IO.File.ReadAllText(PathToFileYoureWritingToInTheOtherProgram)
в другой программе.
Это не обязательно лучший способ заниматься вещами, но это самый простой способ узнать о моей голове.
Возможно, вы можете посмотреть на MessageQueues, если вы используете лучшее решение, но пока вы не меняете выбранные строки каждые 100 мс, запись файла должна работать нормально.
да что я хочу. Это неправильный способ сделать это? – refer
Неплохо, но это может значительно усложнить ситуацию. Простейшей задачей было бы записать выбранный в данный момент id в файл всякий раз, когда вы меняете выбор в своем приложении, что может быть выполнено с помощью одной строки: 'System.IO.File.WriteAllText (« selectedid.txt », SelectedId) '. Это медленный процесс и является взломом в IPC, но он более прост, чем другие методы IPC. –