Как отобразить содержимое из StreamReader прямо в блокноте? - PullRequest
0 голосов
/ 16 февраля 2009

Есть ли способ отобразить содержимое из памяти непосредственно в окне блокнота?

Ответы [ 5 ]

3 голосов
/ 16 февраля 2009

Я предполагаю, что понимаю ваш вопрос. Если файл уже существует на компьютере, вы можете выполнить следующее:

System.Diagnostics.Process.Start( "notepad.exe", "[PATH]\[FILE].txt");

Если нет, сохраните файл локально, а затем выполните приведенный выше код.

1 голос
/ 16 февраля 2009

Самый простой способ сделать это - сохранить файл и открыть его в блокноте, однако есть как минимум два других способа.

  1. Откройте Блокнот, затем скопируйте то, что вы хотите, в буфер обмена, затем с помощью DDE принудительно вставьте Блокнот. Это плохо, поскольку потенциально может перезаписать действия пользователя в буфере обмена.
  2. Второй способ заключается в получении дескриптора окна для элемента управления «Редактировать блокнот», а затем в окне WM_SETTEXT. Однако это не будет работать через границы привилегий (например, для приложений, которые запускаются от имени администратора, но блокнот работает от имени обычного пользователя). Это также включает в себя переход на нативный уровень и выполнение P / Invokes. Не совсем простой метод.

Честно говоря, проще всего сохранить его в файл и загрузить.

1 голос
/ 16 февраля 2009

Дважды щелкните файл, чтобы убедиться, что для связи установлено значение «Блокнот».

Если вы хотите, чтобы Блокнот отображал его без сохранения на диске, вы можете открыть экземпляр Блокнота, получить дескриптор окна, а затем записать текст прямо туда. Для этого вам нужно будет использовать пользовательские интерфейсы Windows.

0 голосов
/ 16 февраля 2009

Я хотел бы добавить к ответу г-на Эдмундо, что Изолированное хранилище - правильное место для хранения временного текстового файла для Блокнота.

0 голосов
/ 16 февраля 2009

Зачем вам нужен блокнот для отображения содержимого (которое находится в памяти)?

Если вы используете winforms, вы можете поместить его в текстовое поле.
Извините, если я не правильно понял ваш вопрос.

...