ペースト君(VB.NET)のC#バージョンです。 オープンソースソフトです。 Visual C# 2008 Express Editionで作成しました。![]()
Form1.Designer.cs
namespace Pastekun2021 { partial class Form1 { /// <summary> /// 必要なデザイナ変数です。 /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// 使用中のリソースをすべてクリーンアップします。 /// </summary> /// <param name="disposing">マネージ リソースが破棄される場合 true、破棄されない場合は false です。</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows フォーム デザイナで生成されたコード /// <summary> /// デザイナ サポートに必要なメソッドです。このメソッドの内容を /// コード エディタで変更しないでください。 /// </summary> private void InitializeComponent() { this.btnClear = new System.Windows.Forms.Button(); this.btnSQL = new System.Windows.Forms.Button(); this.btnSakura = new System.Windows.Forms.Button(); this.btnText = new System.Windows.Forms.Button(); this.btnJavaScript = new System.Windows.Forms.Button(); this.btnWork = new System.Windows.Forms.Button(); this.btnEnd = new System.Windows.Forms.Button(); this.btnPHP = new System.Windows.Forms.Button(); this.btnCPP = new System.Windows.Forms.Button(); this.btnCS = new System.Windows.Forms.Button(); this.SuspendLayout(); // // btnClear // this.btnClear.BackColor = System.Drawing.Color.Lime; this.btnClear.Font = new System.Drawing.Font("MS UI Gothic", 48F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128))); this.btnClear.Location = new System.Drawing.Point(0, 540); this.btnClear.Name = "btnClear"; this.btnClear.Size = new System.Drawing.Size(200, 180); this.btnClear.TabIndex = 5; this.btnClear.Text = "Clear"; this.btnClear.UseVisualStyleBackColor = false; this.btnClear.Click += new System.EventHandler(this.btnClear_Click); // // btnSQL // this.btnSQL.BackColor = System.Drawing.Color.Pink; this.btnSQL.Font = new System.Drawing.Font("MS UI Gothic", 48F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128))); this.btnSQL.Location = new System.Drawing.Point(0, 0); this.btnSQL.Name = "btnSQL"; this.btnSQL.Size = new System.Drawing.Size(200, 540); this.btnSQL.TabIndex = 0; this.btnSQL.Text = "SQL"; this.btnSQL.UseVisualStyleBackColor = false; this.btnSQL.Click += new System.EventHandler(this.btnSQL_Click); // // btnSakura // this.btnSakura.BackColor = System.Drawing.Color.PaleGreen; this.btnSakura.Font = new System.Drawing.Font("MS UI Gothic", 36F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128))); this.btnSakura.Location = new System.Drawing.Point(200, 0); this.btnSakura.Name = "btnSakura"; this.btnSakura.Size = new System.Drawing.Size(200, 360); this.btnSakura.TabIndex = 1; this.btnSakura.Text = "Sakura"; this.btnSakura.UseVisualStyleBackColor = false; this.btnSakura.Click += new System.EventHandler(this.btnSakura_Click); // // btnText // this.btnText.BackColor = System.Drawing.Color.Fuchsia; this.btnText.Font = new System.Drawing.Font("MS UI Gothic", 48F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128))); this.btnText.Location = new System.Drawing.Point(200, 360); this.btnText.Name = "btnText"; this.btnText.Size = new System.Drawing.Size(200, 360); this.btnText.TabIndex = 6; this.btnText.Text = "Text"; this.btnText.UseVisualStyleBackColor = false; this.btnText.Click += new System.EventHandler(this.btnText_Click); // // btnJavaScript // this.btnJavaScript.BackColor = System.Drawing.Color.LimeGreen; this.btnJavaScript.Font = new System.Drawing.Font("MS UI Gothic", 48F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128))); this.btnJavaScript.Location = new System.Drawing.Point(400, 540); this.btnJavaScript.Name = "btnJavaScript"; this.btnJavaScript.Size = new System.Drawing.Size(400, 180); this.btnJavaScript.TabIndex = 8; this.btnJavaScript.Text = "JavaScript"; this.btnJavaScript.UseVisualStyleBackColor = false; this.btnJavaScript.Click += new System.EventHandler(this.btnJavaScript_Click); // // btnWork // this.btnWork.BackColor = System.Drawing.Color.Aqua; this.btnWork.Font = new System.Drawing.Font("MS UI Gothic", 72F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128))); this.btnWork.Location = new System.Drawing.Point(400, 360); this.btnWork.Name = "btnWork"; this.btnWork.Size = new System.Drawing.Size(400, 180); this.btnWork.TabIndex = 7; this.btnWork.Text = "Work"; this.btnWork.UseVisualStyleBackColor = false; this.btnWork.Click += new System.EventHandler(this.btnWork_Click); // // btnEnd // this.btnEnd.BackColor = System.Drawing.Color.Yellow; this.btnEnd.Font = new System.Drawing.Font("MS UI Gothic", 48F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128))); this.btnEnd.Location = new System.Drawing.Point(800, 360); this.btnEnd.Name = "btnEnd"; this.btnEnd.Size = new System.Drawing.Size(224, 360); this.btnEnd.TabIndex = 9; this.btnEnd.Text = "終了"; this.btnEnd.UseVisualStyleBackColor = false; this.btnEnd.Click += new System.EventHandler(this.btnEnd_Click); // // btnPHP // this.btnPHP.BackColor = System.Drawing.Color.Plum; this.btnPHP.Font = new System.Drawing.Font("MS UI Gothic", 72F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128))); this.btnPHP.Location = new System.Drawing.Point(400, 180); this.btnPHP.Name = "btnPHP"; this.btnPHP.Size = new System.Drawing.Size(400, 180); this.btnPHP.TabIndex = 3; this.btnPHP.Text = "PHP"; this.btnPHP.UseVisualStyleBackColor = false; this.btnPHP.Click += new System.EventHandler(this.btnPHP_Click); // // btnCPP // this.btnCPP.BackColor = System.Drawing.Color.Honeydew; this.btnCPP.Font = new System.Drawing.Font("MS UI Gothic", 48F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128))); this.btnCPP.Location = new System.Drawing.Point(400, 0); this.btnCPP.Name = "btnCPP"; this.btnCPP.Size = new System.Drawing.Size(400, 180); this.btnCPP.TabIndex = 2; this.btnCPP.Text = "C++"; this.btnCPP.UseVisualStyleBackColor = false; this.btnCPP.Click += new System.EventHandler(this.btnCPP_Click); // // btnCS // this.btnCS.BackColor = System.Drawing.Color.Lime; this.btnCS.Font = new System.Drawing.Font("MS UI Gothic", 72F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128))); this.btnCS.Location = new System.Drawing.Point(800, 0); this.btnCS.Name = "btnCS"; this.btnCS.Size = new System.Drawing.Size(224, 360); this.btnCS.TabIndex = 4; this.btnCS.Text = "C#"; this.btnCS.UseVisualStyleBackColor = false; this.btnCS.Click += new System.EventHandler(this.btnCS_Click); // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(1020, 720); this.Controls.Add(this.btnCS); this.Controls.Add(this.btnCPP); this.Controls.Add(this.btnPHP); this.Controls.Add(this.btnEnd); this.Controls.Add(this.btnWork); this.Controls.Add(this.btnJavaScript); this.Controls.Add(this.btnText); this.Controls.Add(this.btnSakura); this.Controls.Add(this.btnSQL); this.Controls.Add(this.btnClear); this.Name = "Form1"; this.Text = "ペースト君2018"; this.Load += new System.EventHandler(this.Form1_Load); this.Shown += new System.EventHandler(this.Form1_Shown); this.ResumeLayout(false); } #endregion private System.Windows.Forms.Button btnClear; private System.Windows.Forms.Button btnSQL; private System.Windows.Forms.Button btnSakura; private System.Windows.Forms.Button btnText; private System.Windows.Forms.Button btnJavaScript; private System.Windows.Forms.Button btnWork; private System.Windows.Forms.Button btnEnd; private System.Windows.Forms.Button btnPHP; private System.Windows.Forms.Button btnCPP; private System.Windows.Forms.Button btnCS; } }Form1.cs
using System; using System.Linq; using System.Windows.Forms; namespace Pastekun2021 { public partial class Form1 : Form { private const string PathEmEditor = @"C:\Program Files\EmEditor\emeditor.exe"; //EmEditor private const string PathSakura = @"C:\Program Files\sakura\sakura.exe"; //Sakura private string[] CommandLineArgs = Environment.GetCommandLineArgs(); private int Hyoujiritu; //表示率 public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.WindowState = FormWindowState.Maximized; //最大化 } private void Form1_Shown(object sender, EventArgs e) { if (CommandLineArgs.Length == 1) Hyoujiritu = 100; else Hyoujiritu = int.Parse(CommandLineArgs[1]); //表示率が100なら何もしない if (Hyoujiritu == 100) return; Func<System.Drawing.Size, System.Drawing.Size> wkFunc1 = pTargetSize => { int NewWidth = (int)((double)pTargetSize.Width * Hyoujiritu / 100); int NewHeight = (int)((double)pTargetSize.Height * Hyoujiritu / 100); return new System.Drawing.Size(NewWidth, NewHeight); }; Func<System.Drawing.Point, System.Drawing.Point> wkFunc2 = pTargetPoint => { int NewX = (int)((double)pTargetPoint.X * Hyoujiritu / 100); int NewY = (int)((double)pTargetPoint.Y * Hyoujiritu / 100); return new System.Drawing.Point(NewX, NewY); }; this.Size = wkFunc1(this.Size); foreach (var EachBtn in this.Controls.OfType<Button>()) { EachBtn.Size = wkFunc1(EachBtn.Size); EachBtn.Location = wkFunc2(EachBtn.Location); } } private void btnEnd_Click(object sender, EventArgs e) { this.Close(); } private void btnWork_Click(object sender, EventArgs e) { var InsProcessStartInfo = new System.Diagnostics.ProcessStartInfo(); InsProcessStartInfo.FileName = getWorkFolder(); InsProcessStartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized; System.Diagnostics.Process.Start(InsProcessStartInfo); this.Close(); } private void btnClear_Click(object sender, EventArgs e) { Clipboard.SetDataObject("", true); } private void btnSQL_Click(object sender, EventArgs e) { MakeTxt(PathEmEditor, "sql"); } private void MakeTxt(string pExePath, string pKakutyousi) { string WillOut = ""; IDataObject iData = Clipboard.GetDataObject(); if (iData.GetDataPresent(DataFormats.Text)) { WillOut = iData.GetData(DataFormats.Text).ToString(); } else if (Clipboard.ContainsFileDropList()) { var FullPathList = new List<string>(); // データを取得する(取得できなかった時はnull) System.Collections.Specialized.StringCollection files = Clipboard.GetFileDropList(); // 取得したファイル名を列挙する foreach (string EachFullPath in files) { FullPathList.Add(EachFullPath); } // フルパスの昇順にソートしておく FullPathList.Sort(); if (FullPathList.Count > 0) { WillOut = string.Join(Environment.NewLine, FullPathList.ToArray()); WillOut += Environment.NewLine; } } string FileName = DateTime.Now.ToString("yyyy年MM月dd日HH時mm分ss秒") + "." + pKakutyousi; string OutFilePath = System.IO.Path.Combine(getWorkFolder(), FileName); System.IO.File.WriteAllText(OutFilePath, WillOut,System.Text.Encoding.GetEncoding("shift-jis")); var InsProcessStartInfo = new System.Diagnostics.ProcessStartInfo(); InsProcessStartInfo.FileName = pExePath; InsProcessStartInfo.Arguments = OutFilePath; InsProcessStartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized; System.Diagnostics.Process.Start(InsProcessStartInfo); this.Close(); } //DドライブがなかったらCドライブを使う private string getWorkFolder() { return System.IO.Directory.Exists(@"D:\WorkFile\") ? @"D:\WorkFile\" : @"C:\WorkFile\"; } private void btnSakura_Click(object sender, EventArgs e) { MakeTxt(PathSakura, "txt"); } private void btnText_Click(object sender, EventArgs e) { MakeTxt(PathEmEditor, "txt"); } private void btnPHP_Click(object sender, EventArgs e) { MakeTxt(PathEmEditor, "php"); } private void btnCPP_Click(object sender, EventArgs e) { MakeTxt(PathEmEditor, "cpp"); } private void btnCS_Click(object sender, EventArgs e) { MakeTxt(PathEmEditor, "cs"); } private void btnJavaScript_Click(object sender, EventArgs e) { MakeTxt(PathEmEditor, "js"); } } }
WPF版もあります。![]()
PasteKun2020WPF.xaml
<Window x:Class="PasteKun2020WPF.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="ペースト君2020WPF" Height="Auto" Width="Auto" WindowState="Maximized"> <Grid Height="Auto" Name="grid1" Width="Auto"> <Grid.RowDefinitions> <RowDefinition Height="1*" /> <RowDefinition Height="1*" /> <RowDefinition Height="1*" /> <RowDefinition Height="1*" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="1*" /> <ColumnDefinition Width="1*" /> <ColumnDefinition Width="1*" /> <ColumnDefinition Width="1*" /> <ColumnDefinition Width="1*" /> </Grid.ColumnDefinitions> <Button Grid.Column="0" Grid.ColumnSpan="1" Grid.Row="0" Grid.RowSpan="3" Name="btnSQL" Background="White" FontSize="72" Click="btnSQL_Click">SQL</Button> <Button Grid.Column="0" Grid.ColumnSpan="1" Grid.Row="3" Grid.RowSpan="1" Name="btnClear" Background="White" FontSize="72" Click="btnClear_Click">Clear</Button> <Button Grid.Column="1" Grid.ColumnSpan="1" Grid.Row="0" Grid.RowSpan="2" Name="btnHTML" Background="White" FontSize="72" Click="btnHTML_Click">HTML</Button> <Button Grid.Column="1" Grid.ColumnSpan="1" Grid.Row="2" Grid.RowSpan="2" Name="btnText" Background="White" FontSize="72" Click="btnText_Click">Text</Button> <Button Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="0" Grid.RowSpan="1" Name="btnEmEditor" Background="White" FontSize="72" Click="BtnEmEditor_Click">EmEditor</Button> <Button Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="1" Name="btnPHP" Background="White" FontSize="72" Click="btnPHP_Click">PHP</Button> <Button Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="2" Grid.RowSpan="1" Name="btnWork" Background="White" FontSize="72" Click="btnWork_Click">Work</Button> <Button Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="3" Grid.RowSpan="1" Name="btnJS" Background="White" FontSize="72" Click="btnJS_Click">JavaScript</Button> <Button Grid.Column="4" Grid.ColumnSpan="1" Grid.Row="0" Grid.RowSpan="2" Name="btnCS" Background="White" FontSize="72" Click="btnCS_Click">C#</Button> <Button Grid.Column="4" Grid.ColumnSpan="1" Grid.Row="2" Grid.RowSpan="2" Name="btnEnd" Background="White" FontSize="72" Click="btnEnd_Click">終了</Button> </Grid> </Window>PasteKun2020WPF.xaml.cs
using System; using System.Windows; namespace PasteKun2020WPF { /// <summary> /// Window1.xaml の相互作用ロジック /// </summary> public partial class Window1 : Window { private const string PathSakura = @"C:\Program Files\sakura\sakura.exe"; //Sakura private const string PathEmEditor = @"C:\Program Files\EmEditor\EmEditor.exe"; //EmEditor public Window1() { InitializeComponent(); } private void MakeTxt(string pExePath, string pExtensino) { string WillOut = ""; IDataObject iData = Clipboard.GetDataObject(); if (iData.GetDataPresent(DataFormats.Text)) { WillOut = iData.GetData(DataFormats.Text).ToString(); } else if (Clipboard.ContainsFileDropList()) { var FullPathList = new List<string>(); // データを取得する(取得できなかった時はnull) System.Collections.Specialized.StringCollection files = Clipboard.GetFileDropList(); // 取得したファイル名を列挙する foreach (string EachFullPath in files) { FullPathList.Add(EachFullPath); } // フルパスの昇順にソートしておく FullPathList.Sort(); if (FullPathList.Count > 0) { WillOut = string.Join(Environment.NewLine, FullPathList.ToArray()); WillOut += Environment.NewLine; } } IDataObject iData = Clipboard.GetDataObject(); if (iData.GetDataPresent(DataFormats.Text)) WillOut = iData.GetData(DataFormats.Text).ToString(); string FileName = DateTime.Now.ToString("yyyy年MM月dd日HH時mm分ss秒") + "." + pExtensino; string OutFilePath = System.IO.Path.Combine(getWorkFolder(), FileName); System.Text.Encoding enc = new System.Text.UTF8Encoding(false); System.IO.File.WriteAllText(OutFilePath, WillOut, enc); var InsProcessStartInfo = new System.Diagnostics.ProcessStartInfo(); InsProcessStartInfo.FileName = pExePath; InsProcessStartInfo.Arguments = OutFilePath; InsProcessStartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized; System.Diagnostics.Process.Start(InsProcessStartInfo); this.Close(); } //DドライブがなかったらCドライブを使う private string getWorkFolder() { return System.IO.Directory.Exists(@"D:\WorkFile\") ? @"D:\WorkFile\" : @"C:\WorkFile\"; } private void btnSQL_Click(object sender, RoutedEventArgs e) { MakeTxt(PathSakura, "sql"); } private void btnClear_Click(object sender, RoutedEventArgs e) { Clipboard.SetDataObject("", true); } private void btnPHP_Click(object sender, RoutedEventArgs e) { MakeTxt(PathSakura, "php"); } private void btnHTML_Click(object sender, RoutedEventArgs e) { MakeTxt(PathSakura, "html"); } private void btnText_Click(object sender, RoutedEventArgs e) { MakeTxt(PathSakura, "txt"); } private void btnWork_Click(object sender, RoutedEventArgs e) { var InsProcessStartInfo = new System.Diagnostics.ProcessStartInfo(); InsProcessStartInfo.FileName = getWorkFolder(); InsProcessStartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Maximized; System.Diagnostics.Process.Start(InsProcessStartInfo); this.Close(); } private void btnJS_Click(object sender, RoutedEventArgs e) { MakeTxt(PathSakura, "js"); } private void btnCS_Click(object sender, RoutedEventArgs e) { MakeTxt(PathSakura, "cs"); } private void btnEnd_Click(object sender, RoutedEventArgs e) { this.Close(); } private void BtnEmEditor_Click(object sender, RoutedEventArgs e) { MakeTxt(PathEmEditor, "txt"); } } }