一个调用其它程序的问题。线上跪等......

auly403 2004-05-08 09:48:25
程序A用shellexecute调用一个程序B时,B的默认路径是A的默认路径,由于B是用他人的程序,他在使用文件的时候已经自动设置好, 所以每次启动都会装文件错误,有没有办法把B的默认路径设置为自己,
...全文
14 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
auly403 2004-05-08
也就是能够指定程序B的当前路径?
  • 打赏
  • 举报
回复
ygzdev 2004-05-08
晕,zhucde(【風間苍月】)(MVP)够残暴,哈哈

但这个程序自己单独运行的时候怎么办啊,再改过来?哈哈
  • 打赏
  • 举报
回复
zhucde 2004-05-08
用UltraEdit,把B程序的默认路径改掉.
  • 打赏
  • 举报
回复
yangxingbo 2004-05-08
动态链接库有着令人困惑的印象,部分原因是由于“链接库”这个词被放在几种不同的用语之后。除了动态链接库之外,我们也用它来称呼“目的码链接库”或“引用链接库”。

目的码链接库是带.LIB扩展名的文件。在使用连结程序进行静态连结时,它的程序代码就会加到程序的.EXE文件中。例如,在Microsoft Visual C++中,连同程序连结的一般C运行目的码链接库被称为LIBC.LIB。

引用链接库是目的码链接库文件的一种特殊形式。像目的码链接库一样,引用链接库有.LIB扩展名,并且被连结器用来确定程序代码中的函数调用来源。但引用链接库不含程序代码,而是为连结程序提供信息,以便在.EXE文件中建立动态连结时要用到的复位位表。包含在Microsoft编译器中的KERNEL32.LIB、USER32.LIB和GDI32.LIB文件是Windows函数的引用链接库。如果一个程序调用Rectangle函数,Rectangle将告诉LINK,该函数在GDI32.DLL动态链接库中。该信息被记录在.EXE文件中,使得程序运行时,Windows能够和GDI32.DLL动态链接库进行动态连结。

目的码链接库和引用链接库只用在程序开发期间使用,而动态链接库在运行期间使用。当一个使用动态链接库的程序运行时,该动态链接库必须在磁盘上。当Windows要运行一个使用了动态链接库的程序而需要调入该链接库时,动态链接库文件必须储存在含有该.EXE程序的目录下、目前的目录下、Windows系统目录下、Windows目录下,或者是在通过MS-DOS环境中的PATH可以存取到的目录下(Windows会按顺序搜索这些目录)。
  • 打赏
  • 举报
回复
niu_a 2004-05-08
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpVerb,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
注意参数lpDirectory
  • 打赏
  • 举报
回复
ygzdev 2004-05-08
说清楚一点!

如果B是在程序里面自己指定了路径的话,就不好做,但一般不会这么做
  • 打赏
  • 举报
回复
相关推荐
发帖
界面
加入

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2004-05-08 09:48
社区公告
暂无公告