如何使用c#写window 服务服务

c#操作windows剪贴板总结 - 为程序员服务
为程序员服务
c#操作windows剪贴板总结
一、获取剪贴板数据:
private void button1_Click(object sender, System.EventArgs e)
// Create a new instance of the DataObject interface.
IDataObject data = Clipboard.GetDataObject();
// If the data is text, then set the text of the TextBox to the text in the Clipboard.
if (data.GetDataPresent(DataFormats.Text))
textBox1.Text = data.GetData(DataFormats.Text).ToString();
二、将数据放到剪贴板上
private void button1_Click(object sender, System.EventArgs e)
Clipboard.SetDataObject(textBox1.Text);
剪贴板是Windows操作系统中最常用的功能之一,它用来从一个应用程序向另一个应用程序传递数据,可以是文本,图象,甚至是程序对象。不过剪贴板也有限制,它在某个特定的时间只能指向一块内容,每一个随后复制的内容都会取代先前的内容。为了在C#中操作剪贴板(包括内容的读取和写入)需要使用到System.Windows.Forms.Clipboard类
接下来我们就通过程序向剪贴板中存放些东西。
这里我们主要用到Clipboard类的SetDataObject(Object obj,bool copy )方法,此方法是将目标对象放入剪贴板中,obj就是目标对象,参数copy表示是否在程序结束时仍然保存对象于剪贴板。
现在我们来看网上一个简单的实例:
private void
button2_Click(object
sender, System.EventArgs e)
if (this.textBox1.Text == &&)
MessageBox.Show(&Copy之前必须输入数据&,&错误&);
Clipboard.SetDataObject(this.textBox1.Text , true);
通过以上代码便完成了复制操作。你可以打开文本文档,按下Ctrl+V 看一下效果。
我们已经学会了如何复制,现在我们来利用程序实现粘贴操作。
粘贴操作我们主要用到的方法为:GetDataObject()用来检索剪贴板中的数据,它返回的是任何格式的数据,我们用IDataObject (它是一个接口,用来提供传送任何数据的机制)来接收。IDataObject接口实例的GetDataPresent (Type Format)方法返回bool值,用来确定实例中所存储的数据是否与所给格式相关联,或者可以相转化。另外就是DataFormats类,该类主要是用来标识格式用的。
粘贴文本的方法:
private void
button1_Click(object
sender, System.EventArgs e)
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
{//如果剪贴板中的数据是文本格式
this.label1.Text = ( string ) iData.GetData(DataFormats.Text);//检索与指定格式相关联的数据
MessageBox.Show(&目前剪贴板中数据不可转换为文本&,&错误&);
粘贴图片:
private void
button2_Click(object
sender, System.EventArgs e)
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Bitmap))
this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchI
this.pictureBox1.Image = (Bitmap)iData.GetData(DataFormats.Bitmap);
MessageBox.Show(&目前剪贴板中数据不可转换为图片&,&错误&);
另外我们可以利用某些控件自带的paste方法进行粘贴操作,我们这里以richtextbox为例。[注:在使用控件的paste方法之前必须确保控件的readonly属性为false,否则无法对控件进行此操作!]
现在我们就用paste方法来实现像richtextbox中加入图片。
private void button5_Click(object sender, EventArgs e)
OpenFileDialog fd = new OpenFileDialog();
fd.Filter = &图片文件|*.jpg|所有文件|*.*&;
if (fd.ShowDialog() == DialogResult.OK)
Clipboard.SetDataObject(Image.FromFile(fd.FileName), true);
DataFormats.Format myFormat = DataFormats.GetFormat(DataFormats.Bitmap);
richTextBox2.ReadOnly =
if (richTextBox2.CanPaste(myFormat))//判断此控件是否可以粘贴这个格式的数据
richTextBox2.Paste(myFormat);
MessageBox.Show(&无法粘贴!&);
////实现双击用户名,将用户名复制到剪贴板。
if (dgUserKey.Columns[e.ColumnIndex].HeaderText == &用户名&)
string name = dgUserKey.CurrentCell.Value.ToString();
Clipboard.SetText(name);
MessageBox.Show(&数据已复制到剪贴板&,&复制成功&);
您可能的代码
相关聚客文章
荣誉:2076
相关专栏文章用C#winform程序开启windows服务怎么做?-c/c++-电脑编程网用C#winform程序开启windows服务怎么做?作者:henjiandan 和相关&&网上是很多例子,但是方法都很山寨。。我想知道C#里有没有专门的类可以 注册windows服务 并开启和停止它的方法? 请教高人给个解答。还有一点就是 如果我用服务做自启动程序了,也在里做自启动,这样会冲突吗?------回答---------------其他回答(20分)---------C# code
System.ServiceProcess.ServiceController serviceController = new System.ServiceProcess.ServiceController();
serviceController.ServiceName = &MSSQLServer&;
serviceController.Start();
------其他回答(10分)---------用 ServiceInstaller 和 ServiceProcessInstaller 啦.3个设施构成windows服务体系, SCM(Service Control Manager) 是操作系统的一个部分:服务:
逻辑执行者, 向 SCM 发送服务自己的状态信息服务配置程序: 服务的安装, 卸载修改, 和检索服务控制程序: 服务的启动和停止(向 SCM 发送启动停止指令的).在 .net 里边, 各个类都在 System.ServiceProcess 名字空间下的几个类中.------其他回答(1分)---------执行.bat文件来net start Cashe(服务名)net stop Cashe(服务名)------其他回答(19分)---------windows服务安装部署ServiceInstaller 和 ServiceProcessInstaller& ServiceController sc = new ServiceController(&&);&if (sc.Status == ServiceControllerStatus.Running)& {& sc.Stop();& sc.WaitForStatus(ServiceControllerStatus.Stopped); //等待服务停止& if (sc.Status == ServiceControllerStatus.Stopped)& {& sc.Start();& }& }------回答---------------其他回答(20分)---------
C# code
System.ServiceProcess.ServiceController serviceController = new System.ServiceProcess.ServiceController();
serviceController.ServiceName = &MSSQLServer&;
serviceController.Start();
------其他回答(10分)---------用 ServiceInstaller 和 ServiceProcessInstaller 啦.3个设施构成windows服务体系, SCM(Service Control Manager) 是操作系统的一个部分:服务:
逻辑执行者, 向 SCM 发送服务自己的状态信息服务配置程序: 服务的安装, 卸载修改, 和检索服务控制程序: 服务的启动和停止(向 SCM 发送启动停止指令的).在 .net 里边, 各个类都在 System.ServiceProcess 名字空间下的几个类中.------其他回答(1分)---------执行.bat文件来net start Cashe(服务名)net stop Cashe(服务名)------其他回答(19分)---------windows服务安装部署ServiceInstaller 和 ServiceProcessInstaller& ServiceController sc = new ServiceController(&&); &if (sc.Status == ServiceControllerStatus.Running) & { & sc.Stop(); & sc.WaitForStatus(ServiceControllerStatus.Stopped); //等待服务停止 & if (sc.Status == ServiceControllerStatus.Stopped) & { & sc.Start(); & } & }相关资料:|||||||用C#winform程序开启windows服务怎么做?来源网络,如有侵权请告知,即处理!编程Tags:                &                    如何用C#对Windows Server系统本身的服务进行“二次开发”_百度知道

我要回帖

更多关于 c 服务器框架 window 的文章

 

随机推荐