windows当前路径怎么写

当前路径怎么写

1.如何写文件的路径

相对路径:是相对而言.要看对象是谁?

你所写的两个路径是根相对路径.

你说的经常看到../什么什么的.那是指从这个当前文件,返回到它的上一级目录.

例如:

一个网页的存放位置在D:\a\game\index.asp

一个图片的存入位置在D:\a\game\images\01.GIF

如果要将图片插入到index.asp这个网页中.那么,这个图片在该网页中的路径为:images/01.gif

因为index.asp这个文件的位置和01.GIF所在的文件夹images是平级的关系.所以index.asp这个文件要先找到images这个文件夹,再从文件夹里找01.GIF文件.

我们再将情况变一下:

网页位置在:D:\a\game\index.asp

图片位置在:D:\a\images\01.GIF

那么,这个图片在该网页中的路径为:../images/01.GIF

这是因为index.asp在同级别的文件中没有01.GIF.因此它要先返回它的上一级目录,通过它的上一级目录查找到images目录下的01.GIF文件.

这下应该明白了吧?

网页里的路径得用/杠.不要用系统里的\杠.

2.HTML相对路径怎么写

HTML写相对路径的代码:

<html>

<body>

<center>

小说

<p><a href="/jinyong/sd.html">;《射雕英雄传》</a>

<a href="/gulong/scj.html">;《长生剑》</a></p>

</p></body>

</html>

相对index.html所有的目录而言:

“../”表示上一级目录开始

“./”表示当前同级目录开始

“/”表示根目录开始。

扩展资料

建一个源文件info.html,在info.html里要引用index.html文件作为超链接。

表示源文件所在目录的上一级目录,

假设info.html路径是:c:\Inetpub\ww wroot\sites\blabla\info.htm l

假设index.html路径是:c:\Inetpub\pub\wwwroot.

在info.html加入ind ex.html超链接的代码应该这样写:index.html

参考资料:搜狗百科 相对路径

3.新人c语言不懂文件的路径怎么写才规范

因为是转义字符

转义字符 意义 ASCII码值(十进制)

\a 响铃(BEL) 007

\b 退格(BS) ,将当前位置移到前一列 008

\f 换页(FF),将当前位置移到下页开头 012

\n 换行(LF) ,将当前位置移到下一行开头 010

\r 回车(CR) ,将当前位置移到本行开头 013

\t 水平制表(HT) (跳到下一个TAB位置) 009

\v 垂直制表(VT) 011

\\ 代表一个反斜线字符''\' 092

\' 代表一个单引号(撇号)字符 039

\" 代表一个双引号字符 034

\0 空字符(NULL) 000

\ddd 1到3位八进制数所代表的任意字符 三位八进制

\xhh 1到2位十六进制所代表的任意字符 二位十六进制

4.什么是绝对路径和相对路径

相对路径-以引用文件之网页所在位置为参考基础,而建立出的目录路径。因此,当保存于不同目录的网页引用同一个文件时,所使用的路径将不相同,故称之为相对。

绝对路径-以Web站点根目录为参考基础的目录路径。之所以称为绝对,意指当所有网页引用同一个文件时,所使用的路径都是一样的。

其实绝对路径与相对路径的不同处,只在于描述目录路径时,所采用的参考点不同。由于对网站上所有文件而言,根目录这个参考点对所有文件都是一样的,因此,运用以根目录为参考点的路径描述方式才会被称之为绝对路径。

以下为建立路径所使用的几个特殊符号,及其所代表的意义。

"."--代表目前所在的目录。

".."--代表上一层目录。

"/"--代表根目录。

接下来,我们假设读者所建立的Web站点拥有如下图所示目录路径。

假若要在Ref.htm文件中引用BeRef.gif文件时,其相对路径如下:

./SubDir2/BeRef.gif

上面的引用路径中,"."代表目前的目录(Dir1),所以"./SubDir2"代表目前目录下的SubDir2。其实,也可以省略"./"直接用下这个方式引用。

SubDir2/BeRef.gif

若使用绝对路径以根目录为参考点引用该文件时,引用路径如下:

/Dir1/SubDir2/BeRef.gif

如果Web站点的目录之结构如下图时

引用BeRef.gif文件的相对路径又是如何呢?

假若要在Ref.htm文件中引用BeRef.gif文件时其相对路径如下:

../SubDir2/BeRef.gif

上面的引用路径中,".."代表上一层目录,所以,/Dir2"代表上一层目录下的Dir2子目录。若使用绝对路径引用时,则引用路径如下:

/Dir2/BeRer.gif

我们再举一个比较复杂的例子,来比较一下相对路径与绝对路径的使用。假设在读者所建立之Web站点中,拥有如下图的目录路径。

我们用以一个表格来说明在上图的情况下,某文件引用另一文件时,所应使用的相对路径与绝对路径。

引用者

被引用者

相对路径

绝对路径

Ref1.htm

BeRef1.gif

../SubDir2/BeRef1.gif

/Dir1/SubDir2/BeRef1.gif

Ref2.htm

BeRef1.gif

../../Dir1/SubDir2/ BeRef1.gif

/Dir1/SubDir2/ BeRef1.gif

Ref1.htm

BeRef2.htm

../../Dir2/ BeRef2.htm

/Dir2/BeRef2.htm

Ref2.htm

BeRef2.htm

../BeRef2.htm

/Dir2/BeRef2.htm

上表中比较需要说明的是"../../"所代表的意义。

".."代表上一层目录,而"../../"所代表的是上一层目录的上一层目录。所以,从上表中可以看出,如果引用的文件存在于目前目录的子目录中,或者存在于上一层目录的

另一个子目录中,运用相对路径是比较方便的。如果不是时,则干脆利用绝对路径,还比较省事。从上表中,亦可以看出,当被引用的是同一个文件时,引用文件所使用的绝对路径是一样的。

5.获取文件夹下的一个文件路径怎么写

File类有两个常用方法可以得到文件路径一个是:getCanonicalPath(),另一个是:getAbsolutePath(),可以通过File类的实例调用这两个方法例如file.getAbsolutePath()其中file是File的实例对象。下面是一个具体例子:

public class PathTest

{

public static void main(String[] args)

{

File file = new File(".\\src\\baidu");

System.out.println(file.getAbsolutePath());

try

{

System.out.println(file.getCanonicalPath());

} catch (IOException e)

{

e.printStackTrace();

}

}

}

getAbsolutePath()和getCanonicalPath()的不同之处在于,getCanonicalPath()得到的是一个规范的路径,而getAbsolutePath()是用构造File对象的路径+当前工作目录。例如在上面的例子中.(点号)代表当前目录。getCanonicalPath()就会把它解析为当前目录但是getAbsolutePath()会把它解析成为目录名字(目录名字是点号)。

下面是上面程序在我电脑上的输出:

G:\xhuoj\konw\.\src\baidu

G:\xhuoj\konw\src\baidu

当前路径怎么写

windows服务怎么写

1. 用c#写windows服务 怎么写

1、在VS2010创建windows service工程,文件--新建--项目--windows服务,名称:TestWindowsService,设置server1的ServiceName属性为TestWindowsService 2、由于服务是要安装的,所以它运行的时候就需要一个安装类Installer将服务安装到计算机,新建一个后台服务安装类Install继承自Installer,安 装初始化的时候是以容器进行安装的,所以还要建立ServiceProcessInstaller和ServiceInstaller服务信息组件添加到 容器安装,在Install类增加如下代码: using System; using System.Collections.Generic; //using System.Linq; using System.Text; using System.Configuration.Install; using System.ComponentModel; namespace TestWindowsService { [RunInstaller(true)]//注意这里的属性Attribute设置 class Install : Installer { private System.ComponentModel.IContainer components = null; private System.ServiceProcess.ServiceProcessInstaller spInstaller; private System.ServiceProcess.ServiceInstaller sInstaller; 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.LocalSystem; this.spInstaller.Username = null; this.spInstaller.Password = null; // 设定服务名称 this.sInstaller.ServiceName = "TestWindowsService"; sInstaller.DisplayName = "后台Windows服务"; sInstaller.Description = "一个后台Windows运行的服务"; // 设定服务的启动方式 this.sInstaller.StartType = System.ServiceProcess.ServiceStartMode.Automatic; this.Installers.AddRange(new System.Configuration.Install.Installer[] { this.spInstaller, this.sInstaller }); } } } 3、点击Service1.cs的视图设计器,在“单击此处切换到代码视图”上右键--添加安装程序,就出现了ProjectInstaller.cs。

点击ProjectInstaller.cs--选择serviceInstaller1--设置ServiceName为TestWindowsService,StartType为Automatic。选择serviceProcessInstaller1--设置account为LocalSystem 点击运行--出现:“无法从命令行或调试器启动服务” 4、一个空的服务基本上搞定了,只是业务没有,就看怎么在服务器上安装部署了.C#写的Windows后台服务不能直接安装,需要借助.NET Framework里面的InstallUtil.exe安装工具安装,我们可以做成一个执行CMD命令的文件BAT文件来安装启动它,命令如下: %windir%\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe �%\TestWindowsService.exe 安装完成以后,我们可以在我的电脑管理服务里面看到才安装上的后台服务. 5、卸载:找到开始--运行--regedit,找到目录下的TestWindowsService: 删除后重新启动就可以了。

6、C#获取服务程序路径string PathBase = System.AppDomain.CurrentDomain.BaseDirectory; //-------------------另一种安装部署时添加注册表信息实现开机自启动------------------------ 使用VS自带的打包模块可以很方便的对项目进行打包部署,同时我们也可以在安装部署时操作注册表实现开机启动软件。具体实现如下: 创建安装部署这部分就不用说了,添加安装部署项目后,鼠标右键安装项目->视图->注册表, 要使软件在开机就运行,可以在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run中 添加键值保存软件目录。

在这里我们依次添加以上的项,然后在Run中添加键值,键名可以自己起,value要填软件的物理路径。物理路径是客户在部署确定 的,我们如何获取呢?这里我们可以使用[TARGETDIR]获取客户选择的路径,在加上软件的启动文件名称。

比如软件启动文件的名称是 Client.exe,那么Value的值就为:[TARGETDIR]Client.exe.生成安装项目。找到bin目录下的setup.exe文件 运行,安装结束后我们可以在注册表中找到相应的键值。

重启电脑系统就会自动运行我们设置的软件。

2. 如何编写windows服务程序

Windows提供了一套后台服务程序编程接口,用户在编写后台服务程序时需要遵循一定的编程框架,否则服务程序不能正常运行。

服务程序通常编写成控制台类型的应用程序,总的来说,一个遵守服务控制管理程序接口要求的程序 包含下面三个函数: 1)服务程序主函数(main):调用系统函数 StartServiceCtrlDispatcher 连接程序主线程到服务控制管理程序。 和其它进程一样,Main函数是服务进程的入口函数,服务控制管理器(SCM)在启动服务程序时,会从服务程序的main函数开始执行。

在进入点函数里面要完成ServiceMain的初始化,准确点说是初始化一个SERVICE_TABLE_ENTRY结构数组,这个结构记录了这个服务程序里面所包含的所有服务的名称和服务的进入点函数。然后再调用接口StartServiceCtrlDispatcher 。

Main函数的函数框架如下: int _tmain(int argc, _TCHAR* argv[]) { //服务入口点函数表 SERVICE_TABLE_ENTRY dispatchTable[]= { {TEXT(SZSERVICENAME),(LPSERVICE_MAIN_FUNCTION)Service_Main}, { NULL,NULL} }; if((argc>1)&&((*argv[1]=='-')||(argv[1]=="/"))) { /* 参数个数大于1是安装或者删除服务,该操作是由用户来执行的 当然也可以讲这一部分功能另写一个程序来实现 */ if(_stricmp("install",argv[1]+1)==0) { installService(); } else if(_stricmp("remove",argv[1]+1)==0) { removeService(); } else if(_stricmp("debug",argv[1]+1)==0) { bDebugServer=true; debugService(argc,argv); } } else { /* 如果未能和上面的如何参数匹配,则可能是服务控制管理程序来启动该程序。 立即调用StartServiceCtrlDispatcher 函数 */ g_logout.Logout("%s\n", "enter StartServiceCtrlDispatcher。

"); //通知服务管理器为每一个服务创建服务线程 if(!StartServiceCtrlDispatcher(dispatchTable)) g_logout.Logout("%s\n", "StartServiceCtrlDispatcher failed."); else g_logout.Logout("%s\n", "StartServiceCtrlDispatcher OK."); } return 0; } SCM启动一个服务程序之后,它会等待该程序的主线程去调StartServiceCtrlDispatcher。如果那个函数在两分钟内没有被调用,SCM将会认为这个服务有问题,并调用TerminateProcess去杀死这个进程。

这就要求你的主线程要尽可能快的调用StartServiceCtrlDispatcher。 2)服务入口点函数(ServiceMain):执行服务初始化任务,同时执行多个服务的服务进程有多个服务入口函数。

在服务入口函数里,必须立即注册服务控制回调函数。然后调用函数SetServiceStatus 通知SCM 服务现在的状态,否则SCM会认为服务启动失败。

ServiceMain函数框架如下: void WINAPI Service_Main(DWORD dwArgc, LPTSTR *lpszArgv) { //注册服务控制处理函数 sshStatusHandle=RegisterServiceCtrlHandler(TEXT(SZSERVICENAME),Service_Ctrl); //如果注册失败 if(!sshStatusHandle) { g_logout.Logout("%s\n", "RegisterServiceCtrlHandler failed。"); return; } //初始化 SERVICE_STATUS 结构中的成员 ssStatus.dwServiceType=SERVICE_WIN32_OWN_PROCESS; //可执行文件中只有一个单独的服务 ssStatus.dwServiceSpecificExitCode=0; ssStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP; //允许用SCP去停止该服务 //更新服务状态 if(ReportStatusToSCMgr(SERVICE_START_PENDING,//服务状态,服务仍在初始化 NO_ERROR, 3000)) //等待时间 SvcInit( dwArgc, lpszArgv ); //服务初始化函数 else g_logout.Logout("%s\n", "ReportStatusToSCMgr SERVICE_START_PENDING failed。

"); } 服务初始化函数SvcInit: 该函数的写法比较重要。在函数中创建一个等待事件,然后一直等待该事件。

该线程在服务接到请求之前一直处于挂起状态,直到接到服务停止消息。 VOID SvcInit( DWORD dwArgc, LPTSTR *lpszArgv) { /*创建事件*/ ghSvcStopEvent = CreateEvent( NULL, // default security attributes TRUE, // manual reset event FALSE, // not signaled NULL); // no name if ( ghSvcStopEvent == NULL) { ReportSvcStatus( SERVICE_STOPPED, NO_ERROR, 0 ); return; } // Report running status when initialization is complete. ReportSvcStatus( SERVICE_RUNNING, NO_ERROR, 0 ); // 在这里执行服务线程的创建。

while(1) { // 等待停止事件被触发 WaitForSingleObject(ghSvcStopEvent, INFINITE); ReportSvcStatus( SERVICE_STOPPED, NO_ERROR, 0 ); return; } } 3)控制服务处理程序函数(Handler):在服务程序收到控制请求时由控制分发线程引用。(此处是Service_Ctrl)。

void WINAPI Service_Ctrl(DWORD dwCtrlCode) { //处理控制请求码 switch(dwCtrlCode) { //先更新服务状态为 SERVICDE_STOP_PENDING,再停止服务。 case SERVICE_CONTROL_STOP: ReportStatusToSCMgr(SERVICE_STOP_PENDING,NO_ERROR,500); ServiceStop(); //由具体的服务程序实现 /*ssStatus.dwCurrentState=SERVICE_STOPPED;*/ //其它控制请求。

default: break; } } 3. 注意事项 1)安装服务可以另写一个程序。

3. 如何写一个windows 服务,用webservice调用

创建一个windows服务程序(新建项目->;左侧选windows->;右侧选windows服务),然后把生成的文件引入到windows服务的程序中

5、写调用事件(BeginImportUFData)

6、完成后编译生成一下,这时就会在此windows服务程序的bin文件夹下生成一个exe文件(如:MyNewService.exe

7、按以下方式安装

安装:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe 绝对路径\MyNewService.exe

卸载:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -u 绝对路径\MyNewService.exe

例如:(用dos命令窗口执行)

安装:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe E:\chengxu\MyNewService\MyNewService\bin\Debug\MyNewService.exe

【然后显示:正在安装程序集,最后显示:“提交”阶段成功完成】

卸载:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -u E:\chengxu\MyNewService\MyNewService\bin\Debug\MyNewService.exe

【最后提示:卸载完成】

启动、停止服务是window操作,找到管理-->;服务 操作

4. windows服务

1、Alerter Alerter(警示器)服务的进程名是Service.exe(即启动这个服务后在后台运行的进程名 称,可以通过任务管理器看到,下同)。

Alerter服务的功能是,WinXP将系统上发生的与 管理有关的事件以警示(Alert)信息传送至网络上指定的电脑或用户,例如当发生打印错 误或硬盘即将写满等事件,这类警示信息由WinXP的警示器服务(Alerter Service)收集 、送出。尽管Alerter依存的服务并没有Messenger(信使)服务,但Alerter服务必须依靠 后者才能送出信息,故在启动Alerter服务后还必须确定Messenger服务也在工作状态,而 接收的电脑也必须启动Messenger服务。

由于Alerter服务运行后,服务是用户可以发送“ 弹出(Pop-up)”信息给其他用户,这些信息有可能被攻击者用来实施攻击,如诱骗用户 修改口令等,从而造成安全隐患。同时该服务使得用户账号泄漏,也有可能被攻击者利用 来进行口令猜测攻击。

所以对于家庭单机用户,甚至对于绝大多数小型的局域网来说,这 个功能是完全可禁用的,不仅节省了系统资源和加快启动速度,也提高了机器的安全性。 2、Application Layer Gateway Service 简称“ALG”(应用层网关)的进程名是alg.exe,WinXP Home/Pro默认安装的启动类型为 手动。

ALG又被称为代理服务器(Proxy Server),是网络防火墙从功能层面上分类的一种 。当内部计算机与外部主机连接时,将由代理服务器担任内部计算机与外部主机的连接中 继者。

使用ALG的好处是隐藏内部主机的地址和防止外部不正常的连接,如果代理服务器上 未安装针对该应用程序设计的代理程序时,任何属于这个网络服务的封包将无法通过防火 墙。通俗点说,具体到ALG本身,它就是附带的Internet连接共享/防火墙的具体控管程序 ,如果你需要启动这二者,这个服务是必备的。

当然,只有一台计算机的上网家庭可以考 虑禁用这个服务,不过WinXP内置的防火墙效果还是不错的,如果不是坚持要用第三方的防 火墙,还是开着它吧。 3、Application Management AppMent(应用程序管理服务)的进程名是Svchost.exe,WinXP Home/Pro默认安装的启动 类型为手动,没有任何依存服务关系。

从Win2000开始,微软引入了一种基于MSI文件格式 (应用程序安装信息程序包文件)的全新、有效软件管理方案——即应用程序管理组件服 务(Application Management),它不仅管理软件的安装、删除,而且可使用此项服务修 改、修复现有应用程序,监视文件复原并通过复员排除基本故障等。通常这个服务我们保 持其默认状态较好。

可能许多朋友都有印象,当年ACDSee4.0刚发布时,由于安装制作上的考虑不周,并没有考 虑到那个时候大多数人的系统还并不支持MSI安装格式,结果只得又去下载安装一个名为W indows Installer的MSI辅助文件才解决问题。通常以MSI文件格式安装的软件十分好认, 比如说Office XP,当你安装后再次运行软件的安装程序时,它一般会有“重新安装”、“ 修复软件”、“卸载软件”多个选项,而不是以前安装程序那种就简单地卸载或覆盖安装 了事。

4、Automatic Updates Wuauserv(自动更新服务)的进程名是Svchost.exe,WinXP Home/Pro默认安装的启动类型 为自动,没有任何依存服务关系。这个是大家都非常熟悉的系统自动更新功能,就不多说 了。

用小猫上网而深受其苦的朋友记得在系统属性中关闭是不够的,还要将Automatic Up dates这个服务禁用才可以。以后需要更新,直接在IE中输入Windows Update网站地址htt p://v4.windowsupdate.microsoft.com/zhcn/default.asp手动更新即可。

5、Background Intelligent Transfer Service BITS(后台智能传输服务)的进程名是Svchost.exe,WinXP Home/Pro默认安装的启动类型 为手动,依赖于Remote Procedure Call、Workstation服务。微软宣称BITS能够利用剩余 的带宽传输文件,当网络切断或计算机重启时,后台智能传输服务会自动对文件传输加以 维护,当网络重新连接时,后台智能传输服务将从停止的地方继续开始传输文件。

其实这 个服务原是用来实现HTTP1.1服务器之间的信息传输,基本上它的应用也就是支持自动更新 时的断点续传。如果你禁用了Automatic Updates,留着它也没什么意义。

6、ClipBook ClipSrv(剪贴板查看器服务)的进程名是clipsrv.exe,WinXP Home/Pro默认安装的启动 类型为手动,依赖于Network DDE服务。ClipBook通过Network DDE和Network DDE DSDM提 供的网络动态数据交换服务,可查阅远程机器中的剪贴版,通俗地说ClipBook就是支持剪 贴版查看器(ClipBook Viewer)程序,该程序可允许剪贴页被远程计算机上的ClipBook浏 览。

例如有个较大的文档工程,由A、B、C共同开发。A负责Excel数据部分,B负责Visio制图部 分,而C负责将两部分文档整合。

C经常需要对A、B的数据进行拷贝,愚蠢的做法是C打开A 、B在网络邻居上共享的文档,然后将相关内容拷贝。而对Windows体系有一定了解的用户 应该听说过OLE这个东西,上面说的Excel数据和Visio制图都可以认为是独立的OLE对象, 如果A、B、C的3台机器上的ClipBook服务都为开启,就可。

5. 写的window 服务怎么启动

打开windows系统的系统服务,有以下几种方式:

1、右击我的电脑/计算机,点击管理,打开计算机管理。

依次选择服务和应用程序——服务。

2、使用快捷键和命令:

同时按下win+r键,在运行窗口中输入services.msc,即可打开服务。

用以上两种方法打开服务后,双击想要打开的的服务,选择启动。

以windows updata为例:

在服务状态选择“启动”,就可以打开服务,根据是否需要开机启动,启动类型可以选择自动或者手动,自动为开机自启。

6. windows服务

1、Alerter Alerter(警示器)服务的进程名是Service.exe(即启动这个服务后在后台运行的进程名 称,可以通过任务管理器看到,下同)。

Alerter服务的功能是,WinXP将系统上发生的与 管理有关的事件以警示(Alert)信息传送至网络上指定的电脑或用户,例如当发生打印错 误或硬盘即将写满等事件,这类警示信息由WinXP的警示器服务(Alerter Service)收集 、送出。尽管Alerter依存的服务并没有Messenger(信使)服务,但Alerter服务必须依靠 后者才能送出信息,故在启动Alerter服务后还必须确定Messenger服务也在工作状态,而 接收的电脑也必须启动Messenger服务。

由于Alerter服务运行后,服务是用户可以发送“ 弹出(Pop-up)”信息给其他用户,这些信息有可能被攻击者用来实施攻击,如诱骗用户 修改口令等,从而造成安全隐患。同时该服务使得用户账号泄漏,也有可能被攻击者利用 来进行口令猜测攻击。

所以对于家庭单机用户,甚至对于绝大多数小型的局域网来说,这 个功能是完全可禁用的,不仅节省了系统资源和加快启动速度,也提高了机器的安全性。 2、Application Layer Gateway Service 简称“ALG”(应用层网关)的进程名是alg.exe,WinXP Home/Pro默认安装的启动类型为 手动。

ALG又被称为代理服务器(Proxy Server),是网络防火墙从功能层面上分类的一种 。当内部计算机与外部主机连接时,将由代理服务器担任内部计算机与外部主机的连接中 继者。

使用ALG的好处是隐藏内部主机的地址和防止外部不正常的连接,如果代理服务器上 未安装针对该应用程序设计的代理程序时,任何属于这个网络服务的封包将无法通过防火 墙。通俗点说,具体到ALG本身,它就是附带的Internet连接共享/防火墙的具体控管程序 ,如果你需要启动这二者,这个服务是必备的。

当然,只有一台计算机的上网家庭可以考 虑禁用这个服务,不过WinXP内置的防火墙效果还是不错的,如果不是坚持要用第三方的防 火墙,还是开着它吧。 3、Application Management AppMent(应用程序管理服务)的进程名是Svchost.exe,WinXP Home/Pro默认安装的启动 类型为手动,没有任何依存服务关系。

从Win2000开始,微软引入了一种基于MSI文件格式 (应用程序安装信息程序包文件)的全新、有效软件管理方案——即应用程序管理组件服 务(Application Management),它不仅管理软件的安装、删除,而且可使用此项服务修 改、修复现有应用程序,监视文件复原并通过复员排除基本故障等。通常这个服务我们保 持其默认状态较好。

可能许多朋友都有印象,当年ACDSee4.0刚发布时,由于安装制作上的考虑不周,并没有考 虑到那个时候大多数人的系统还并不支持MSI安装格式,结果只得又去下载安装一个名为W indows Installer的MSI辅助文件才解决问题。通常以MSI文件格式安装的软件十分好认, 比如说Office XP,当你安装后再次运行软件的安装程序时,它一般会有“重新安装”、“ 修复软件”、“卸载软件”多个选项,而不是以前安装程序那种就简单地卸载或覆盖安装 了事。

4、Automatic Updates Wuauserv(自动更新服务)的进程名是Svchost.exe,WinXP Home/Pro默认安装的启动类型 为自动,没有任何依存服务关系。这个是大家都非常熟悉的系统自动更新功能,就不多说 了。

用小猫上网而深受其苦的朋友记得在系统属性中关闭是不够的,还要将Automatic Up dates这个服务禁用才可以。以后需要更新,直接在IE中输入Windows Update网站地址htt p://v4.windowsupdate.microsoft.com/zhcn/default.asp手动更新即可。

5、Background Intelligent Transfer Service BITS(后台智能传输服务)的进程名是Svchost.exe,WinXP Home/Pro默认安装的启动类型 为手动,依赖于Remote Procedure Call、Workstation服务。微软宣称BITS能够利用剩余 的带宽传输文件,当网络切断或计算机重启时,后台智能传输服务会自动对文件传输加以 维护,当网络重新连接时,后台智能传输服务将从停止的地方继续开始传输文件。

其实这 个服务原是用来实现HTTP1.1服务器之间的信息传输,基本上它的应用也就是支持自动更新 时的断点续传。如果你禁用了Automatic Updates,留着它也没什么意义。

6、ClipBook ClipSrv(剪贴板查看器服务)的进程名是clipsrv.exe,WinXP Home/Pro默认安装的启动 类型为手动,依赖于Network DDE服务。ClipBook通过Network DDE和Network DDE DSDM提 供的网络动态数据交换服务,可查阅远程机器中的剪贴版,通俗地说ClipBook就是支持剪 贴版查看器(ClipBook Viewer)程序,该程序可允许剪贴页被远程计算机上的ClipBook浏 览。

例如有个较大的文档工程,由A、B、C共同开发。A负责Excel数据部分,B负责Visio制图部 分,而C负责将两部分文档整合。

C经常需要对A、B的数据进行拷贝,愚蠢的做法是C打开A 、B在网络邻居上共享的文档,然后将相关内容拷贝。而对Windows体系有一定了解的用户 应该听说过OLE这个东西,上面说的Excel数据和Visio制图都可以认为是独立的OLE对象, 如果A、B、C的3台机器上的ClipBook服务都为开。

7. 怎样写脚本把windows服务改为手动

编写一个批处理文件,按照下列命令实例进行操作:

net start "服务名" (开启服务)

net stop "服务名" (关闭服务)

如果启动的服务名是词组时,服务名称两边要加双引号。

sc config 服务名 start= demand //手动

sc condig 服务名 start= auto //自动

sc config 服务名 start= disabled //禁用

sc start 服务名

sc stop 服务名

参考:

8. 如何编写windows服务程序

如何编写windows服务程序 By:张鹏/Hikvision 这两天想学习关于如何编写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)ServiceMain; 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; 2014下半年教师资格证统考大备战 中学教师资格考试 小学教师资格考试 幼儿教师资格考试 教师资格证面试 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赋值设定的。 这样一个基本的服务程序就完成了。

下面贴出我的示例代码仅供参考。该代码在vs2008中调试通过。

本文结束的时候会附上如何安装服务。 #include #include #define SLEEP_TIME 5000 //间隔时间 #define FILE_PATH "C:\\log.txt" //信息输出文件 bool brun=false; SERVICE_STATUS servicestatus; SERVICE_STATUS_HANDLE hstatus; int WriteToLog(char* str); void WINAPI ServiceMain(int argc, char** argv); void WINAPI CtrlHandler(DWORD request); int InitService(); int WriteToLog(char* str) { FILE* pfile; fopen_s(&pfile,FILE_PATH,"a+"); if (pfile==NULL) { return -1; } fprintf_s(pfile,"%s\n",str); fclose(pfile); return 0; } void WINAPI ServiceMain。

windows服务怎么写

转载请注明出处育才学习网 » windows当前路径怎么写

知识

罗梅芬用日文怎么写(罗钰潇日语怎么写)

阅读(21430)

本文主要为您介绍罗梅芬用日文怎么写,内容包括伊蕾娜日语怎么写,王雪菲用日文怎么说,张佳怡在日语中怎么写啊怎么读啊。罗 ら ラ ra钰 ぎょく ギョク gyoku潇 しょう シヨウ shou第一列:日语汉字,写法同汉字,都要用繁体,这三个都挺难写的,看

知识

邓先生的英文怎么写(1~40的英文怎么说)

阅读(10446)

本文主要为您介绍邓先生的英文怎么写,内容包括“邓先生”用英语怎么写,1~40的英文怎么说,漂亮英文beautiful缩写怎么写。1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 8 nine 10 te

知识

一个人布满皱纹怎么写(描写人物皱纹的句子)

阅读(9523)

本文主要为您介绍一个人布满皱纹怎么写,内容包括描写人物皱纹的句子,描写人物皱纹的句子,皱纹怎么描写。、老人脸上布满了皱纹,那一条条曲折不均的像是墙上斑驳的印迹,爬满了面容,留下了岁月的痕迹。2、外祖父是一位年过六旬的白发老人。在他

知识

登录接口怎么写(php登录的接口怎么写)

阅读(7768)

本文主要为您介绍登录接口怎么写,内容包括php登录的接口怎么写,网页登陆接口怎么做,网站登录接口程序怎么做。PHP 接口 接口 使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。我们可以通过int

知识

档案奖惩情况怎么写(奖惩情况怎么写)

阅读(9606)

本文主要为您介绍档案奖惩情况怎么写,内容包括奖惩情况怎么写,个人简历及奖惩情况怎么填写,个人简历里面奖惩情况怎么写。在简历里的“奖励”部分,列出与你所获得的并与你的求职目标相关的荣誉、奖励和奖金。你既可以按时间顺序排列,也可以按

知识

头孢克肟拼音怎么写(头孢克肟的肟念什么)

阅读(8008)

本文主要为您介绍头孢克肟拼音怎么写,内容包括头孢克肟片全名拼音,头孢克肟片全名拼音,头孢克肟的肟念什么。肟[wò] :是含有羰基的醛、酮类化合物与羟胺作用而生成的有机化合物,可以参与许多有机化学反应,例如经典的Beckmann重排就是肟为底

知识

一库搜用日语怎么写(日语一库是什么意思)

阅读(7998)

本文主要为您介绍一库搜用日语怎么写,内容包括日语大神来,看动漫里的主人公说一句:恰,一库搜这是什么意思,一库一库;一搜库这两个日语是什么意思怎么写,看片都有“一库”(日语)是什么意。一库的意思就是“出发,出去”的意思。日语「行く」的音译

知识

外租无人机广告怎么写(植保无人机广告语)

阅读(7005)

本文主要为您介绍外租无人机广告怎么写,内容包括求一个无人机创意广告词谢谢巨友们了,求一关于无人机的广告标语,求一关于无人机的广告标语我们公司是做无人机的,新成立的公司,求。DJI大疆创新研发的的MG-1农业植保机专为农村作业环境设计,

知识

河南话que怎么写(河南话的nenna怎么写)

阅读(6538)

本文主要为您介绍河南话que怎么写,内容包括que怎么写,河南话的nenna怎么写,que怎么写。尿一壶(niào yī hú)关系密切,观点一致。例:“他俩今天尿一壶啦。”●尿(niào)⑴、从尿道排泄的液体。⑵、排泄小便。⑶、不放

知识

国学经文的论文怎么写(国学征文该怎么写)

阅读(7120)

本文主要为您介绍国学经文的论文怎么写,内容包括国学征文该怎么写,弟子规的400论文,关于国学经典的征文怎么写。“子曰:“温故而知新,可以为师”……小时,总是觉得国学就是没用的,古人写的话,我们还需要背,每次老师教给我们时,我总是会让思想开一

知识

化学实验总结怎么写(化学实验报告小结怎么写)

阅读(5399)

本文主要为您介绍化学实验总结怎么写,内容包括化学实验总结怎么写,化学实验报告小结怎么写,化学实验小结怎么写。化学实验报告的书写: 一般情况下化学实验报告是根据实验步骤和顺序从七方面展开来写的: 1.实验目的:即本次实验所要达到的目标或

知识

蝴蝶豌豆拼音怎么写(豌豆的拼音是什么)

阅读(5833)

本文主要为您介绍蝴蝶豌豆拼音怎么写,内容包括蝴蝶怎么拼音的,豌豆的拼音是什么,蝴蝶的拼音是什么。豌豆的拼音是[wān dòu]。豌豆是豆科一年生攀援草本,高0.5-2米。全株绿色,光滑无毛,被粉霜。叶具小叶4-6片,托叶心形,下缘具

知识

海绵宝宝用英文怎么说(海绵宝宝用英文怎么说)

阅读(6515)

本文主要为您介绍海绵宝宝用英文怎么说,内容包括海绵宝宝用英语怎么说,海绵宝宝用英文怎么说,海绵宝宝英文名是什么。1. SPONGEBOB SQUAREPANTS 近期很夯的一步卡通影片《海绵宝宝》(SpongeBob SquarePants)是一系

知识

茶盏怎么用(茶盏在茶道中干嘛用)

阅读(5425)

本文主要为您介绍茶盏怎么用,内容包括茶盏怎么用我要写一篇200字左右的茶盏的使用说明,求指教,茶盏在茶道中干嘛用,问一下斗笠盏如何使用现在是不是很少有人使用它,它的意义。苏东坡的名句"从来佳茗似佳人",典型地代表了唐宋及以后的文人墨客,

知识

thinkpad小红点怎么用(怎么学习使用thinkpad小红点)

阅读(7589)

本文主要为您介绍thinkpad小红点怎么用,内容包括怎么学习使用thinkpad小红点,thinkpad小红点怎么用,求教:THINKPAD的小红点使用方法。Thinkpad 小红点最高效的使用方法为:左手拇指按左键,无操作时在左键待命2、右手拇指按右键,同时兼按空格键及