OpenSCManager
OpenService
QueryServiceConfig
CloseServiceHandle
下面的是一组:)
CreateMutex(nil, True, 'SCKTSRVR');//这里创建互斥有什么用?'SCKTSRVR'是互斥量的名字吗?
    if GetLastError = ERROR_ALREADY_EXISTS then//GetLastError可以随时用吗?我没看见声明
    begin
      MessageBox(0, PChar(服务器已运行'), '系统提示', MB_ICONERROR);
      Halt;
    end;
下面的又是一组:
    Forms.Application.ShowMainForm := False;//什么意思?
    Forms.Application.CreateForm(TSocketForm, SocketForm);
     //上面句:等价于Application.CreateForm(TSocketForm, SocketForm);吗?
     //加个Forms干什么?
    SocketForm.Initialize(False);//这个窗体初始false啥意思哦?
    Forms.Application.Run;
麻烦大家了哈:)

解决方案 »

  1.   

    CreateMutex(nil, True, 'SCKTSRVR');//这里创建互斥有什么用?'SCKTSRVR'是互斥量的名字吗?
    是的,而且最好是唯一的。if GetLastError = ERROR_ALREADY_EXISTS then//GetLastError可以随时用吗?我没看见声明
    这个好象是得到系统的最后一次报错信息!Forms.Application.ShowMainForm := False;//什么意思?
    这个不太,没细看!Forms.Application.CreateForm(TSocketForm, SocketForm);
         //上面句:等价于Application.CreateForm(TSocketForm, SocketForm);吗?
         //加个Forms干什么?
    是的是等价的。加forms只是限定了,这是forms单元中的application变量。SocketForm.Initialize(False);//这个窗体初始false啥意思哦?
    这个也不太懂,没细看!
      

  2.   

    OpenSCManager
    OpenService
    QueryServiceConfig
    CloseServiceHandle
    这四个API是干什么的哦?有人知道吗?谢谢
      

  3.   

    OpenSCManager   //用来打开系统的服务管理
    OpenService     //打开服务
    QueryServiceConfig  //查询服务程序的配置信息
    CloseServiceHandle  //关闭服务句柄
    你一定是在看borland 公司提供的TCP/IP连接方式下提供的SCKTSRVR程序源代码
    这个程序提供了2种工作方式,
    1种方式就不普通的应用程序启动方式,运行方式为双击直接运行
    2种方式就是以服务的方式随系统一起启动,需要用命令行进行安装:
      在运行中输入:  路径\ScktSrvr.Exe -install下面的又是一组:
        Forms.Application.ShowMainForm := False;//程序启动后不显示主窗口
        Forms.Application.CreateForm(TSocketForm, SocketForm);
         //上面句:等价于Application.CreateForm(TSocketForm, SocketForm);吗?
         //回答:是相同的,加个Forms主要是因为SvcMgr,Forms两个单元内都有
         //名为Application的对象,Forms是指定要引用哪个单元的对象
         
        SocketForm.Initialize(False);
        //这个窗体初始false啥意思哦?
        //答:这个你去看看SocketForm.Initialize的代码就知道了
        Forms.Application.Run;
    CreateMutex(nil, True, 'SCKTSRVR');//这里创建互斥有什么用?'SCKTSRVR'是互斥量的名字吗?
    在整个系统中,只能创建唯一的一个'SCKTSRVR',也就是如果本程序正在运行就不会产生新实例
    (这个解释好象有点拗口,呵呵)
      

  4.   

    TCP/IP连接方式下提供的程序和基于COM+的程序有些什么区别和联系啊?
    这些我搞不懂,我很菜,高手帮帮忙嘛
      

  5.   

    TCP/IP连接和DCOM连接的区别你最好看看李维的书我只能大致说说,TCP/IP方式,需要要一个伺服程序调用服务器,上面的Scktsrvr就是这个伺服程序
    DCOM不需要任何伺服程序(实际是操作系统本身使用RPC提供了伺服程序的功能)TCP/IP方式连接比较快,但处理数据的效率较DCOM要低
    DCOM方式连接比较慢,但处理数据的效率要快一点,配置相对麻烦一些但实际应用中,DCOM有可能因为配置不好,或者关闭了RPC等使客户无法连接