当前位置:主页>销售管理软件> 列表

超难问题-服务进程启动exe程序 找简单的进销存软件

销售管理软件版1楼: 我写一个服务进程,然后在服务进程中启动另一可执行程序,
ShellExecute(0,''open'',pchar(可执行程序),nil,nil,SW_show);
然而很奇怪的问题产生了,可执行程序使用GetForegroundWindow函数时,一直是返回0,
如果是双击可执行程序则 GetForegroundWindow可以正常返回窗口句柄。
这个问题要解决?急呀,

2楼: 参考下
 第一个参数为父窗口句柄;

  第二个参数为打开方式(OPEN,PRINT两种);

  第三个参数为执行文件全路径;

  第四个参数为执行文件参数;

  第五个参数为执行文件开始运行时的初始目录;

  第六个参数为为执行文件运行方式(SW_HIDE,SW_MAXIMIZE,SW_MINIMIZE, 如简单的进销存软件

3楼: 问题是在服务进程中打开不行,正常双击打开是可以的。

4楼: ShellExecute(0,''open'',pchar(可执行程序),nil,nil,SW_show);
在服务进程中是没有Handle的
返回0是正常的

5楼: 用createprocess应该可以

6楼: 你去看一下‘windows安全性编程''就会明白了,服务程序启动的程序的桌面,是和IE的桌面不一样的,你永远也别想用服务程序来启动程序还想看到它的界面

销售管理软件版7楼: 允许服务和桌面交互打对钩即可。

8楼: interactive属性设成true就行了

9楼: 太久了,结贴

10楼: 多人接受答案了。