shellexecute用不了怎么办?这几个方法帮你解决!

吉云

今天折腾一下ShellExecute这个东西,主要是遇到个小问题,想通过程序打开一个网页,结果死活打不开,感觉就像代码没执行一样,一点反应都没有。

一开始我以为是代码写错,反复检查几遍,确认没问题。然后我就开始上网搜,看看别人有没有遇到类似的情况。结果发现还真不少,很多人都说ShellExecute有时候会“罢工”,特别是打开网页的时候,如果电脑没有设置默认浏览器,就容易出现这种情况。

shellexecute用不了怎么办?这几个方法帮你解决!

找到问题就好办,网上也给出解决方法,基本上就是一段很简单的代码,我照着抄下来:

  • procedure *1Click(Sender: TObject);
  • var ExecuteResult: integer;
  • Path: string;

虽然咱也不太懂这代码啥意思,不过能解决问题就行。把这段代码加进去之后,果然,一点按钮,网页“唰”的一下就打开,问题解决!

不过这还没完,后来我又尝试用ShellExecute打开一个本地的文件,这回倒是不“罢工”,但是又出现新的问题:文件打开一次之后,就再也打不开,除非我把文件名改。

我又去网上搜一下,发现有人说URLDownloadToFile下载的文件只能用ShellExecute打开一次,再次下载并改名才行。我试一下,还真是这样!

然后我又搜到一种解决办法说是要以管理员身份运行程序,我也试试,步骤如下:

  • 右键点击要运行的程序所在的文件夹
  • 以管理员身份运行

今天这一通折腾,算是把ShellExecute给摸透一点。虽然还是有很多不明白的地方,但是至少以后再遇到类似的问题,我知道该怎么解决。

写代码这玩意儿,很多时候就是这样,遇到问题,解决问题,再遇到问题,再解决问题……在这个过程中,慢慢积累经验,慢慢成长。虽然过程有点“痛苦”,但每次解决完问题,还是挺有成就感的!

这回的实践就分享到这里,希望能帮到大家!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]