сохраняет содержимое буфера обмена в файл
и заносит ссылку на этот файл в буфер, так,
что можно вставить уже файл.
Очень удобно, если надо по-быстрому
сделать скриншот.
namespace ClipboardToFile {
class Program {
[STAThread]
static void Main(string[] args) {
string fileName = DateTime.Now.ToString
("yyyy-dd-MM_HH-mm-ss");
string path = Path.Combine
(Path.GetTempPath(), fileName).ToString();
if (Clipboard.ContainsData
(DataFormats.Bitmap)) {
path += ".jpg";
var bmp = (Bitmap) Clipboard.GetData
(DataFormats.Bitmap);
bmp.Save(path, ImageFormat.Jpeg);
} else if (Clipboard.ContainsData
(DataFormats.Text)) {
path += ".txt";
writeFile(path, (String)
(Clipboard.GetData(DataFormats.Text)));
} else return;
var files = new StringCollection { path };
Clipboard.SetFileDropList(files);
}
private static void writeFile(string path,
string text) {
var fileStream = new FileStream(path,
FileMode.OpenOrCreate);
var writer = new StreamWriter
(fileStream, Encoding.UTF8);
writer.Write(text);
writer.Flush();
writer.Close();
}
}
}