永发信息网

DELPHI 如何打开同目录下的程序?

答案:5  悬赏:30  手机版
解决时间 2021-05-03 07:44

DELPHI 如何打开同目录下的程序?

目录下有123.EXE

怎么打开它呢?SHELLAPI的方法全给我

最佳答案

有一个函数 可以获取应用程序所在文件夹的路径


extractfilepath  利用这个函数 可以使你实现你所说的功能


extractfilepath(application.exename);


然后你可以使用api函数运行你同文件夹下的程序了


函数原型:


function   ExtractFilePath(const   FileName:   string):   string;   
  返回文件的路径


application.exename 或者是Paramstr(0)都可以使用


 ExtractFilePath(application.exename) 或者  ExtractFilePath(paramstr(0))


这两个都可以返回你应用程序所在文件夹路径

全部回答

比如打开跟程序同目录的文件 如abc.exe在c:/中 如何打开c:/abc/kk.txe 而不用loadformfile('c:/abc/kk.txt') 用('/abc/kk.txt')中的话

要利用ParamStr函数,ParamStr(0)能获取EXE文件名,然后用ExtractFileDir函数取出目录名,看我下面的例子程序: {$apptype console} program temp; uses sysutils; var s:string; begin s:=ExtractFileDir(ParamStr(0)); s:=s+'\abc\kk.txt'; writeln(s); end. 以上程序在DELPHI7下运行通过。

为了宣传下本站,我会长期来为大家解决关于ASP+ACCELL+SQL 与PHP+MYSQL的一些问题

本站网址: http://www.zhanzhangzhijia.com/ 欢迎站长或IT行业访问!

我看了您的问题,既然您说得出SHELLAPI哪么肯定知道ShellExecute,关键应该是‘同目录下’吧。应该是您程序内调用了其它目录,然后没返回做成的错误。应用ExtractFilePath(ParamStr(0))返回目录。

我想答案是ShellExecute(handle, 'open', PChar(ExtractFilePath(ParamStr(0))+'123.EXE'), nil, '',SW_SHOWMAXIMIZED);

其它几个NIL呀、SW_显示方式呀、''内的打开文件呀、运行参数什么的自己再多找找吧。

我随手粘贴一些您看应该已足够

方法一

  uses WinProcs;

  

例:WinExec('D:\GoldPacs\GoldConfig.exe',sw_normal);

方法二

  用ShellExecute更好,在USES段加入SHELLAPI,使用时如:

  执行"c:\myapp\myapp.exe"参数为"-s"

  ShellExecute(handle,'open','c:\myapp\myapp.exe','-s',',SW_SHOWNORMAL);

  第一个参数为父窗口句柄;

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

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

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

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

  第六个参数为为执行文件运行方式(SW_HIDE,SW_MAXIMIZE,SW_MINIMIZE,

  SW_RESTORE,SW_SHOW,SW_SHOWDEFAULT,SW_SHOWMAXIMIZED,SW_SHOWMINIMIZED,

  SW_SHOWMINNOACTIVE,SW_SHOWNA,SW_SHOWNOACTIVATE,SW_SHOWNORMAL);

  具体请看帮助。另外,如果为字符串参数,其中包含变量或运算的必需用PCHAr()函数。

如果你想省事,要求又没那么高的话

Winexec也可以的。

shellexecute(0,nil,pchar('123.exe),nil,nil,0);

关于ShellExecute函数:    在ShellAPI单元中,ShellExecute函数的定义为: function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,  Directory: PChar; ShowCmd: Integer): HINST; stdcall; 作用:打开或打印一个指定的文件; 参数说明:    hWnd hwnd,    //指向父窗口的句柄;    Operation: PChar,    //指向一个null结尾的串以指明要执行的操作;                          可以是"open","print","explore",NULL;    FileName: PChar,    //指向文件名或文件夹名串;    Parameters: PChar,  //指向一个null结尾的串以指明可执行文件的参数;                          如果FileName参数为文档,此参数应为NULL;    Directory: PChar,    //指向一个null结尾的串以指明默认目录;    ShowCmd: Integer    //文件在打开时是否显示;                          如果FileName参数为文档,此参数应为0;

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
请问电脑该怎样设置才可以在这台电脑限制别人
勇者斗恶龙3去天界的城,那里有个问问题的人
我要入团完美国际
帮我想一个男生的英文网名
万盛炭烤羊腿地址在什么地方,想过去办事
为什么我下载的炫舞更新后看不到脚下的徽章,
同一电脑在安装第二个系统时,会不会影响前一
求PSP龙珠z真武道会2美版完美存档
玉米芯的安全水份
我的好友只有100多个
天龙八部中珍兽装备怎么可以得到?
王爵山塆我想知道这个在什么地方
表示特惋惜心情的诗句,丈夫死了十一天了,特别
今天新开了个区我去看看了很无语!
我今天更新DNF更新一半就卡了这是怎么回事?
推荐资讯
哈市平房房价?
《记承天寺夜游》张怀民简介
我国拥有世界自然文化遗产和国家重点风景名胜
求这么一首外文歌曲。。
推荐几款看新闻浏览网页的手机
血分几种呀?
游戏厅 街 机 龙虎大满贯麻将 4番出现大满贯
八字喜火属土干什么行业好?
东老君营村这个地址在什么地方,我要处理点事
桌面便签哪个好,目前的桌面便签哪个更好用一
谁能给个多修剑魂PK的视频网站?
华为3OM BR204+路由器映射端口怎么设置?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?