社区
VB基础类
帖子详情
如何设置当前应用的默认路径
yorgo
2003-10-10 11:30:26
我想修改当前的路径,让一些外部程序在某个路径下运行
现在遇到的问题是
1、shell可以运行外部程序,但是无法指定程序运行目录,我希望可以指定一下目录
2、shellexecute可以指定目录运行,但是执行成功后不返回pid,我希望得到pid从而可以控制外部运行程序的执行情况。
...全文
367
14
打赏
收藏
如何设置当前应用的默认路径
我想修改当前的路径,让一些外部程序在某个路径下运行 现在遇到的问题是 1、shell可以运行外部程序,但是无法指定程序运行目录,我希望可以指定一下目录 2、shellexecute可以指定目录运行,但是执行成功后不返回pid,我希望得到pid从而可以控制外部运行程序的执行情况。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yorgo
2003-10-15
打赏
举报
回复
已经使用createprocess解决问题
yorgo
2003-10-12
打赏
举报
回复
我用动态产生.bat文件暂时解决了问题。
to rainstormmaster
shell 指定的路径+文件名 可以执行程序,但是环境中程序执行的路径还在app.path下呢,我要求程序执行的时候,默认路径为执行程序所在目录或者是指定目录。
我会尝试使用createprocess看看可不可以
oxfordxyc
2003-10-12
打赏
举报
回复
学习中……
kmzs
2003-10-12
打赏
举报
回复
shell <全路径〉,<参数>
luolovegui
2003-10-12
打赏
举报
回复
chdir()
yorgo
2003-10-12
打赏
举报
回复
从网上下载一个xxx.zip的文件,为了不在客户端使用zip相关函数,所以改成xxx.exe的自解压包,设定自解压目录为默认目录。
实现的程序就是将这个自解压包下载到本地,然后调用执行这个自解压数据包。
现在的问题就是:如果你单纯运行了那个自解压数据包的话,他会将东西解压到app.path目录下。如果你使用shellexecute的指定运行目录的话,可以解压到你指定的目录,但是shellexecute不返回pid,你没有办法控制等解压完了以后在执行下面的程序。
我的思路没有变
rainstormmaster
2003-10-12
打赏
举报
回复
不知道你要实现什么功能,能详细说说吗?
我怀疑楼主的思路已经偏了
yorgo
2003-10-10
打赏
举报
回复
那个程序有特定用途,不能copy到app.path下面运行的,必须要在指定的路径运行,并且vb要等待运行完才继续下面的操作
wangchong
2003-10-10
打赏
举报
回复
你可以把要用的程序放在安装目录下!再用APP.PATH 目录 调用!
mgan
2003-10-10
打赏
举报
回复
旧这个可以搞定啊
shell 指定的路径+文件名
————————————
GOOD GOOD STUDY
DAY DAY UP
——————————
flc
2003-10-10
打赏
举报
回复
学习
rainstormmaster
2003-10-10
打赏
举报
回复
//那个程序有特定用途,不能copy到app.path下面运行的,必须要在指定的路径运行
shell 指定的路径+文件名
解决不了你的问题吗?
rainstormmaster
2003-10-10
打赏
举报
回复
shellexecute和shell都不行的话,就用功能最强大的CreateProcess
VB声明
Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, lpProcessAttributes As SECURITY_ATTRIBUTES, lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal lpCurrentDriectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long
说明
创建一个新进程(比如执行一个程序)
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
lpApplicationName String,要执行的应用程序的名字。可设为vbNullString;在这种情况下,应用程序的名字应在lpCommandLine参数的起始处出现
lpCommandLine String,要执行的命令行。可用GetCommandLine函数取得一个进程使用的命令行。Windows会尽可能地根据下述搜索顺序来查找执行文件:
(1)包含了父进程执行文件的目录
(2)父进程当前的目录
(3)由GetSystemDirectory返回的系统目录
(4)仅适于windows NT:16位系统目录
(5)由GetWindowDirectory返回的Windows目录
(6)由PATH环境变量指定的目录
lpProcessAttributes SECURITY_ATTRIBUTES,指定一个SECURITY_ATTRIBUTES结构,或传递零值(将参数声明为ByVal As Long,并传递零值)——表示采用不允许继承的默认描述符。该参数定义了进程的安全特性
lpThreadAttributes SECURITY_ATTRIBUTES,指定一个SECURITY_ATTRIBUTES结构,或传递零值(将参数声明为ByVal As Long,并传递零值)——表示采用不允许继承的默认描述符。该参数定义了进程之主线程的安全特性
bInheritHandles Long,TRUE表示允许当前进程中的所有句柄都由新建的子进程继承
dwCreationFlags Long,来自API32.TXT文件的一个或多个下述常数之一,它们都带有前缀CREATE_。下面这些用于VB程序员:
CREATE_SEPARATE_WOW_VDM(仅适用于NT) 启动一个16位的Windows应用程序时,强迫它在自己的内存空间运行
CREATE_SHARED_WOW_VDM(仅适用于NT) 启动一个16位的Windows应用程序时,强迫它在共享的16位虚拟机(VM)内运行
CREATE_SUSPENDED 立即挂起新进程。除非调用了ResumeThread函数函数,否则它不会恢复运行
也可能是下述常数之一,用于指定优先级
IDLE_PRIORITY_CLASS 新进程应该有非常低的优先级——只有在系统空闲的时候才能运行。基本值是4
HIGH_PRIORITY_CLASS 新进程有非常高的优先级,它优先于大多数应用程序。基本值是13。注意尽量避免采用这个优先级
NORMAL_PRIORITY_CLASS 标准优先级。如进程位于前台,则基本值是9;如在后台,则优先值是7
不要在VB中使用REALTIME_PRIORITY_CLASS
lpEnvironment Any,指向一个环境块的指针(环境缓冲区的头一个字符,或者环境块的地址)
lpCurrentDriectory String,新进程的当前目录路径。调用函数的时候,可用vbNullString指定当前目录
lpStartupInfo STARTUPINFO,指定一个STARTUPINFO结构,其中包含了创建进程时使用的附加信息
lpProcessInformation PROCESS_INFORMATION,该结构用于容纳新进程的进程和线程标识符。大多数情况下,一旦这个函数返回,父应用程序都会关闭两个句柄。
Top
suonety
2003-10-10
打赏
举报
回复
ChDrive App.Path
ChDir App.Path
【四】【QT开发
应用
】QT设计一个图片打开器,自动记忆上次打开的
路径
,配置文件ini的读取与写入,QSettings变量的简单使用,
当前
应用
程序的
路径
,拼接配置文件
路径
,
设置
默认
路径
问题1:如何记住上次打开的
路径
?问题2:如何指定
默认
的
路径
为 文档/图片?问题3:如何使图片自适应显示?
如何清理Windows系统中已失效或已删除
应用
的
默认
打开方式
设置
在使用Windows系统的过程中,我们可能会遇到一些问题:某些已卸载或失效的
应用
程序仍然出现在
默认
打开方式的列表中,这不仅显得杂乱,还可能影响我们快速找到正确的程序来打开文件。如图,显示
应用
已经被geek强制删除,注册表也已经清理干净,但还是无法在此位置消除此选项。
Linux终端只显示
当前
路径
Ubuntu下,
默认
情况下,对于终端,是显示出绝对的
路径
的。想要将Ubuntu的终端,中的绝对
路径
的显示,变成
当前
路径
(文件夹)的话,则需要去修改自己的.bashrc,将其中的小写的w,改为大写的W即可: (1)针对终端的标题title 从: # If this is an xterm set the title to user@host:dir case "$TERM" in
IDEA
设置
Maven
路径
对
当前
项目生效 && 永久生效
IDER解决问题
QProcess打开的
应用
程序,
当前
路径
是打开这个程序的程序的
路径
,还是这个程序本身的
路径
QProcess打开的
应用
程序,
当前
路径
是打开这个程序的程序的
路径
,还是这个程序本身的
路径
VB基础类
7,788
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章