怎么如何编辑游戏程序程序

百度经验——实用生活指南
搭乘出租车,女生需要格外注意保护自己。
小寒大寒,冻成一团
搭乘出租车,女生需要格外注意保护自己。
小寒大寒,冻成一团
广式菜远炒腊肠,色泽明亮、脆嫩鲜甜。
新鲜柠檬,搭配蜂蜜,美容养颜看得见。
新年贺卡,要的就是亲自动手的诚意。
扑克魔术,没你想的那么复杂
健康养生,从泡脚开始。
亲亲贺小鱼吧
BaikeJingYan
孤魂野01鬼
迷你木瓜奶油派,吃出星级餐厅的美味。
他二姨的家
宝宝上幼儿园哭,可不单单是不喜欢上学哦
Lucky金牛V587
注意,不是所有时候都适合锻炼
天行健881127
如果没有安装无线路由器,又该如何设置wifi共享呢?
beijixiong2689
shiyindong1988
xiaopengcxp
新房装修,甲醛味道一定要消除。格式:ppt&&&
贡献者:Milkhk
上传时间: 14:15
此文档归属以下专题
暂无相关专题
-------------
新增文件夹...
(多个标签用逗号分隔)
&如何编制管理流程图
工作流程图编制的方法
工作流程图编制的方法
分享到:&&
下载本文档需要登录,并付出相应积分。()
文件大小:411KB
所需积分:& 8
&2006-, All rights reserved.如何编写windows服务程序_百度知道
如何编写windows服务程序
提问者采纳
看了一篇文章《用C 语言编写Windows 服务程序的五个步骤》。但可能由于译者的疏忽,忘记了将关键代码放入该文档,导致初学者可能会看不懂。所以又查阅了相关资料。自己完成了《用C 语言编写Windows 服务程序的五个步骤》中的样例程序。在本文中我希望能给初学者一些帮助,大致讲一下编写windows服务程序需要的知识。首先Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。服务是有状态的,当我们使用windows自带的服务管理程序sc.exe查看服务状态时可以显示服务的当前状态,这个状态是由我们在程序代码中进行控制的。你最好在服务初始化的时候将服务设置为SERVICE_START_PENDING,当初始化完毕时设为SERVICE_RUNNING,这些状态是系统自定义的状态,可通过msdn查看其他状态。这个状态信息你会在sc.exe中看到。在编写windows服务程序过程中你需要关注的函数有:1.首先是main函数,由于windows服务不需要界面,所以大部分程序为win32控制台应用程序,所以程序主函数为main 而不是WinMain()。在主函数要做的主要工作就是初始化一个SERVICE_TABLE_ENTRY 分派表结构体,然后调用StartServiceCtrlDispatcher();这将把调用进程的主线程转换为控制分派器。该分派器启动一个新线程,该线程运行分派表中对应于你的服务的ServiceMain()函数。ServiceMain()函数将在下面提到。此过程示例代码如下:SERVICE_TABLE_ENTRY entrytable[2]; entrytable[0].lpServiceName=&testservice&; entrytable[0].lpServiceProc=(LPSERVICE_MAIN_FUNCTION)ServiceM entrytable[1].lpServiceName=NULL; entrytable[1].lpServiceProc=NULL;StartServiceCtrlDispatcher(entrytable);在这之后系统将自动创建一个线程去执行ServiceMain函数的内容,你应该将你要执行的任务在ServiceMain中循环,这样服务就开始运行了。2.ServiceMain函数为void WINAPI ServiceMain(int argc, char** argv)格式的函数,函数名字可以任意定义。它的作用就是:将你需要执行的任务放到该函数中循环执行即可。这就是服务程序的工作函数。在ServiceMain执行你的任务前,需要给SERVICE_TABLE_ENTRY 分派表结构体进行赋值,注意由于此时服务还没有开始执行你的任务所以我们将服务的状态设置为SERVICE_START_PENDING,即正在初始化。我们进行如下赋值:servicestatus.dwServiceType = SERVICE_WIN32; servicestatus.dwCurrentState = SERVICE_START_PENDING; servicestatus.dwControlsAccepted=SERVICE_ACCEPT_SHUTDOWN|SERVICE_ACCEPT_STOP;//在本例中只接受系统关机和停止服务两种控制命令 servicestatus.dwWin32ExitCode = 0; servicestatus.dwServiceSpecificExitCode = 0; servicestatus.dwCheckPoint = 0; servicestatus.dwWaitHint = 0; hstatus = ::RegisterServiceCtrlHandler(&testservice&, CtrlHandler);CtrlHandler为void WINAPI CtrlHandler(DWORD request)型的函数,函数名字可以任意设定。将在下一点讲到。Hstatus为SERVICE_STATUS_HANDLE类型的全局变量。当需要改变服务状态时SetServiceStatus()函数需要它做为参数来标识一个服务。3. void WINAPI CtrlHandler(DWORD request),函数的主要功能是,接收系统传递的控制命令,比如当你通过sc.exe关闭服务时,该函数会收到SERVICE_CONTROL_STOP消息,你就可以对服务进行必要的管理。在本例子程序中就只接收SERVICE_ACCEPT_SHUTDOWN和SERVICE_ACCEPT_STOP消息,这是通过前面给servicestatus赋值设定的。这样一个基本的服务程序就完成了。下面贴出我的示例代码仅供参考。#include #include #define SLEEP_TIME 5000 //间隔时间#define FILE_PATH &C:\\log.txt& //信息输出文件bool brun=SERVICE_STATUSSERVICE_STATUS_HANDLE int WriteToLog(char* str);void WINAPI ServiceMain(int argc, char** argv);void WINAPI CtrlHandler(DWORD request);int InitService(); int WriteToLog(char* str){ FILE* fopen_s(&pfile,FILE_PATH,&a+&); if (pfile==NULL) { return -1; } fprintf_s(pfile,&%s\n&,str); fclose(pfile); return 0;} void WINAPI ServiceMain(int argc, char** argv){ servicestatus.dwServiceType = SERVICE_WIN32; servicestatus.dwCurrentState = SERVICE_START_PENDING; servicestatus.dwControlsAccepted = SERVICE_ACCEPT_SHUTDOWN|SERVICE_ACCEPT_STOP;//在本例中只接受系统关机和停止服务两种控制命令 servicestatus.dwWin32ExitCode = 0; servicestatus.dwServiceSpecificExitCode = 0; servicestatus.dwCheckPoint = 0; servicestatus.dwWaitHint = 0; hstatus = ::RegisterServiceCtrlHandler(&testservice&, CtrlHandler); if (hstatus==0) { WriteToLog(&RegisterServiceCtrlHandler failed&); } WriteToLog(&RegisterServiceCtrlHandler success&); //向SCM 报告运行状态 servicestatus.dwCurrentState = SERVICE_RUNNING; SetServiceStatus (hstatus, &servicestatus); //下面就开始任务循环了,你可以添加你自己希望服务做的工作 brun= MEMORYSTATUS char str[100]; memset(str,'\0',100); while (brun) { GlobalMemoryStatus(&memstatus); int availmb=memstatus.dwAvailPhys/; sprintf_s(str,100,&available memory is %dMB&,availmb); WriteToLog(str); Sleep(SLEEP_TIME); } WriteToLog(&service stopped&);} void WINAPI CtrlHandler(DWORD request){ switch (request) { case SERVICE_CONTROL_STOP: brun= servicestatus.dwCurrentState = SERVICE_STOPPED; case SERVICE_CONTROL_SHUTDOWN: brun= servicestatus.dwCurrentState = SERVICE_STOPPED; default: } SetServiceStatus (hstatus, &servicestatus); }void main(){ SERVICE_TABLE_ENTRY entrytable[2]; entrytable[0].lpServiceName=&testservice&; entrytable[0].lpServiceProc=(LPSERVICE_MAIN_FUNCTION)ServiceM entrytable[1].lpServiceName=NULL; entrytable[1].lpServiceProc=NULL; StartServiceCtrlDispatcher(entrytable);} 如何安装服务:运行命令提示符 cmd.exe输入sc create testservicename binpath= D:\test.exe输入sc start testservicename 启动服务输入sc query 会在最底部显示你的服务当前的状态输入sc stop testservicename 停止服务输入sc delete testservicename删除服务,该服务将在下次重启后删除,在重启之前将不能注册同一个名字的服务。
其他类似问题
windows服务的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何编写电脑程序_百度知道
如何编写电脑程序
我有一次用别人的电脑时,在桌面上看到一个不知道是什么的文件,打开就出现一个简单的小窗口不能关掉,上面写“快说我是猪,不然几分钟后自动关机”貌似是这样,然后下面有一行可以打字,打什么都没用,最后我无奈只好打上我是猪,我想知道这个到底是怎么弄的
呵呵想学整人还是编程,你看到的只是编程很小的一个方面。编程分很多种,你看到的应该是一个vbs的脚本程序。c语言到c++是一种比较传统的也是功能最强到的后面的还有java ,c# ,asp,汇编 ,jsp ,.net ,vb ,等等吧软件专业学的比较系统。只是想整人的话学学vbs脚本编程就行想编写简单点的软件,入门容易的话就学一下vb想系统学习编程靠她吃饭的就学c++或者java(其实java也比较简单)
步行者===电子单片机团
其他类似问题
按默认排序
其他4条回答
那就是一个捉弄人的程序编程序 要先学会编程语言 比如c语言这个挺复杂的 要花一番功夫才能学好但是楼主想要直接模仿做一个程序 不在乎原理的话完全可以网上找一个其他捉弄人的程序的教学视屏学着那上面的做就ok了
哇,这位仁兄好神速啊,这种事我当然想明白原理啦,我还想前途往这方面发展呢
据我所知:1、二本以上大学里这门课是要开的。2、平常大城市里是有很多电脑学校的可以交钱去培训。c语言开始学难(本人经验)学到后面 上机多了就越来越简单了要到高手水平 得要人聪明
不要说我自恋,我觉得我够聪明
。。简单饿
开始-运行-输入CMD-回车-输入shutdown空格-a(都是主键盘区的shutdown后面有个空格)就不关机了饿。。
没什么,只是一段vbs代码而已
电脑程序的相关知识
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁怎么样编辑网络程序
怎么样编辑网络程序 10
我家电脑很爱中毒我想学学怎么样做程序跟系统。请问有人愿意说下的吗?
一、准备工作:
1.准备好Windows XP Professional 简体中文版安装光盘,并检查光驱是否支持自启动。
2.可能的情况下,在运行安装程序前用磁盘扫描程序扫描所有硬盘检查硬盘错误并进行修复,否则安装程序运行时如检查到有硬盘错误即会很麻烦。
3.用纸张记录安装文件的产品密匙(安装序列号)。
4.可能的情况下,用驱动程序备份工具(如:驱动精灵
Beta.exe)将原Windows XP下的所有驱动程序备份到硬盘上(如∶F:\Drive)。最好能记下主板、网卡、显卡等主要硬件的型号及生产厂家,预先下载驱动程序备用。
5.如果你想在安装过程中格式化C盘或D盘(建议安装过程中格式化C盘),请备份C盘或D盘有用的数据。
二、用光盘启动系统:
(如果你已经知道方法请转到下一步),重新启动系统并把光驱设为第一启动盘,保存设置并重启。将XP安装光盘放入光驱,重新启动电脑。刚启动时,当出现如下图所示时快速按下回车键,否则不能启动XP系统光盘安装。
三、安装Windows XP Professional
光盘自启动后,如无意外即可见到安装界面
全中文提示,“要现在安装Windows XP,请按ENTER”,按回车键后
许可协议,这里没有选择的余地,按“F8”
这里用“向下或向上”方向键选择安装系统所用的分区,如果你已格式化C盘请选择C分区,选择好分区后按“Enter”键回车
这里对所选分区可以进行格式化,从而转换文件系统格,或保存现有文件系统,有多种选择的余地,但要注意的是NTFS格式可节约磁盘空间提高安全性和减小磁盘碎片但同时存在很多问题 OS和98/Me下看不到NTFS格式的分区,在这里选“用FAT文件系统格式化磁盘分区(快),按“Enter”键回车
格式化C盘的警告,按F键将准备格式化c盘
由于所选分区C的空间大于2048M(即2G),FAT文件系统不支持大于2048M的磁盘分区,所以安装程序会用FAT32文件系统格式对C盘进行格式化,按“Enter”键回车
图7中正在格式化C分区;只有用光盘启动或安装启动软盘 启动XP安装程序,才能在安装过程中提供格式化分区选项;如果用MS-DOS启动盘启动进入DOS下,运行i386\winnt进行安装XP时,安装XP时没有格式化分区选项。格式化C分区完成后
图8中开始复制文件,文件复制完后,安装程序开始初始化Windows配置。然后系统将会自动在15秒后重新启动。重新启动后
过5分钟后,当提示还需33分钟时
区域和语言设置选用默认值就可以了,直接点“下一步”按钮
这里输入你想好的姓名和单位,这里的姓名是你以后注册的用户名,点“下一步”按钮
如果你没有预先记下产品密钥(安装序列号)就大件事啦!这里输入安装序列号,点“下一步”按钮
安装程序自动为你创建又长又难看的计算机名称,自己可任意更改,输入两次系统管理员密码,请记住这个密码,Administrator系统管理员在系统中具有最高权限,平时登陆系统不需要这个帐号。接着点“下一步”
日期和时间设置不用讲,选北京时间,点“下一步”
开始安装,复制系统文件、安装网络系统
让你选择网络安装所用的方式,选典型设置点“下一步”
点“下一步”
继续安装,到这里后就不用你参与了,安装程序会自动完成全过程。安装完成后自动重新启动,出现启动画面,
第一次启动需要较长时间,请耐心等候,接下来是欢迎使用画面,提示设置系统
点击右下角的“下一步”按钮,出现设置上网连接画面
这里建立的宽带拨号连接,不会在桌面上建立拨号连接快捷方式,且默认的拨号连接名称为“我的ISP”(自定义除外);进入桌面后通过连接向导建立的宽带拨号连接,在桌面上会建立拨号连接快捷方式,且默认的拨号连接名称为“宽带连接”(自定义除外)。如果你不想在这里建立宽带拨号连接,请点击“跳过”按钮。
在这里我先创建一个宽带连接,选第一项“数字用户线(ADSL)或电缆调制解调器”,点击“下一步”按钮
目前使用的电信或联通(ADSL)住宅用户都有帐号和密码的,所以我选“是,我使用用户名和密码连接”,点击“下一步”按钮,输入电信或联通提供的帐号和密码,在“你的ISP的服务名”处输入你喜欢的名称,该名称作为拨号连接快捷菜单的名称,如果留空系统会自动创建名为“我的ISP”作为该连接的名称,点击“下一步”按钮,如下图24所示
已经建立了拨号连接,微软当然想你现在就激活XP啦,不过即使不激活也有30天的试用期,又何必急呢?选择“否,请等候几天提醒我”,点击“下一步”按钮
输入一个你平时用来登陆计算机的用户名,点下一步
点击完成,就结束安装。系统将注销并重新以新用户身份登陆。登陆桌面
看到了蓝天白云的画面,你就知道是什么回事。可是桌面上就只有回收站一个图标。想找回常见的图标请看下面。
六、找回常见的图标
在桌面上点开始--&连接到--&宽带连接
左键点“宽带连接”不放手,将其拖到桌面空白处,可见到桌面上多了一个“宽带连接”快捷方式。然后,右键在桌面空白处点击,在弹出的菜单中选“属性”,即打开显示“属性窗口”
在图中单击“桌面”选项卡,
在图中的左下部点击“自定义桌面”按钮,
在图中的上部,将“我的文档”、“我的电脑”、“网上邻居”和“Internet Explorer”四个项目前面的空格上打钩,然后点“确定”,再“确定”,你将会看到桌面上多了你想要的图标。
相关知识等待您来回答
互联网领域专家

我要回帖

更多关于 学习编辑程序 的文章

 

随机推荐