c#windoes10激活窗体编写程序实现: ①一个为10的整形数组a; c#②输入10个整数,到数组a中; 输出数组a中的最大值

其他回答(2)
求教winservice怎么调试,我们都是release了直接跑看log。。。。向高手学习
问题已经解决,纠结了 半天的时间。
尝试过:重装服务。重启电脑。重启VS等。。。。。。。
最后的解决办法:就是 新建一个WIN服务项目 &然后把以前的代码复制进去即可。
引起问题的原因:我以前的项目是WINFROM 程序改成服务的。估计是哪点改错了。
清除回答草稿
&&&您需要以后才能回答,未注册用户请先。怎样用C#编写定义一个int型的一维数组,包含10个元素,分别赋值为1~10, 然后将数组中的元素 都向前移一个位置,即,a[0]=a[1],a[1]=a[2],…最后一个元素的值是原来第一个元素 的
本回答由提问者推荐
var sogou_ad_id=731547;
var sogou_ad_height=160;
var sogou_ad_width=690;用微软vs2013旗舰版在visual c#的windows下建了一个空项目,然后怎么找到填写代码的空白页? - 知乎3被浏览809分享邀请回答14 条评论分享收藏感谢收起0添加评论分享收藏感谢收起写回答c#程序设计课后习题与解答 - 第3页 - 课件
c#程序设计课后习题与解答
输入的正整数是否“回文数” 。所谓“回文数” 指的是正读反读都相同的数,例如 12343
  2. 建立 Windows 窗体应用程序,用随机函数生成一个 M×N 的 2 位数矩阵 A,然后使 其旋转 90o,形成另一矩阵 B,并使矩阵 A 和 B 显示在窗体上。
  3. 编写程序, 利用随机函数为数组 A 赋予 10 个随机二位整数, 找出其中具有最大值的 元素并指示其位置。
  4. 编写程序, 从利用随机函数产生的 20 个 2 位整数元素中, 找出最接近平均值的元素。 要求:在窗体上显示这 20 个元素、它们的平均值以及最接近平均值的元素。
第 12 页 共 24 页
  5. 编写程序,在文本框中输入一段英文短文,单击按钮,就能在标签控件中指示出现 次数最多的字母,并统计该字母出现的次数。 (不区分大小写)
  6. 创建图 6-21 所示 Windows 窗体应用程序,求解猴子选大王问题。n 只猴子选大王的 选举方法如下: 所有猴子按
  1、 …、 编号围坐成一圈,
  2、 n 从第 1 号开始按照
  1、 …、
  2、 m 报数,凡报到 m 号的猴子退出圈外;剩下的猴子重复上述报数退出过程直到圈内 只剩下一只猴子为止,最后剩下的猴子便是大王。设计如下图所示的窗体界面。程 序运行时输入猴子总数 n 和报数的终止数 m,单击“选举”按钮进行选择,退出竞争 猴子的编号通过标签输出;猴王编号显示在对应文本框中;单击“清除”按钮清除 所有信息;单击“退出”按钮结束程序运行。
“猴子选大王”
  7.创建一个具有 1,000,000 个元素的数组,以 4 位随机正整数赋值,然后进行从小到大 的排序。在窗体上输出排序的开始时间、结束时间和以毫秒为单位的排序时间。
一、单项选择题
  1.要使窗体启动时位于屏幕中央,应设置窗体的 StartPosition 属性为( A ) 。 (A)CenterScreen (B)WindowsDefaultBounds (C)CenterParent (D)WindowsDefaultLocation
  2.卸载窗体的操作命令应为( D ) 。 (A)Move() (B)Hide() (C)Load() (D)Dispose()
  3.程序运行期间,用户拖动水平滚动条 Scroll1 的滑块时,若要在文本框 Text1 中随时 反映滑块位置的变化,应将语句 Text
  1.Text = Scroll
  1.Value 写在( A )事件过程内。 (A)Scroll (B)Validated (C)StyleChanged(D)TabIndexChanged
  4.要使图片在 PictureBox 中按原大小完整显示,应设置 SizeMode 属性为( A ) 。 (A)AutoSize (B)StretchImage(C)CenterImage (D)Zoom
  5.Label 控件的边框样式由( B )属性决定。 (A)FlatStyle (B)BorderStyle (C)BackColor (D)AutoSize
  6.若要获知 ListBox 控件中当前的列表项数目,可通过访问( C )属性来实现。 (A)List (B)ListIndex (C)ListCount (D)ItemData
  7.使用( D )方法,可以把一个字符串数组的内容全部添加到 ListBox 控件中。 (A)Add() (B)Remove() (C)Clear() (D)AddRange()
第 13 页 共 24 页
  8. 要确定 ComboBox 控件的列表中第一个姓王的选项所在位置, 应调用的方法是 B ) ( 。 (A)FindForm() (B)FindString() (C)BeginInvoke()(D)FindStringExct()
  9.访问组合框的( A )属性,可以获得用户在组合框中输入或选择的数据。 (A)Text (B)ItemData (C)SelectedIndex(D)SelectedValue 二、选择填空题 (
  1)窗体的标题栏显示内容由窗体对象的 L 属性决定。 (
  2)仅当 G 属性为 true 的情况下,TextBox 控件才可能显示出垂直滚动条。 (
  3)鼠标每次单击滚动条两端的滚动箭头,导致 Value 属性的变化量取决于 E 属 性。 (
  4)若要使 Button 控件暂时失效,可将它的 M 属性设置为 false。 (
  5)要使 Label 控件始终能完整显示其 Text 属性中的文字,必须设置它的 N 属性为 true。 (
  6)程序运行期间,使文本框 Box1 获得焦点的语句是 S 。 (
  7)程序运行期间,可通过访问 B 属性获得用户在文本框内选择的文本。 (
  8)要撤消在 RichTextBox 中刚刚执行过的一项操作,应调用 K 方法。 (
  9)清除 PictureBox 控件 Pic1 中已载入的图片内容,应该使用的操作是 D 。 (
  10) 添加到 ImageList 组件中的图片, 其显示输出的大小由 ImageList 的 I 属性统一 决定,而且限定其宽度和高度最大值均为 H 像素。 备选答案: (A)Visible (B)SelectedText (C)SelectionStart (D)Pic
  1.Image= (E)SmallChange(F)Redo() (G)Multiline (H)256 (I)ImageSize (J)Size (K)Undo() (L)Text (M)Enabled (N)AutoSize (O)320 (P)Pic
  1.Load(&&) (Q)LargeChange(R)String (S)Box
  1.Focus(); (T)Box
  1.Focused= 三、程序设计题
  1.设计图 7-25 所示 Windows 窗体应用程序。单击“显示”按钮之后,在文本框内 20 号大小的黑体显示字符串,并能自动换行;再次单击按钮,则清除文本框内的文字。
在文本框中显示特定格式文字
在列表框中以多列形式显示数据
  2.设计应用程序,窗体加载之后,在列表框(ListBox)中以图 7-26 的多列形式自动显示 出 1 到 100 范围内的所有奇数。要求将列表框的属性设置以及完成显示结果的代码均在 窗体加载事件过程中书写。
  3.设计图 7-27 所示程序,窗体加载后,从左到右徐徐展开一幅画卷,历时 5 秒完成。 与此同时,ProgressBar 同步地表现画卷展开的进度。
第 14 页 共 24 页
从左到右徐徐展开画卷
运动员比赛成绩评分程序
  4.设计图 7-28 所示运动员比赛成绩评分程序,7 位裁判分别在文本框内输入自己的打 分,单击“计算成绩”按钮,去掉一个最高分,去掉一个最低分,计算剩下 5 位裁判打 分的平均值,即为运动员得分,在 Label 控件中输出结果。
  5.设计图 7-29 所示应用程序,利用 Timer 控件,实现如下功能: (
  1) 程序启动运行后,使窗体上标签文字“学无止境”的字号以可视的速度自动平 滑地增大/缩小,且始终保持在窗体上水平方向的中央位置; (
  2) 当标签的宽度增大到超过窗体宽度时,标签文字开始自动平滑缩小; (
  3) 当标签的宽度缩小到&窗体宽度 1/10 时,重新开始文字自动增大的过程。 (
  4) 如此反复,持续进行。 (
  5) 按下键盘上的任意键,结束程序运行。
标签文字自动放大与缩小
列表框项目增加与移除
  6.设计具有图 7-30 所示界面的程序,并具有如下功能: (
  1) 在左侧列表框中选择一个项目,单击 按钮,把它移动到右侧列表框中。 (
  2) 单击 按钮,把左侧列表框中的全部项目移动到右侧列表框中。 (
  3) 在右侧列表框中选择一个项目,单击 按钮,把它移动到左侧列表框中。 (
  4) 单击 按钮,把右侧列表框中的全部项目移动到左侧列表框中。 (
  5) 项目在两个列表框中不重复出现,并且始终保持原有的先后顺序。
一、单项选择题
  1. 通过 SaveFileDialog 对话框保存文件时,默认的初始路径由( B )属性决定。
第 15 页 共 24 页
(A)Filter (B)InitialDirectory (C)Modifiers (D)Tag
  2. 如果 ColorDialog 的( B )属性为 true,颜色对话框则以包含调色板(规定自定义 颜色)的扩展形式打开。 (A)AnyColor (B)FullOpen (C)Modifiers (D)AllowFullOpen
  3. 下列对象中,不可能添加到状态栏上的是( A ) 。 (A)ComboBox (B)StatusLabel (C)ProgressBar (D)DropDownButton 。
  4. 在下列字形(FontStyle)中,不能通过 FontDialog 设置的是( B ) (A)Bold (B)Dotted (C)Italic (D)Underline
  5. 通过 OpenFileDialog 对话框打开文件时,默认的初始文件名由( C )决定。 (A)Filter (B)InitialDirectory (C)FileName (D)AutoExtension 二、选择填空题 属性设置的。
  1.下拉菜单中一个特定选项的快捷键是通过 C
  2. 为了在 “打开” 对话框中一次选择多个文件, 需要设置 OpenFileDialog 的属性 G 为 true ,被选中的这些文件的完整路径保存在 OpenFileDialog 的 I 属性中。
  3.SaveFileDialog 对象的对话框标题默认显示“另存为” ,设置 F 属性可以使之改 变成其它文字。
  4. 鼠标指向工具栏中的一个选项, 光标下方动态显示的文字由该选项的 L 属性决定。
  5.在 Windows 窗体应用程序中,由具体对象的 H 属性决定与哪个上下文菜单相关 联。 备选答案: (A)Multiline (B)String (C)ShorCutkeys (D)CheckOnClick (E)AutoSize (F)Title (G)Multiselect (H)ContextMenuStrip (I)FileNames (J)Size (K)FileName (L)Text 三、程序设计题
  1. 设计一个带有菜单栏、 状态栏和图片框的应用程序, 执行 “打开” 操作时, 能利用 “打 开”文件对话框选择一张 jpg、gif、png 等格式的图片文件,将其在图片框中显示,并在 状态栏显示被打开的文件名。
带有菜单栏与状态栏的程序
把多次打开的文本文件内容连接显示
  2.设计图 8-14 所示应用程序,当多次执行“打开”操作时,每次都能利用“打开”文
第 16 页 共 24 页
件对话框选择位于不同路径下的文本文件或 RichText 文件,并将它们的内容依次连接起 来,在 RichTextBox 中显示,同时在状态栏显示当前被打开的文件名。
  3.设计图 8-14 所示应用程序,执行“打开”操作时,能在“打开”对话框中选择位于 同一文件夹之内的多个.txt 文件,并将它们的内容连接起来,在 RichTextBox 中显示。
  4.设计一个窗体底部带有状态栏的应用程序,程序运行期间,在状态栏上以“打字机” 方式显示文字“欢迎使用我设计的小程序” ,即每隔 200 毫秒增加显示一个字,当所有的 文字都显示以后,停留 1 秒,然后全部抹去,从头重新开始这个过程。
一、单项选择题
  1.通过 FolderBrowserDialog 选择的文件目录保存在( D )属性中。 (A)RootFolder (B)InitialDirectory (C)Modifiers (D)SelectedPath
  2.DirectoryInfo 类的实例对象用于获得指定目录下所有文件的方法是( B ) 。 (A)GetDirectories(B)GetFiles (C)GetHashCode (D)GetObjectData
  3.记载 FileInfo 类的实例对象的最近被修改时间的属性是( C ) 。 (A)LastAccessTime (B)LastAccessTimeUtc (C)LastWriteTime (D)LastWriteTimeUtc
  4.Directory 类可以用( D )方法获取指定目录下所有符合检索条件的文件。 (A)GetAccessControl() (B)GetDirectoryRoot() (C)GetDirectories() (D)GetFileSystemEntries()
  5.FileStream 类是设计用于处理文件输入输出操作中的( A )的。 (A)字节流 (B)字符流 (C)二进制流 (D)数值流
  6.使用 StreamReader 对象的( D )方法,可以一次性读取指定文件的全部内容。 (A)Read() (B)ReadBlock() (C)ReadLine() (D)ReadToEnd()
  7.调用 BinaryWriter 对象的( C ) ,不能将写缓冲区中的数据写入目标文件。 (A)Close() (B)Flush (C)Seek() (D)Write()
  8.通过 FileStream 对象创建新的文件,如果选择 FileMode 为( D ) ,则在指定的文件 名已存在时将其覆盖。 (A)Truncate (B)Open (C)CreateNew (D)Create
  9.判断由一个 FileStream 对象所代表的字节流是否支持查找操作,可依据的属性是 ( B ) 。 (A)CanRead (B)CanSeek (C)CanTimeout (D)CanWrite
  10.下列有关 FileStream 对象的文件访问模式(FileAccess)中错误的是( C ) 。 (A)Read (B)ReadWrite (C)Delete (D)Write 二、选择填空题
  1. File 类用于判断指定文件是否存在的方法是 M 。
  2. FileInfo 对象可以用 O 方法来替换指定路径下的同名文件。
  3. Path 类用来将两个部分路径字符串合并成一个完整路径的方法是 C 。
第 17 页 共 24 页
  4. 向一个 FileInfo 对象所代表的数据文件追加新的文字信息,应该调用 N 方法。
  5. 在 C#的文件管理中,可以用来实现文件复制操作的类的方法包括 File 类的 S 和 FileInfo 类的 G 。
  6. 利用 File 类的 H 方法,可以获取一个文件最近被访问的时间。 I 方法分块复制,一次读取
  7. 复制特别大的文件时,可以使用 FileStream 对象的 指定块长度的字节到临时设置的字节数组,然后再把字节数组的内容写入到目标文 件。
  8. 利用 StreamWriter 对象的 E 方法,可以强制将写缓冲区内容存入文件,并清空缓 冲区,准备继续写操作。
  9. 若希望知道一个文件存储在磁盘的哪个分区上,可以调用 Path 类的 T 方法。 (A)Close() (B)ReadByte() (C)Combine() (D)GetPathRoo
  第二章 HTML语言 语言2.1 HTML文档的基本构成HTML的基本结构如下:基本HTML页面以&HTML&标签开始,以&/HTML&结束。2.1 HTML文档的基本构成【例】使用HTML设计一个简单的网页 例(1) 打开Windows的附件中的记事本功能,输入下列内容,以 hello.htm作为文件名保存。 &HTML& &HEAD& &TITLE&一个Hello网页&/TITLE& &/HEAD& & ...
  带格式的: 字体颜色: 红色 格式 的第二章 算法与程序设计“算法与程序设计”是高中信息技术课程的选修模块,以问题解决与程序设计为主线, 揭示利用计算机解决问题的过程。学生通过本模块的学习“体验算法思想,了解算法和程序 设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步 ① 使用一种程序设计语言编制程序实现算法、解决问题。 ” “本模块的教学,应注意与数学课程中有关内容的衔接,要强调理论与实践的结合,引 导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序 ...
  程序设计习题课讲解2011年5月 年 月基本知识: 基本知识:程序文件扩展名.prg 程序文件扩展名 程序以语句为单位,一行一条语句,续行用; 程序以语句为单位,一行一条语句,续行用 号 程序的运行: 程序的运行:do 程序文件名程序基本结构: 程序基本结构:顺序 分支IF…… [ELSE]…… ENDIF DO CASE…… ENDCASE循环DO WHILE…… ENDDO FOR…… ENDFOR SCAN…… ENDSCAN过程和自定义函数程序题考查形式: 程序题考查形式:1. 程序填空 ...
  文 件本章节纲要C文件的有关基本知识 打开与关闭文件 顺序读写数据文件 随机读写数据文件 文件读写的出错检测什么是文件两种文件: 两种文件:(1)程序文件。包括源程序文件、目标文件、 (1)程序文件 包括源程序文件、目标文件、 程序文件。 可执行文件。 可执行文件。 (2)数据文件。文件内容是供程序运行时读写 (2)数据文件 数据文件。 的数据,如在程序运行过程中输出到磁盘( 的数据,如在程序运行过程中输出到磁盘(或 其他外部设备)的数据, 其他外部设备)的数据,或在程序运行过程中 供读入的数据 ...
  第一章 .NET Framework 简介ACCP V4.0课程地位Computer Base STB SQL Base OOP/Java HTML/JavaScript CSQL ServerC# WinFormsJSP/ServletTesting/SQAOracle ASP.NETXMLEJB/WebService Struts/JSFLinux PSPM OOAD2ACCP V4.0课程目标理解.NET平台特征和使用C#语言语法 面向对象设计在C#中的实现和表达 基本的WinForms桌 ...
  武汉理工大学计算机学院C语言程序设计授课教师: 授课教师:王红霞选用教材与参考书主教科书 顾治华、陈天煌等 《C语言程序设计》 顾治华、 语言程序设计》 机械工业出版社 2007.2 参考教材 顾治华、陈天煌等《C语言程序设计 实验 顾治华、 指导》 指导》 机械工业出版社 2007.2 参考书 语言程序设计》 谭浩强 《C语言程序设计》 清华大学出版社课程内容第一章 第二章 第三章 第四章 第五章 第六章 第七章C语言程序设计概述 算法 ...
  基于C#的 基于 的 .NET Framework程序设计 程序设计第1章 Microsoft .NET 章 Framework概述 概述 第2章 托管执行环境的介绍 章 第3章 使用组件 章 第4章 部署与版本控制 章 第5章 通用类型系统 章 第6章 类型的使用 章 第7章 字符串,数组和集合 章 字符串, 第8章 委托和事件 章 第9章 内存和资源管理 章 第10章 数据流和文件 章 第11章 Internet访问 章 访问 第12章 序列化 章 第13章 远程处理和 章 远程处理和XML ...
  基于C#的 基于 的 .NET Framework程序设计 程序设计第1章 Microsoft .NET 章 Framework概述 概述 第2章 托管执行环境的介绍 章 第3章 使用组件 章 第4章 部署与版本控制 章 第5章 通用类型系统 章 第6章 类型的使用 章 第7章 字符串,数组和集合 章 字符串, 第8章 委托和事件 章 第9章 内存和资源管理 章 第10章 数据流和文件 章 第11章 Internet访问 章 访问 第12章 序列化 章 第13章 远程处理和 章 远程处理和XML ...
  课程介绍课程简介 .NET是微软提供的平台及设备无关的软件开发模 型.而.NET Framework则是一个用于创建,开发 和运行Web服务及应用程序的平台,是.NET的基 础.本课程介绍利用C#进行基于.NET Framework 的程序设计的知识和技能. 预备知识 熟悉 C++ 或 Java 编程语言 具备 C# 编程语言的基本知识课程要求课时:72 课时 课时: 分为两部分 讲课部分:36 课时,课堂教学 实践部分:36 课时,课程实验 培养目标 通过本课程的学习,能够更加全面地理解 .N ...
  基于C#的 基于 的 .NET Framework程序设计 程序设计第1章 Microsoft .NET 章 Framework概述 概述 第2章 托管执行环境的介绍 章 第3章 使用组件 章 第4章 部署与版本控制 章 第5章 通用类型系统 章 第6章 类型的使用 章 第7章 字符串,数组和集合 章 字符串, 第8章 委托和事件 章 第9章 内存和资源管理 章 第10章 数据流和文件 章 第11章 Internet访问 章 访问 第12章 序列化 章 第13章 远程处理和 章 远程处理和XML ...
  序号 任务 类型 Task 3 读听说 Task 4 读听说准备 时间 30 ? 30 ?回答 时间材料 性质60 ? 校园 对话 60 ? 学术 演讲Question 4General introduction:(for more turn to OG p216-220) ★ ★An integrated taskreading → listening → speakingAcademic subjectbut no prior knowledge of any academic field
  第一章 离散时间信号与系统学习目标掌握序列的概念及其几种典型序列的定义, 掌握序列的概念及其几种典型序列的定义,掌握 序列的基本运算,并会判断序列的周期性。 掌握线性/移不变/因果/ 掌握线性/移不变/因果/稳定的离散时间系统的概 念并会判断,掌握线性移不变系统及其因果性/ 念并会判断,掌握线性移不变系统及其因果性/ 稳定性判断的充要条件。 理解常系数线性差分方程及其用迭代法求解单位 抽样响应。 了解对连续时间信号的时域抽样,掌握奈奎斯特 抽样定理,了解抽样的恢复过程。作业练习P42: 2(2) ...
  《浙江省园林绿化及仿古建筑 工程预算定额》 2010版) 工程预算定额》(2010版)定额交底会2010年12月交底内容第一部分 总说明 第二部分 定额章节第一部分 总说明总 述《浙江省园林绿化及仿古建筑工程预算定额》(2010版)(以下简称本定 额)是根据浙江省建设厅、浙江省发展和改革委员会和浙江省财政厅联合印 发的《关于组织修订〈浙江省建设工程计价依据(2003版)〉的通知》(建 建发[号)文件精神,由省建设工程造价管理总站组织编制的。 本定额编制组由造价管理机构、造价咨询机 ...
  第 4 章 财务估算www.themegallery.com第一节 概述www.themegallery.com一、财务估算的概念与意义在项目市场、资源、技术条件评估的基础上, 在项目市场、资源、技术条件评估的基础上,依 据现行的经济法规和价格政策, 据现行的经济法规和价格政策 , 采用与企业财务口径 相一致的计算方法,对有关财务数据和指标进行事先 相一致的计算方法 , 收集、测算和审查, 编制财务估算表的一系列工作 的一系列工作。 收集 、 测算和审查 , 并 编制财务估算表 的一系列工作。
  最成功的网络兼职网站:http://goodword.teasm.cn/Money.aspx第10章 拒绝服务攻击 10章2000年开始,日渐成熟的技术使得拒绝服务攻击 年开始, 年开始 从一种骚扰变成了一种对电子商务活动构成严重威胁 的高发风险。 世纪 世纪90年代末的拒绝服务攻击技术几 的高发风险。20世纪 年代末的拒绝服务攻击技术几 乎都利用了与因特网底层通信协议TCP/IP有关的某种 乎都利用了与因特网底层通信协议 有关的某种 操作系统缺陷。只须发出一组简单的数据包, 操作系统缺陷。只须 ...查看: 20991|回复: 29
C# Windows Service|Windows服务程序(实现监控网站是否能访问)
TA的每日心情开心4&小时前签到天数: 526 天[LV.9]以坛为家II
什么是& && && && && && && && && && && && && && &C# Windows Service服务程序?&&
C# Windows服务程序开发之前要明白什么是Windows服务,Windows Service,也称Windows服务,是32位Windows操作系统中一种长期运行的后台程序。它们长期后台运行,没有用户界面,默默无闻,但它们却是支持Windows正常运行的幕后英雄,却永无出头之日。我称之为最稳定的程序之一。
&&因为他会随着系统的自动启动而启动,自动关闭而关闭,不需要用户直接登录,直接开机就可以启动。
很方便 稳定。这类程序一般是做为服务或者是监控类的东东。也正是因为他的稳定和方便。
但在C#里面怎么实现它呢?
源代码程序下载地址:
(46.17 KB, 下载次数: 912)
16:33 上传
点击文件名下载附件
我们一起来看看吧,
我以VS2010为例子。我们先来新建一个Window服务项目 如下图所示
2680.png (84.16 KB, 下载次数: 86)
16:38 上传
我们再来看看VS2010都给我们创建了什么
3246.png (15.35 KB, 下载次数: 61)
16:38 上传
我们一起来看看Services1里面都有什么吧
[C#] 纯文本查看 复制代码using S
using System.Collections.G
using System.ComponentM
using System.D
using System.D
using System.L
using System.ServiceP
using System.T
namespace WindowsService
public partial class Service1 : ServiceBase
public Service1()
InitializeComponent();
/// &summary&
/// 开启服务时要执行的方法
/// &/summary&
/// &param name=&args&&&/param&
protected override void OnStart(string[] args)
/// &summary&
/// 停止服务时要执行的方法
/// &/summary&
protected override void OnStop()
其实里面只有两个方法,OnStart启动服务时要执行的方法,也就是程序的入口了。
下面咱们一起来做一个监控自己网站的功能吧,先来看看第一个方法的实现吧。
使用来访问网站
我先来说说我的思路吧,我事先设置一个关键字,如果通过抓来的网页源代码存在这个关键字的话就说明网站正常,否则就不正常,并写文件做记录
我们一起来看方法吧
首先来定义一个定时检查器我设置时间 为1分钟检查一次
[C#] 纯文本查看 复制代码//定期类
private System.Timers.Timer aT
/// &summary&
/// 开启服务时要执行的方法
/// &/summary&
/// &param name=&args&&&/param&
protected override void OnStart(string[] args)
aTimer = new System.Timers.Timer();
//到达时间的时候执行事件;
aTimer.Elapsed += new ElapsedEventHandler(timer1_Tick);
// 设置引发时间的时间间隔 此处设置为1秒(1000毫秒)
aTimer.Interval = 60 * 1000;
//设置是执行一次(false)还是一直执行(true);
aTimer.AutoReset =
//是否执行System.Timers.Timer.Elapsed事件;
aTimer.Enabled =
具体的timer1_Tick实现如下
[C#] 纯文本查看 复制代码/// &summary&
/// 定时事件
/// &/summary&
/// &param name=&source&&源对象&/param&
/// &param name=&e&&ElapsedEventArgs事件对象&/param&
protected void timer1_Tick(object source, ElapsedEventArgs e)
//帮助参考[url=http://www.cnblogs.com/sufei/archive//2221289.html]http://www.cnblogs.com/sufei/archive//2221289.html[/url]
HttpHelps objhh = new HttpHelps();
//取网站源代码
string result = objhh.GetHttpRequestStringByNUll_Get(&http://sufei.cnblogs.com&, null);
//看看查询出来的网页代码是否存在Perky Su
if (result.Contains(&Perky Su&))
//如果存在我设置的关键字说明我的网站是正常的
WriteFile(&D:\\log\\& + DateTime.Now.ToString(&yyyy-MM-dd&) + &.txt&,
&您监控的网站[url=http://sufei.cnblogs.com]http://sufei.cnblogs.com[/url]正常监控时间 & + DateTime.Now.ToString() + &\r\n&);
WriteFile(&D:\\log\\& + DateTime.Now.ToString(&yyyy-MM-dd&) + &.txt&,
&您监控的网站[url=http://sufei.cnblogs.com]http://sufei.cnblogs.com[/url]出现异常情况监控时间 &
+ DateTime.Now.ToString() + &\r\n&);
//如果不存在说明我的网站是不正常的
/// &summary&
/// 写文件
/// &/summary&
/// &param name=&_filePath&&文件路径&/param&
/// &param name=&TOEXCELLR&&要写入的内容&/param&
private void WriteFile(string _filePath, string TOEXCELLR)
//检查是否创建文档成功
if (CreateXmlFile(_filePath))
//写文本,
using (StreamWriter fs = new StreamWriter(_filePath, true, System.Text.Encoding.UTF8))
fs.Write(TOEXCELLR);
/// &summary&
/// 创建文件 的方法
/// &/summary&
/// &param name=&filepath&&路径&/param&
/// &returns&文件存在返True否在为False&/returns&
private static Boolean CreateXmlFile(string filepath)
//记录成功时的记录
if (!File.Exists(filepath))
using (StreamWriter xmlfs = new StreamWriter(filepath, true, System.Text.Encoding.UTF8))
xmlfs.Write(&&);
catch (Exception)
这样的话咱们的监控功能就算是实现了,
那么再来处理两个事件
[C#] 纯文本查看 复制代码/// &summary&
/// 停止服务时要执行的方法
/// &/summary&
protected override void OnStop()
aTimer.Enabled =
/// &summary&
/// 服务恢复时
/// &/summary&
protected override void OnContinue()
aTimer.Enabled =
好了咱们的监控程序算是大功告成了。
要怎么才能安装成为服务程序呢?一起来看一下吧,首先我们一添加一个这样的类
[C#] 纯文本查看 复制代码[RunInstaller(true)]
public partial class InstallerServices : System.Configuration.Install.Installer
/// &summary&
/// 必需的设计器变量。
/// &/summary&
private System.ComponentModel.Container components =
private System.ServiceProcess.ServiceProcessInstaller spI
private System.ServiceProcess.ServiceInstaller sI
public InstallerServices()
// 该调用是设计器所必需的。
InitializeComponent();
// TODO: 在 InitComponent 调用后添加任何初始化
#region Component Designer generated code
/// &summary&
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// &/summary&
private void InitializeComponent()
components = new System.ComponentModel.Container();
// 创建ServiceProcessInstaller对象和ServiceInstaller对象
this.spInstaller = new System.ServiceProcess.ServiceProcessInstaller();
this.sInstaller = new System.ServiceProcess.ServiceInstaller();
// 设定ServiceProcessInstaller对象的帐号、用户名和密码等信息
this.spInstaller.Account = System.ServiceProcess.ServiceAccount.LocalS
this.spInstaller.Username =
this.spInstaller.Password =
// 设定服务名称服务程序的名称
this.sInstaller.ServiceName = &Jinakong&;
// 设定服务的启动方式
this.sInstaller.StartType = System.ServiceProcess.ServiceStartMode.A
this.Installers.AddRange(new System.Configuration.Install.Installer[] { this.spInstaller, this.sInstaller });
#endregion
其实我们什么也不需要做只需要把这个类放在这里就行了,我们只要修改一个监控程序的服务名称就行了。
现在我们生成一个项目 ,来安装一下看看效果吧
安装的时候我们需要用.net的一个Installer工具
直接进入.net命令行(VS2010命令行提示工具大家自己打开吧,不会的可以上网找一下,呵呵)
4344.png (26.84 KB, 下载次数: 85)
16:38 上传
然后回车就行了
5815.png (30.04 KB, 下载次数: 69)
16:38 上传
好了服务程序安装好了,下面一起来启动一下吧,开始程序输入services.msc
5420.png (34.97 KB, 下载次数: 69)
16:38 上传
我们启动后等上个五分钟然后到我们事先设置好的日志文件夹下面来看看是什么效果 吧
4591.png (27.1 KB, 下载次数: 61)
16:38 上传
如果我们的服务程序写错了,要修改怎么办呢?其实卸载的方法很简单,只要在目录前加上了/u就行
0516.png (37.28 KB, 下载次数: 69)
16:38 上传
如果真的修改了其实还是更简单的方法,只要把服务停止 一下,然后覆盖一下你安装目录下的文件就OK了。
不需要卸载服务的。
程序写的比较简单,只当入个门吧
本帖被以下淘专辑推荐:
& |主题: 25, 订阅: 4
该用户从未签到
学习下!mark!
该用户从未签到
学习下了!mark!
该用户从未签到
该用户从未签到
不错,呵呵
该用户从未签到
我来看看看哈
TA的每日心情开心4&小时前签到天数: 526 天[LV.9]以坛为家II
asmin123 发表于
我来看看看哈
随便看免费
该用户从未签到
TA的每日心情擦汗 17:28签到天数: 1 天[LV.1]初来乍到
挺好,我应该入门了,哈哈
该用户从未签到
一直有写 服务. 最喜欢 给自己留...后门了

我要回帖

更多关于 怎么实现弹出提示窗体 的文章

 

随机推荐