Показать изображение из буфера обмена, чтобы отключить просмотрщик изображений окон, используя c # .net - PullRequest
2 голосов
/ 26 мая 2010

Я использую функцию ниже, чтобы сделать изображение текущей формы и установить его в буфер обмена

Image bit = new Bitmap(this.Width, this.Height);
Graphics gs = Graphics.FromImage(bit);
gs.CopyFromScreen(this.Location, new Point(0, 0), bit.Size);
Guid guid = System.Guid.NewGuid();
string FileName = guid.ToString();
//Copy that image in the clipbaord.
Image imgToCopy = Image.FromFile(Path.Combine(Environment.CurrentDirectory, 
    FileName + ".jpg"));
Clipboard.SetImage(imgToCopy);

Теперь мое изображение в буфере обмена, и я могу показать его в картинке в другой форме, используя следующий код:

mypicturebox.Image = Clipboard.GetImage();

Теперь проблема в том, что я хочу показать его в программе просмотра изображений по умолчанию этой системы. так что для этого я думаю, используя «System.Diagnostics.Process.Start», мы можем это сделать ... но я не знаю, как найти средство просмотра изображений по умолчанию и как установить изображение буфера обмена в этом ... пожалуйста меня ... если я найду решение, чем это хорошо, в противном случае я думаю сохранить этот файл из буфера обмена на жесткий диск, а затем просмотреть его в окне просмотра изображений по умолчанию окна ... пожалуйста, помогите мне решить мою проблему .. я использую c # .net

1 Ответ

5 голосов
/ 26 мая 2010

Ваш лучший подход - сохранить образ на диск где-нибудь, а затем запустить этот файл с Process.Start. Это приведет к тому, что файл будет открыт приложением для просмотра по умолчанию.

В можно узнать, какая программа установлена ​​в качестве программы просмотра по умолчанию, а затем запустить эту программу напрямую (вместо запуска файла ), но у вас возникла проблема связи с этим запущенным приложением и каким-то образом передать ему свой образ. Это, вероятно, невозможно со многими приложениями для просмотра (и помните, что существует тысячи возможных приложений для просмотра, которые можно установить по умолчанию), потому что обычно вы общаетесь только с приложением для просмотра через командную строку аргументы.

Единственный надежный способ сделать это - сохранить образ на диск, а затем запустить его с помощью Process.Start.

...