首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎么将由服务启动的程序的界面显示出来

2013-01-01 
如何将由服务启动的程序的界面显示出来现在有一个服务,服务会定时的调用更新程序检查软件是否有更新。如果

如何将由服务启动的程序的界面显示出来
现在有一个服务,服务会定时的调用更新程序检查软件是否有更新。
如果检查到有更新,更新程序会显示一个界面让用户选择是否更新。
现在的问题是,更新程序的界面显示不出来,大家有什么好方法没?

最初用的是shellexec,后来偿试过creatprocess,都不行得
[解决办法]
服务程序会调用有界面的程序,但是这个有界面的程序就是不显示界面(程序功能有在执行),是CreateService参数的问题,要加上SERVICE_INTERACTIVE_PROCESS才行。。没仔细看MSDN哎。。

    schService = CreateService(schSCManager,s_ServiceName,
   s_ServiceName,           // service name to display 
        SERVICE_ALL_ACCESS,        // desired access 
        SERVICE_WIN32_OWN_PROCESS
[解决办法]
SERVICE_INTERACTIVE_PROCESS, // service type 
        SERVICE_AUTO_START,      // start type 
        SERVICE_ERROR_NORMAL,      // error control type 
        lpszBinaryPathName,        // service's binary 
        NULL,                      // no load ordering group 
        NULL,                      // no tag identifier 
        NULL,                      // no dependencies 
        NULL,                      // LocalSystem account 
        NULL);                     // no password

[解决办法]
把Service的Interactive设为true就行了。
[解决办法]

引用:
把Service的Interactive设为true就行了。
+1

热点排行