如何将由服务启动的程序的界面显示出来
现在有一个服务,服务会定时的调用更新程序检查软件是否有更新。
如果检查到有更新,更新程序会显示一个界面让用户选择是否更新。
现在的问题是,更新程序的界面显示不出来,大家有什么好方法没?
最初用的是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就行了。
[解决办法]