Итак, я создаю приложение, которое закрепляет экземпляр Notepad в окне wpf.Прямо сейчас у меня есть пустой текстовый файл в моем окне wpf.В моих методах я пишу файлы в формате JSON или XML.Как только они будут завершены, я хочу использовать существующий процесс Notepad.exe и дать ему команду открыть проводник и открыть только что созданный файл.Возможно ли это?
Если это невозможно, каков хороший способ вставить файл блокнота в мое окно, чтобы я мог открывать различные типы текстовых файлов?
Редактировать:
Не знаю, какую информацию я должен включить, но я открываю процесс блокнота следующим образом:
public SampleCodeWindow()
{
InitializeComponent();
Loaded += (s, e) =>
{
Process p = Process.Start("notepad.exe");
p.WaitForInputIdle(); // Allow the process to open it's window
var windowHandle = new WindowInteropHelper(this).Handle;
};
panel = new System.Windows.Forms.Panel();
host.Child = panel;
dockIt("notepad.exe");
}
private void dockIt(string utility)
{
if (hWndDocked != IntPtr.Zero)
{
return;
}
pDocked = Process.Start(utility);
while (hWndDocked == IntPtr.Zero)
{
pDocked.WaitForInputIdle(1000); //wait for the window to be ready for input;
pDocked.Refresh(); //update process info
if (pDocked.HasExited)
{
return; //abort if the process finished before we got a handle.
}
hWndDocked = pDocked.MainWindowHandle; //cache the window handle
}
//Windows API call to change the parent of the target window.
//It returns the hWnd of the window's parent prior to this call.
hWndOriginalParent = SetParent(hWndDocked, panel.Handle);
//Wire up the event to keep the window sized to match the control
SizeChanged += window_SizeChanged;
//Perform an initial call to set the size.
AlignToPannel();
}
private void AlignToPannel()
{
MoveWindow(hWndDocked, 0, 0, panel.Width, panel.Height, true);
}
void window_SizeChanged(object sender, SizeChangedEventArgs e)
{
AlignToPannel();
}
Я ищу способ сообщить существующему процессу Блокнота, чтобы открытьфайл, который я создаю, или чтобы закрыть этот процесс блокнота и открыть другой, используя путь к файлу.Я не совсем уверен, что лучший способ добиться того, что я здесь ищу, - это *. 1010 *