说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

请教高手:如何当一个程序被反复调用时利用command$?

编辑:说三道四文库 发布时间:2017-11-22 09:12
HTML文档下载 WORD文档下载 PDF文档下载
请教高手:如何当一个程序被反复调用时利用command$?

设:用VB开发的程序Myprg.exe被以myprg command$的方式调用(如在另一个VB开发的程序中用shell "myprg"+command$),当myprg已经在运行时,如果用户再一次以myprg command$的方式调用, 如何获取command$?

非常感谢!


                          Pingping
gz
不能再次获得command$?我的程序能够啊。
form code
Option Explicit

Private Sub Command1_Click()
    Shell App.Path & "\" & App.EXEName & " " & mycommand
End Sub

module code
Option Explicit
Public mycommand As String
Sub Main()
    Form1.Show
    If Len(Command$) Then
        MsgBox Command$
    End If
    mycommand = Command$ & "x"
End Sub
up
能搞定

我的“超级记事本”    就有这功能
http://yoya2000.myetang.com/zbx/index.htm

请参照“两个程序间的通讯”  
在www.21code.com有源代码   

我的问题是:
设我用VB开发了一个图形浏览程序,用户执行myprg a.bmp,myprg会启动并显示a.bmp, 当用户又一次执行myprg b.bmp时, myprg会显示b.bmp ...当用户又一次执行myprg c.bmp时, myprg会显示c.bmp ...
我知道你的意思,不过还是那样回答你。

因为第一个程序是不能获得第二个程序中的command参数的

所以只能用子类消息处理
感谢,
什麽叫"子类消息处理"?
可以用DDE技术实现的,给你个例子
Option Explicit

Const COMMANDLINE = "CommandLine="    '   注释:  还是为了省事,定义一个常量

Private Sub Form_LinkExecute(CmdStr As String, Cancel As Integer)
Static lngCount As Long
Dim Info As String

Info = txtInfo.Text     '注释:      保留原有信息

Select Case CmdStr        ' 注释:    CmdStr 是DDE程序传送过来的参数
  Case "Max"
    Me.WindowState = 2
    Info = Info + vbNewLine + "窗体已被最大化"
  Case "ShowTime"
    Info = Info + vbNewLine + "最后一次运行这个程序的时间是:" + Str(Now)
  Case "Count"
    lngCount = lngCount + 1
    Info = Info + vbNewLine + "你已经第" + Str(lngCount) + "次重复调用这个程序。" _
            + vbNewLine + "但怕您不多给工资,所以只运行了一个 ^_^"
End Select

If Left(CmdStr, Len(COMMANDLINE)) = COMMANDLINE Then
  Info = Info + vbNewLine + "新程序曾以命令行形式运行" + vbNewLine + "命令行为:" _
         + vbNewLine + Right(CmdStr, Len(CmdStr) - Len(COMMANDLINE))
End If

txtInfo.Text = Info    ' 注释:    把信息显示出来
'MsgBox Info
Cancel = False
End Sub

Private Sub LinkAndSendMessage(ByVal Msg As String)
Dim t As Long
PICDDE.LinkMode = 0              '注释:--
PICDDE.LinkTopic = "P1|FormDDE"  ' 注释:  |______连接DDE程序并发送数据/参数
PICDDE.LinkMode = 2            '   注释:  |      “|”为管道符,是“退格键”旁边的竖线,
PICDDE.LinkExecute Msg         '   注释:--        不是字母或数字!

t = PICDDE.LinkTimeout    ' 注释:--
PICDDE.LinkTimeout = 1    ' 注释:  |______终止DDE通道。当然,也可以用别的方法
PICDDE.LinkMode = 0      '  注释:  |      这里用的是超时强制终止的方法
PICDDE.LinkTimeout = t   ' 注释:--
End Sub

Private Sub Form_Load()
If App.PrevInstance Then '注释: 程序是否已经运行

  Me.LinkTopic = ""       '   注释: 这两行用于清除新运行的程序的DDE服务器属性,
  Me.LinkMode = 0          '  注释: 否则在连接DDE程序时会出乱子的

  LinkAndSendMessage "Max"  '        注释:--
  LinkAndSendMessage "Count" '       注释:  |-----连接DDE接受程序并传送数据/参数
  LinkAndSendMessage "ShowTime" '     注释:--

  If Command <> "" Then         '    注释: 如果有命令行参数,就传递过去
     LinkAndSendMessage COMMANDLINE + Command
  End If
  End                            '   注释:  结束新程序的运行
End If
End Sub
看懂了这个例子的话,应该能解决了吧
我也是从别人那里学的,现卖
从贝佐斯的14句言论看商业成功之道 5大宠物可穿戴式设备 Google CIO Ben Fried谈内部工具文化 【开源专访】Fourinone创始人彭渊:打造多合一的分布式并行计算框架 API优先架构或者胖瘦服务器之争 Windows Phone 8迎来Update3更新:支持更大屏幕 更多磁贴 AMD院士站台 异构计算与OpenCL编程师资培训首站清华开讲 Twitter、Square开创者Jack Dorsey的奇趣人生 利用CSS、JavaScript及Ajax实现图片预加载的三大方法 经典电影里的数学 15亿美元!软银联合GungHo收购手游巨头Supercell Oracle“炮轰”开源:称其永远无法在军事领域取得一席之地 零客户端:下一代计算分布模型 苹果聘奢侈品公司巴宝莉CEO Angela Ahrendts为零售主管 看看你会几个?9大最火的移动开发技能 为了进一步拴住用户:传亚马逊与HTC合作开发智能手机 三年?又三年!今年MDCC2013大不相同! 杨远骋:聚美优品与百度云推送的故事 糗事百科王坚:百度云推送让我们省心 10个最热JavaScript开源框架的社区活跃度对比 2013福布斯中国富豪榜:李彦宏第三、马化腾第五、马云第八 Storm又获东风,Hortonworks计划将其整合到Hadoop企业版 IBM CEO:预测高新技术 五个我最喜欢的方式 我伙呆,硅谷高级工程师年薪16.5万美金起 羡煞旁人的Supercell:Clash of Clans卫冕营收榜冠军 谷歌第三财季利润增36.5% 但摩托罗拉业务继续亏损2.48亿 针对应用开发者的几点建议:注意特征蔓延、加大用户评审…… Ubuntu中文衍生版UbuntuKylin 13.10正式发布 Web设计师和Web开发者之间的区别是什么? 在政府退出后,Google的量子计算机项目面临危机 SQL on Hadoop的最新进展及7项相关技术分享 一道三级上机题帮忙调试,很简单。 DirectShow 音频 视频 同步的问题! 哪里能找到asp.net+MSSQL2000空间? DirectShow 在网络上广播AVI,一开始还好,可是当文件播放了20分钟以后,接收端的声音就明显的和视频不同步了。 form表单的几个问题 谢谢帮助 Client端和Server端的Socket用什么方法判断数据接收完毕? 我觉得vb.net比c#的程序可读性更强一些,大家认为呢? 最近很少来CSDN了更别说VB版了散分 各位高手,请问TREE组件如何用啊? 蝶恋花——写在七夕(淡月儿) 写入数据库的图片 如何读出来啊 急急急 急!!!!!111111111 写入数据库的图片 如何读出来啊 急急急 急!!!!!111111111 求救!!在线等候!! FORTRAN 77與C語言之間互相使用 关于CBCGOutlookBar的问题 如何在Delphi中调用WINRAR或WINZIP动态链接库的接口???(急,急,急......) 请教DataGrid控件新增一行的问题。 在unixware中使用消息队列,当消息队列比较长并且创建的消息队列较多时,出现堵塞? 为什么我调用 GethostName 这个函数 返回值是 O 但是GetLastError 却返回14呢!? 怎么通过http协议联接数据库呢?或者怎么样远程联接数据库? 如何清除ds.tables中的数据 奇怪!用unescape函数解码出来的一部分字符只能用document.write()的方法来显示? 求救!!!!如果我是定向招生读的大学,和定向单位签订11年和约,如果我不想去定向单位工作,该负怎样的法律责任!!!! 冬天来了,春天还会远吗?——中国程序员的春天 请教无标题窗口怎么移动?? 听同学说用一个按钮可以实现后退两页的,那么三页也可以实现吧,怎样写? 用hibernate 如何实现分页 我不太明白这些版本控制到底最大的好处是什么? 程序运行时实时变量出错? 各位老兄,请问在java中怎么解决这样<Node Name="N1" Value="1" />的XML 哪有winamp3的“汉化补丁”,源程序我有 使用CSocket类时出现访问冲突 庆祝网站初建:一般的界面,实用的文章例子,欢迎大家参观我的网站http://vcp4.51.net 帮帮小弟吧~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 请教各位大侠:VFP中SQL语言应该怎么学?? 如何自行编写一个自释放的EXE文件?,分不够,可另开恭送 dll卸除时 我要做一些收尾工作 代码要写在哪里?? 请教各位大侠:VFP 中的程序应该怎么学???谢谢指教!! 如何修改Canon BJ-4650打印机驱动程序,实现A3纸的加长打印? 心语 使用ODBC连接MySQL数据库时在stderr处有错误输出 这样的函数名怎么调用 大家能说说你们看过的最吓人的恐怖片是哪一部么?欢迎讨论! WIN2K问题 怎样解决这个问题 两个很菜的问题,在线等待 我不能在WSADV5中显示JSP页面? 鼠标检测问题 仅运行一次的实例,如何分别打开多个文件? 一些对asp.net的编译问题,乞望大虾回答。 初学者问题,请各位高手教教我! 电子计算机技术至今仍遵行一位科学家的基本原理 完怎么组词 发挥想象思考:科学家在电脑上还会种出怎样的蔬菜呢? 周邦彦的《苏幕遮》里有一句“叶上初阳干宿雨”中的宿字到底读那个音?是读住宿的su(第四声)还是读一宿的xiou(第三声)我从字义看应该是xiou吧. 已知f(1-x/1+x)=1-x的平方/1+x的平方,则f(x)的解析式可取为... 古诗叶上初阳干宿雨>下一句 完组词有哪些 完的组词有哪些 已知椭圆经过点A(2.3),对称轴为坐标轴,离心率e=1/2求椭圆方程 求f(x)=2/(x的平方-x+1)最大值 f(x)=x的平方×/x-a/ 在[1,2]区间的最大值题目的意思是f(x)=X的平方乘以(X-a)的绝对值,求在[1,2]区间内f(x)的最大值 澳媒评论称中国买家推高悉尼房价四分之11年来最强风暴袭英国 海陆空交通大奥巴马巨资医保网站故障频出 副总裁被中断30年 美国与新西兰恢复联合军演迈克尔杰克逊私人医生刑满出狱 欲再获美国在欧反导基地开建 防范伊朗导弹引猫鼬欲擒毒蛇当美食 毒蛇凌厉反击赢得世界新闻报窃听丑闻开审 卡梅伦政府威浙江释疑吴英资产处置:困难重重 已追清华公布领军计划推荐学校 浙江三中学疑似Nexus5第一张照片流出 摄像美股收盘走低 道指收跌0.6%结束五张高丽会见玻利维亚总统莫拉莱斯乌克兰拟在供暖季用重油替代部分天然气福建省一男子持刀劫持摩托车司机未红先老:莫干山上的\"青年\"挑战美军赴非备战“生化危机”五角大楼加紧云南勐康边检站2天开通3起绿色通道救菲律宾举行地图展看点在哪儿中国剑客连夺两金 为练新人雷声只战团研究称为获取食物抢地盘 猩猩的攻击性洛阳有了“警民一键通” 报警求助挺方
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘