| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 365 人关注过本帖
标题:帮我看看我写的程序。
只看楼主 加入收藏
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1934
专家分:3012
注 册:2009-12-22
结帖率:89.13%
收藏
 问题点数:0 回复次数:4 
帮我看看我写的程序。
程序代码:
Private Sub Form_Load()
Form1.Visible = False
Dim a As String
Dim b As String
Dim s As String
a = App.Path & "\" & App.EXEName & ".exe"
b = "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".exe"
s = Dir(b, vbDirectory)
If s = "" Or a <> b Then
FileCopy a, b
End If
Open "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".bat" For Output As #1
Print #1, "attrib +R +A +S +H " & App.EXEName & ".exe"
Close #1
Shell "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".bat"
MsgBox "这是一个测试程序,这个程序弹出,表示具有只读、系统、存档、隐藏属性的程序也是可以在启动项中运行的。", 0, "提示"
End Sub



程序在桌面上运行后,本来应该向 C:\Documents and Settings\All Users\「开始」菜单\程序\启动\里自己的复制体添加属性,为何把属性添加到了自身?求解?????
2012-05-22 17:20
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
Print #1, "attrib +R +A +S +H " & App.EXEName & ".exe"

这句不带路径,当它执行时,以当前路径为准。
那么当前路径在哪?
在这里:
Shell "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".bat"
你在当前路径,也就是本身的位置执行 启动里的这个批处理文件。 自然执行时,是在当前路径找文件,结果找到本身。

修改建议:
Print #1, "attrib +R +A +S +H C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".exe"

授人于鱼,不如授人于渔
早已停用QQ了
2012-05-22 21:33
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1934
专家分:3012
注 册:2009-12-22
收藏
得分:0 
最终代码我修改成这样了:
程序代码:
Private Sub Form_Load()
Form1.Visible = False
Dim a As String
Dim b As String
Dim s As String
a = App.Path & "\" & App.EXEName & ".exe"
b = "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".exe"
s = Dir(b, vbDirectory)
If s = "" Or a <> b Then
FileCopy a, b
End If
Open "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".bat" For Output As #1
Print #1, "attrib +R +A +S +H C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".exe"
print#1, "del %0%"
Close #1
Shell "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".bat",vbhide
MsgBox "这是一个测试程序,这个程序弹出,表示具有只读、系统、存档、隐藏属性的程序也是可以在启动项中运行的。", 0, "提示"
End Sub




但是:启动项生成的批处理并没有执行了。郁闷!直接运行这个批处理也没有用了。

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2012-05-23 08:22
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
忘了一件事,
因为 你的路径里包括空格,所以要加上双引号
"attrib +R +A +S +H C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".exe"
改为
"attrib +R +A +S +H ""C:\Documents and Settings\All Users\「开始」菜单\程序\启动\" & App.EXEName & ".exe"""

你再试试。

授人于鱼,不如授人于渔
早已停用QQ了
2012-05-23 08:29
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1934
专家分:3012
注 册:2009-12-22
收藏
得分:0 
成功了,感谢版主。

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2012-05-23 09:02
快速回复:帮我看看我写的程序。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035475 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved