VB 判断程序运行的是源程序 还是从启动栏运行 或者快捷方式

xbj_hyml 2013-07-01 04:55:45
我现在做一个程序,需要判断程序运行后,是通过启动项运行,还是手动运行源程序?

搜了些资料说 通过命令参数来做--运行exe不会传递参数,启动项可以传递参数?
但具体怎么做?

注意一点是:我是要知道怎么将参数传进去给Command()(不是命令行),而不是Command()函数有值后怎么做
...全文
423 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xbj_hyml 2013-07-02
  • 打赏
  • 举报
回复
谢谢你们.. 我找到解决办法了,对我现在的程序来讲,利用API添加启动项的时候 有一个可以添加参数 所以...
Tiger_Zhao 2013-07-02
  • 打赏
  • 举报
回复
两种方式都是在 explorer.exe 下启动的独立进程,没有明确的区别。
xbj_hyml 2013-07-02
  • 打赏
  • 举报
回复
首先 谢谢喽上2位的用心解答.. 但我的问题还没有解决,可能是我描述的问题--“源程序” 的说法不对 源程序-不是说在IDE里面运行(这个我知道可以用参数),而是生成的exe文件, 所以问题是-执行 快捷方式与 exe源程序 的区别,怎么做? 我自己另外查了些资料,是不是这2者做不到这一点?
几罗星人 2013-07-02
  • 打赏
  • 举报
回复
从启动栏运行和从快捷方式运行是一样的,都是执行exe。不过如果是我们通过程序代码去创建的快捷方式,可以是不一样的,我们可以在创建快捷方式的时候在目标程序的那里加上程序的命令行。

例如举个最简单的例子来说明命令行是什么。假设编译之后的exe是:“E:\aaa.exe”,假设有一个名称为-shutcut的命令行。在通过Windows的运行窗口调用的时候就可以在运行窗口输入:
E:\aaa.exe -shutcut

(注意:“E:\aaa.exe”和“-shutcut”之间有一个空格不能少)按确定运行。

这样就和单纯地输入E:\aaa.exe有了区别,区别就是加入了一个-shutcut命令行。

这样在编写程序的时候就要我们能够知道传入的命令行是什么。我们可以使用command函数,不是按钮,区别开来。就以上面的例子来说,程序启动之后command函数获得的值是“-shutcut”,文本类型的。我们还可以换别的命令行,例如-123,那么command函数获得的值是“-123”。这样来说的话命令行的文本是无关紧要的,哪怕你的命令行只是“1”这个数字也没问题,你懂是什么意思就可以了。

再说一下怎么判断是不是在IDE里运行。我们在VB开发环境下,选择【工程】菜单的【工程1属性】(不一定是工程1,是你自己工程的名称),打开【工程1-工程属性】对话框,在选项卡中选择【生成】,下面就会有一个命令行,在里面输入例如“-IDE”,这是在VB中运行程序时VB会传进来的命令行,这时command函数获得的值是“-IDE”,这样你就知道现在是在开发环境里运行。填写好的工程属性对话框如下图所示:
worldy 2013-07-01
  • 打赏
  • 举报
回复
应该可以使用command来判断,但必须设置在ide菜单上,工程-属性-生成-命令行参数来设置一个特殊的值,比如“…&……%…&%&(fhgf(*&……¥” 然后在form_load中检查command参数 if command="“…&……%…&%&(fhgf(*&……¥”"then msgbox "运行于IDE" else msgbox "独立运行" end if command就是按上述方式使用,其实就是一个字符串,至于这个字符串要如何定义,安全看你想做什么了

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧