hejiankun 发表于 2007-7-20 10:41

紧急求助!关于vc

编了一个vc调用ansys的小程序,现在要做成安装文件,我的ansys装在C:\Program Files\Ansys Inc\v100\CommonFiles\tcl\bin\Intel
但是这个软件是给别人用的,也就是说别的机器上ansys装在d盘上,软件也能够调用ansys,该怎样做!!
源代码如下,(没有用到注册表编程)。请大哥大姐帮帮我啊。
STARTUPINFO si;
PROCESS_INFORMATION pi;
memset(&si,0,sizeof(si));
si.cb=sizeof(si);
si.dwFlags=STARTF_USESTDHANDLES;
si.wShowWindow=SW_SHOWMAXIMIZED;
::CreateProcess(NULL,"C:\\Program Files\\Ansys Inc\\v100\\ANSYS\\bin\\Intel\\ansys100.exe -b -p ane3fl -i D:\\shell2.txt -o D:\\shell2.out",
    NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);

WaitForSingleObject(pi.hProcess,INFINITE);

xiven2008 发表于 2007-7-20 21:19

二次开发,不会

:lol :lol :lol

koalabear 发表于 2007-7-21 09:50

楼主这么高明啊,能否把ansys二次开发传授一下经验?

rodge 发表于 2007-7-22 11:17

调用注册表,读取ansys的安装目录,将该目录用cstring变量保存,再将该变量应用到用::CreateProcess中,如果不用到注册表编程的话,很难实现,因为你不能保证对方是将ANSYS安装在哪里的。

hejiankun 发表于 2007-7-25 15:42

路径已经用注册表编程解决,现在版本也会产生问题,是不是所有版本的ansys都是上面那个目录。
只是 v100 和ansys100.exe数字不同???

hejiankun 发表于 2007-7-25 15:45

关于ansys不同版本的安装路径

是否所有的ansys安装都是下面的目录
\\Program Files\\Ansys Inc\\v100\\ANSYS\\bin\\Intel\\ansys100.exe
版本不同是不是只有v100和ansys100.exe这两个地方不同。
Program Files\\Ansys Inc\\v90\\ANSYS\\bin\\Intel\\ansys90.exe
Program Files\\Ansys Inc\\v80\\ANSYS\\bin\\Intel\\ansys80.exe
Program Files\\Ansys Inc\\v70\\ANSYS\\bin\\Intel\\ansys70.exe
上面是不是正确的??

hejiankun 发表于 2007-7-25 16:24

ansys版本不同vc应该怎样设计??
我用的是注册表编程!

rodge 发表于 2007-7-27 20:55

所应该是所有版本都有其安装目录,关于版本问题,我也不是很清楚,因为我以前做的是调用ansys9.0的,后来再安装8.0后,调用的还是9.0。再就是卸载9.0,再安装10.0的,调用的竟然是10.0。
我所做的只是将安装目录读取出来,调用ansys.exe,调用哪个就由程序自己决定,所以我觉得,在安装多版本的时候,会不会默认调用高版本?

rodge 发表于 2007-7-27 21:00

回复 #7 hejiankun 的帖子

是查询ansys.exe在注册表中Software\\Microsoft\\Windows\\CurrentVersion\\App Paths的路径,这样与版本不同的问题相对来说也好解决点
页: [1]
查看完整版本: 紧急求助!关于vc